public EmulationControl(IEmulationControl emulationControl)
        {
            _emulationControl = emulationControl;

            _runHaltButton = new Button
            {
                Text    = emulationControl.Running ? "Halt" : "Run",
                Command = new Command((s, a) =>
                {
                    if (_emulationControl.Running)
                    {
                        _emulationControl.Running = false;
                        _stepButton.Enabled       = true;
                        _runHaltButton.Text       = "Run";
                    }
                    else
                    {
                        _emulationControl.Running = true;
                        _stepButton.Enabled       = false;
                        _runHaltButton.Text       = "Halt";
                    }
                })
            };

            _stepButton = new Button
            {
                Text    = "Step",
                Enabled = !emulationControl.Running,
                Command = new Command((s, a) =>
                {
                    _emulationControl.Step();
                })
            };

            Rows.Add(_runHaltButton);
            Rows.Add(_stepButton);
            Rows.Add(null);

            Spacing = new Size(6, 4);
            Padding = new Padding(6, 4);
        }
Beispiel #2
0
 public DebugWindowViewModel(IMachineState state, IEmulationControl emulationControl)
 {
     State             = state;
     _emulationControl = emulationControl;
     Refresh();
 }