public void UpdateDockItem(IDictionary <string, object> dict) { foreach (string key in dict.Keys) { if (key == "tooltip") { owner.SetRemoteText((string)dict [key]); } else if (key == "badge") { owner.SetRemoteBadgeText((string)dict [key]); } else if (key == "progress") { owner.Progress = (double)dict [key]; } else if (key == "message") { owner.SetMessage((string)dict [key]); } else if (key == "icon-file") { if (owner is IconDockItem) { (owner as IconDockItem).SetRemoteIcon((string)dict [key]); } } else if (key == "attention") { if ((bool)dict [key]) { owner.State |= ItemState.Urgent; } else { owner.State &= ~ItemState.Urgent; } } else if (key == "waiting") { if ((bool)dict [key]) { owner.State |= ItemState.Wait; } else { owner.State &= ~ItemState.Wait; } } } }