예제 #1
0
        void debugEngine_OnDebugStateChange(object sender, DebugStateChangedEventArgs e)
        {
            if (this.OnDebugStateChange != null)
            {
                this.OnDebugStateChange(this, e);
            }

            if (e.State == DebugState.Running)
            {
                if (this.currentFile != null)
                {
                    this.currentFile.Arrow.IsEnabled = false;
                    this.currentFile.Editor.Invalidate();
                }
                this.errorView.Visible2     = false;
                this.stackTraceView.Visible = false;
            }
            else
            {
                this.stackTraceView.ShowStackTrace(this.debugEngine.CurrentStackTrace);
                this.stackTraceView.Visible = true;

                if (e.State == DebugState.CaughtError)
                {
                    this.errorView.Visible2     = true;
                    this.errorView.ErrorMessage = this.debugEngine.CurrentError;
                }
            }
        }
예제 #2
0
        void stateViews_OnDebugStateChange(object sender, DebugStateChangedEventArgs e)
        {
            //if (IsSettlersFullscreen())
            if (e.State == DebugState.Running)
            {
                WinAPI.SetForegroundWindow(GlobalState.SettlersWindowHandle);
                WinAPI.ShowWindow(GlobalState.SettlersWindowHandle, WindowShowStyle.Restore);
            }
            else
            {
                WinAPI.SetForegroundWindow(this.Handle);
                WinAPI.ShowWindow(this.Handle, WindowShowStyle.Restore);
            }

            if (this.activeState != e.LuaState.StateView)
            {
                SwitchToState(e.LuaState);
            }
            else
            {
                UpdateDebuggerButtons();
            }
        }