private void Disconnect(TrayMenuMonitorItem.ShowMode mode) { switch (mode) { case TrayMenuMonitorItem.ShowMode.Core: Addin.Factory.ProxyCountChanged -= Core_ProxyCountChanged; Addin.Factory.IsInitializedChanged -= Core_IsInitializedChanged; break; case TrayMenuMonitorItem.ShowMode.Settings: break; case TrayMenuMonitorItem.ShowMode.Console: Addin.Factory.Console.MessageAdded -= Console_MessageAdded; Addin.Factory.Console.MessageRemoved -= Console_MessageRemoved; Addin.Factory.Console.MessageClear -= Console_MessageClear; break; case TrayMenuMonitorItem.ShowMode.Diagnostics: break; case TrayMenuMonitorItem.ShowMode.Proxies: Addin.Factory.ProxyAdded -= Core_ProxyAdded; Addin.Factory.ProxyRemoved -= Core_ProxyRemoved; Addin.Factory.ProxyCleared -= Core_ProxyCleared; break; case TrayMenuMonitorItem.ShowMode.Options: break; default: throw new IndexOutOfRangeException(); } }
private RadioButton GetHeaderButton(TrayMenuMonitorItem.ShowMode mode) { foreach (KeyValuePair <RadioButton, object> item in ShownItems) { TrayMenuMonitorItem.ShowMode itemMode = (TrayMenuMonitorItem.ShowMode)item.Key.Tag; if (itemMode == mode) { return(item.Key); } } throw new ArgumentOutOfRangeException(); }
/// <summary> /// Get Category Visibility /// </summary> /// <param name="mode">target mode</param> /// <returns>visibilty</returns> public bool GetModeVisible(TrayMenuMonitorItem.ShowMode mode) { if (InvokeRequired) { return((bool)Invoke(new Func <TrayMenuMonitorItem.ShowMode, bool>(GetModeVisible), mode)); } else { RadioButton button = GetHeaderButton(mode); return(button.Visible); } }
/// <summary> /// Set current view mode /// </summary> /// <param name="mode">target mode</param> public void SetCurrentMode(TrayMenuMonitorItem.ShowMode mode) { if (InvokeRequired) { Invoke(new Action <TrayMenuMonitorItem.ShowMode>(SetCurrentMode), mode); } else { RadioButton button = GetHeaderButton(mode); if (!button.Visible) { HeaderRadioButton_CheckedChanged(button, EventArgs.Empty); } } }
/// <summary> /// Set View Category Visibility /// </summary> /// <param name="mode">target mode, Core is unsupported</param> /// <param name="visible">visibilty</param> public void SetModeVisible(TrayMenuMonitorItem.ShowMode mode, bool visible) { if (InvokeRequired) { Invoke(new Action <TrayMenuMonitorItem.ShowMode, bool>(SetModeVisible), mode, visible); } else { if (mode != TrayMenuMonitorItem.ShowMode.Core) { RadioButton button = GetHeaderButton(mode); if (button == SelectedHeaderButton) { HeaderRadioButton_CheckedChanged(CoreRadioButton, EventArgs.Empty); } button.Visible = visible; } } }
private void UpdateMode() { TrayMenuMonitorItem.ShowMode mode = (TrayMenuMonitorItem.ShowMode)SelectedHeaderButton.Tag; Mode = mode; }
/// <summary> /// Get current category visibilty /// </summary> /// <param name="mode">target mode</param> /// <returns>visibility</returns> public bool GetModeVisible(TrayMenuMonitorItem.ShowMode mode) { return(_control.GetModeVisible(mode)); }
/// <summary> /// Enable or disable category visibilty. Core is ignored /// </summary> /// <param name="mode">mode to set</param> /// <param name="visible">visibility</param> public void SetModeVisible(TrayMenuMonitorItem.ShowMode mode, bool visible) { _control.SetModeVisible(mode, visible); }