public ShellEventsListener(DTE2 dte) { appObject = dte; dteEvents = dte.Events.DTEEvents; debugEvents = dte.Events.DebuggerEvents; currentMode = ShellHelper.GetMode(appObject); dteEvents.ModeChanged += InternalModeChanged; debugEvents.OnEnterBreakMode += OnEnterBreakMode; debugEvents.OnEnterDesignMode += OnEnterDesignMode; debugEvents.OnEnterRunMode += OnEnterRunMode; }
/// <summary> /// Update the current IDE mode and fire proper notification events. /// </summary> protected void FireEventAndUpdateMode(ShellModes m) { if (m != currentMode) { ShellModes prevMode = currentMode; currentMode = m; // fire notification: if (ModeChanged != null) { ModeChanged(this, appObject, currentMode, prevMode); } } }