예제 #1
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            Text = "MOSA GDB Debugger v" + CompilerVersion.VersionString;

            dockPanel.SuspendLayout(true);
            dockPanel.DockTopPortion = 75;

            controlView.Show(dockPanel, DockState.DockTop);
            statusView.Show(controlView.PanelPane, DockAlignment.Right, 0.50);

            breakPointView.Show(dockPanel, DockState.DockBottom);
            watchView.Show(breakPointView.PanelPane, DockAlignment.Right, 0.50);

            displayView.Show(dockPanel, DockState.Document);
            outputView.Show(dockPanel, DockState.Document);

            //scriptView.Show(dockPanel, DockState.Document);
            registersView.Show(dockPanel, DockState.DockRight);
            stackFrameView.Show(registersView.Pane, DockAlignment.Bottom, 0.5);

            sourceView.Show(dockPanel, DockState.Document);
            sourceDataView.Show(dockPanel, DockState.Document);

            //stackFrameView.Show(dockPanel, DockState.DockRight);

            var memoryView = new MemoryView(this);

            memoryView.Show(dockPanel, DockState.Document);
            symbolView.Show(dockPanel, DockState.Document);

            instructionView.Show(symbolView.PanelPane, DockAlignment.Right, 0.35);
            methodView.Show(instructionView.PanelPane, instructionView);
            callStackView.Show(instructionView.PanelPane, DockAlignment.Bottom, 0.25);

            registersView.Show();

            dockPanel.ResumeLayout(true, true);

            CalculateVMHash();

            LauncherOptions.SerialConnectionOption = SerialConnectionOption.TCPServer;
            LauncherOptions.SerialConnectionPort   = 1250;

            if (LauncherOptions.ImageFile != null)
            {
                VMProcess = StartQEMU();
            }
            LoadDebugFile();
            if (LauncherOptions.AutoStart)
            {
                System.Threading.Thread.Sleep(3000);
                Connect();
            }

            LoadBreakPoints();
            LoadWatches();
        }
예제 #2
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            Text = "MOSA GDB Debugger v" + CompilerVersion.VersionString;

            dockPanel.SuspendLayout(true);
            dockPanel.Theme          = new VS2015DarkTheme();
            dockPanel.DockTopPortion = 88;

            controlView.Show(dockPanel, DockState.DockTop);
            statusView.Show(controlView.PanelPane, DockAlignment.Right, 0.50);

            breakPointView.Show(dockPanel, DockState.DockBottom);
            watchView.Show(breakPointView.PanelPane, DockAlignment.Right, 0.50);

            launchView.Show(dockPanel, DockState.Document);
            displayView.Show(dockPanel, DockState.Document);
            traceView.Show(dockPanel, DockState.Document);
            outputView.Show(dockPanel, DockState.Document);

            //scriptView.Show(dockPanel, DockState.Document);
            registersView.Show(dockPanel, DockState.DockRight);
            stackFrameView.Show(registersView.Pane, DockAlignment.Bottom, 0.5);

            sourceView.Show(dockPanel, DockState.Document);

            sourceDataView.Show(dockPanel, DockState.Document);

            var memoryView = new MemoryView(this);

            memoryView.Show(dockPanel, DockState.Document);

            symbolView.Show(dockPanel, DockState.Document);

            methodParametersView.Show(symbolView.PanelPane, DockAlignment.Right, 0.35);

            instructionView.Show(methodParametersView.PanelPane, DockAlignment.Bottom, 0.85);
            methodView.Show(instructionView.PanelPane, instructionView);

            callStackView.Show(instructionView.PanelPane, DockAlignment.Bottom, 0.25);

            registersView.Show();
            launchView.Show();

            dockPanel.ResumeLayout(true, true);

            if (ImageFile != null)
            {
                LaunchImage();
            }
        }
예제 #3
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            dockPanel.SuspendLayout(true);
            dockPanel.DockTopPortion = 75;

            controlView.Show(dockPanel, DockState.DockTop);
            statusView.Show(controlView.PanelPane, DockAlignment.Right, 0.50);

            breakPointView.Show(dockPanel, DockState.DockBottom);
            watchView.Show(breakPointView.PanelPane, DockAlignment.Right, 0.50);

            displayView.Show(dockPanel, DockState.Document);
            outputView.Show(dockPanel, DockState.Document);

            //scriptView.Show(dockPanel, DockState.Document);
            registersView.Show(dockPanel, DockState.DockRight);

            //flagView.Show(dockPanel, DockState.DockRight);
            //stackView.Show(dockPanel, DockState.DockRight);
            stackFrameView.Show(dockPanel, DockState.DockRight);

            var memoryView = new MemoryView(this);

            memoryView.Show(dockPanel, DockState.Document);
            symbolView.Show(dockPanel, DockState.Document);

            instructionView.Show(symbolView.PanelPane, DockAlignment.Right, 0.35);
            methodView.Show(instructionView.PanelPane, instructionView);
            callStackView.Show(instructionView.PanelPane, DockAlignment.Bottom, 0.25);

            registersView.Show();

            dockPanel.ResumeLayout(true, true);

            if (Options.AutoConnect)
            {
                Connect();
            }

            if (Options.DebugInfoFile != null)
            {
                LoadDebugData.LoadDebugInfo(Options.DebugInfoFile, DebugSource);
            }
        }
예제 #4
0
        private void ShowStatusView()
        {
            if (statusView == null)
            {
                statusView = new StatusView {
                    DataContext = statusViewModel
                };

                statusView.Closing += ((arg_1, arg_2) => statusView = null);
                statusView.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
                statusView.Show();
                UpdateStatusView();
            }
            else
            {
                statusView.Activate();
            }

            statusView.Icon = AppIcon;
        }
예제 #5
0
 protected override bool RunCommand(VersionControlItemList items, bool test)
 {
     return(StatusView.Show(items, test, true));
 }
        private TestResult RunCommand(Commands cmd, bool test)
        {
            VersionControlItemList items = GetItems();

            foreach (VersionControlItem it in items)
            {
                if (it.Repository == null)
                {
                    if (cmd != Commands.Publish)
                    {
                        return(TestResult.NoVersionControl);
                    }
                }
                else if (it.Repository.VersionControlSystem != null && !it.Repository.VersionControlSystem.IsInstalled)
                {
                    return(TestResult.Disable);
                }
            }

            bool res = false;

            try {
                switch (cmd)
                {
                case Commands.Update:
                    res = UpdateCommand.Update(items, test);
                    break;

                case Commands.Diff:
                    res = DiffCommand.Show(items, test);
                    break;

                case Commands.Log:
                    res = LogCommand.Show(items, test);
                    break;

                case Commands.Status:
                    res = StatusView.Show(items, test);
                    break;

                case Commands.Commit:
                    res = CommitCommand.Commit(items, test);
                    break;

                case Commands.Add:
                    res = AddCommand.Add(items, test);
                    break;

                case Commands.Remove:
                    res = RemoveCommand.Remove(items, test);
                    break;

                case Commands.Revert:
                    res = RevertCommand.Revert(items, test);
                    break;

                case Commands.Lock:
                    res = LockCommand.Lock(items, test);
                    break;

                case Commands.Unlock:
                    res = UnlockCommand.Unlock(items, test);
                    break;

                case Commands.Publish:
                    VersionControlItem it = items [0];
                    if (items.Count == 1 && it.IsDirectory && it.WorkspaceObject != null)
                    {
                        res = PublishCommand.Publish(it.WorkspaceObject, it.Path, test);
                    }
                    break;

                case Commands.Annotate:
                    res = BlameCommand.Show(items, test);
                    break;

                case Commands.CreatePatch:
                    res = CreatePatchCommand.CreatePatch(items, test);
                    break;
                }
            }
            catch (Exception ex) {
                if (test)
                {
                    LoggingService.LogError(ex.ToString());
                }
                else
                {
                    MessageService.ShowException(ex, GettextCatalog.GetString("Version control command failed."));
                }
                return(TestResult.Disable);
            }

            return(res ? TestResult.Enable : TestResult.Disable);
        }