示例#1
0
        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;
        }
示例#2
0
        /// <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);
                }
            }
        }