Example #1
0
 public override void BeforeDispose()
 {
     if (SelectionChanged != null)
     {
         //Remove all Events associated to this control (That haven't been unsubscribed !)
         foreach (Delegate d in SelectionChanged.GetInvocationList())
         {
             SelectionChanged -= (EventHandler)d;
         }
     }
 }
Example #2
0
 internal void tonyTabItem_Selected(SelectionChangedCancelEventArgs e)
 {
     if (SelectionChanged != null)
     {
         foreach (var method in SelectionChanged.GetInvocationList())
         {
             method.Method.Invoke(method.Target, new object[] { this, e });
             if (e.Cancel)
             {
                 break;
             }
         }
     }
 }
        public void Dispose()
        {
            _wireframeEffect.Effect.Dispose();
            _wireframeEffect = null;
            _selectedFacesEffect.Effect.Dispose();
            _selectedFacesEffect = null;
            VertexRenderer.Dispose();
            VertexRenderer = null;
            _lineGeometry.Dispose();
            _lineGeometry = null;

            if (SelectionChanged != null)
            {
                foreach (var d in SelectionChanged.GetInvocationList())
                {
                    SelectionChanged -= (d as SelectionChangedDelegate);
                }
            }


            _currentState?.Clear();
            _currentState = null;
        }
Example #4
0
 internal void RemoveEvents(IPluginClient pluginClient)
 {
     if (TabChanged != null)
     {
         foreach (PluginEventHandler handler in TabChanged.GetInvocationList())
         {
             if (handler.Target == pluginClient)
             {
                 TabChanged = (PluginEventHandler)Delegate.Remove(TabChanged, handler);
             }
         }
     }
     if (TabAdded != null)
     {
         foreach (PluginEventHandler handler2 in TabAdded.GetInvocationList())
         {
             if (handler2.Target == pluginClient)
             {
                 TabAdded = (PluginEventHandler)Delegate.Remove(TabAdded, handler2);
             }
         }
     }
     if (TabRemoved != null)
     {
         foreach (PluginEventHandler handler3 in TabRemoved.GetInvocationList())
         {
             if (handler3.Target == pluginClient)
             {
                 TabRemoved = (PluginEventHandler)Delegate.Remove(TabRemoved, handler3);
             }
         }
     }
     if (NavigationComplete != null)
     {
         foreach (PluginEventHandler handler4 in NavigationComplete.GetInvocationList())
         {
             if (handler4.Target == pluginClient)
             {
                 NavigationComplete = (PluginEventHandler)Delegate.Remove(NavigationComplete, handler4);
             }
         }
     }
     if (SelectionChanged != null)
     {
         foreach (PluginEventHandler handler5 in SelectionChanged.GetInvocationList())
         {
             if (handler5.Target == pluginClient)
             {
                 SelectionChanged = (PluginEventHandler)Delegate.Remove(SelectionChanged, handler5);
             }
         }
     }
     if (ExplorerStateChanged != null)
     {
         foreach (PluginEventHandler handler6 in ExplorerStateChanged.GetInvocationList())
         {
             if (handler6.Target == pluginClient)
             {
                 ExplorerStateChanged = (PluginEventHandler)Delegate.Remove(ExplorerStateChanged, handler6);
             }
         }
     }
     if (SettingsChanged != null)
     {
         foreach (PluginEventHandler handler7 in SettingsChanged.GetInvocationList())
         {
             if (handler7.Target == pluginClient)
             {
                 SettingsChanged = (PluginEventHandler)Delegate.Remove(SettingsChanged, handler7);
             }
         }
     }
     if (MouseEnter != null)
     {
         foreach (EventHandler handler8 in MouseEnter.GetInvocationList())
         {
             if (handler8.Target == pluginClient)
             {
                 MouseEnter = (EventHandler)Delegate.Remove(MouseEnter, handler8);
             }
         }
     }
     if (PointedTabChanged != null)
     {
         foreach (PluginEventHandler handler9 in PointedTabChanged.GetInvocationList())
         {
             if (handler9.Target == pluginClient)
             {
                 PointedTabChanged = (PluginEventHandler)Delegate.Remove(PointedTabChanged, handler9);
             }
         }
     }
     if (MouseLeave != null)
     {
         foreach (EventHandler handler10 in MouseLeave.GetInvocationList())
         {
             if (handler10.Target == pluginClient)
             {
                 MouseLeave = (EventHandler)Delegate.Remove(MouseLeave, handler10);
             }
         }
     }
     if (MenuRendererChanged != null)
     {
         foreach (EventHandler handler11 in MenuRendererChanged.GetInvocationList())
         {
             if (handler11.Target == pluginClient)
             {
                 MenuRendererChanged = (EventHandler)Delegate.Remove(MenuRendererChanged, handler11);
             }
         }
     }
 }