protected BarControl(IServiceProvider serviceProvider, NiCommandBar bar, IBarControl control) { if (serviceProvider == null) throw new ArgumentNullException("serviceProvider"); if (bar == null) throw new ArgumentNullException("bar"); _menuManager = (NiMenuManager)serviceProvider.GetService(typeof(INiMenuManager)); _env = (NiEnv)serviceProvider.GetService(typeof(INiEnv)); Bar = bar; Bar.AppearanceChanged += Bar_AppearanceChanged; var objectWithSite = control as INiObjectWithSite; if (objectWithSite != null) ErrorUtil.ThrowOnFailure(objectWithSite.SetSite(serviceProvider)); Control = control; Control.Tag = this; Control.QueryStatus += (s, e) => _menuManager.QueryStatus(Bar); UpdateItem(); _groupManager = new GroupManager(Bar, serviceProvider, Control); }
public void Dispose() { if (!_disposed) { Bar.AppearanceChanged -= Bar_AppearanceChanged; if (_groupManager != null) { _groupManager.Dispose(); _groupManager = null; } if (Control != null) { Control.Dispose(); Control = null; } _disposed = true; } }
public PopupControl(IServiceProvider serviceProvider, NiCommandBarPopup control, ToolStripItemDisplayStyle defaultDisplayStyle) : base(serviceProvider, control, defaultDisplayStyle) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } _serviceProvider = serviceProvider; _groupManager = new GroupManager(NiCommand, serviceProvider, Item); _menuManager = (NiMenuManager)serviceProvider.GetService(typeof(INiMenuManager)); var objectWithSite = Item as INiObjectWithSite; if (objectWithSite != null) { ErrorUtil.ThrowOnFailure(objectWithSite.SetSite(serviceProvider)); } Item.QueryStatus += (s, e) => _menuManager.QueryStatus(NiCommand); }