void OnViewChanged(object sender, EventArgs args) { if (viewProvider != null) { this.dynamicProviders.Remove(viewProvider); viewProvider.ItemsChanged -= OnProviderItemsChanged; } //only treat active ViewContent as a Toolbox consumer if it implements IToolboxConsumer if (IdeApp.Workbench.ActiveDocument != null && IdeApp.Workbench.ActiveDocument.ActiveView != null) { CurrentConsumer = IdeApp.Workbench.ActiveDocument.ActiveView.GetContent <IToolboxConsumer> (); viewProvider = IdeApp.Workbench.ActiveDocument.ActiveView.GetContent <IToolboxDynamicProvider> (); customizer = IdeApp.Workbench.ActiveDocument.ActiveView.GetContent <IToolboxCustomizer> (); if (viewProvider != null) { this.dynamicProviders.Add(viewProvider); viewProvider.ItemsChanged += OnProviderItemsChanged; OnToolboxContentsChanged(); } } else { CurrentConsumer = null; viewProvider = null; customizer = null; } }
void OnProviderExtensionChanged(object s, ExtensionNodeEventArgs args) { if (args.Change == ExtensionChange.Add) { IToolboxDynamicProvider dyProv = args.ExtensionObject as IToolboxDynamicProvider; if (dyProv != null) { dynamicProviders.Add((IToolboxDynamicProvider)args.ExtensionObject); dyProv.ItemsChanged += OnProviderItemsChanged; } IToolboxDefaultProvider defProv = args.ExtensionObject as IToolboxDefaultProvider; if (defProv != null) { RegisterDefaultToolboxProvider(defProv); } } else if (args.Change == ExtensionChange.Remove) { IToolboxDynamicProvider dyProv = args.ExtensionObject as IToolboxDynamicProvider; if (dyProv != null) { dyProv.ItemsChanged -= OnProviderItemsChanged; dynamicProviders.Remove(dyProv); } } OnToolboxContentsChanged(); }
void OnViewChanged (object sender, EventArgs args) { if (viewProvider != null) { this.dynamicProviders.Remove (viewProvider); viewProvider.ItemsChanged -= OnProviderItemsChanged; } //only treat active ViewContent as a Toolbox consumer if it implements IToolboxConsumer if (IdeApp.Workbench.ActiveDocument != null && IdeApp.Workbench.ActiveDocument.ActiveView != null) { CurrentConsumer = IdeApp.Workbench.ActiveDocument.ActiveView.GetContent<IToolboxConsumer> (); viewProvider = IdeApp.Workbench.ActiveDocument.ActiveView.GetContent<IToolboxDynamicProvider> (); customizer = IdeApp.Workbench.ActiveDocument.ActiveView.GetContent<IToolboxCustomizer> (); if (viewProvider != null) { this.dynamicProviders.Add (viewProvider); viewProvider.ItemsChanged += OnProviderItemsChanged; OnToolboxContentsChanged (); } } else { CurrentConsumer = null; viewProvider = null; customizer = null; } }