Changeset 50 for branches/ByteArray/Forms/FormMain.pas
- Timestamp:
- Nov 2, 2023, 11:18:06 PM (7 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ByteArray/Forms/FormMain.pas
r48 r50 6 6 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Menus, ActnList, 7 7 FormConsole, FormScreen, Machine, Common.PersistentForm, FormSourceEditor, 8 FormMemory, Common.FormEx ;8 FormMemory, Common.FormEx, FormDisassembler, FormStorage; 9 9 10 10 type … … 13 13 14 14 TFormMain = class(TFormEx) 15 AConsole: TAction; 16 AScreen: TAction; 17 AStorage: TAction; 18 ADisassembler: TAction; 15 19 AFullscreen: TAction; 16 20 AMemory: TAction; … … 28 32 MenuItem6: TMenuItem; 29 33 MenuItem7: TMenuItem; 34 MenuItem8: TMenuItem; 30 35 PersistentForm1: TPersistentForm; 31 36 Separator1: TMenuItem; … … 34 39 MenuItemViewStorage: TMenuItem; 35 40 MenuItemViewConsole: TMenuItem; 41 procedure AConsoleExecute(Sender: TObject); 36 42 procedure ADebuggerExecute(Sender: TObject); 43 procedure ADisassemblerExecute(Sender: TObject); 37 44 procedure AExitExecute(Sender: TObject); 38 45 procedure AFullscreenExecute(Sender: TObject); 39 46 procedure AMemoryExecute(Sender: TObject); 47 procedure AScreenExecute(Sender: TObject); 40 48 procedure ASourceEditorExecute(Sender: TObject); 49 procedure AStorageExecute(Sender: TObject); 41 50 procedure FormCreate(Sender: TObject); 42 51 procedure FormDestroy(Sender: TObject); 43 52 procedure FormShow(Sender: TObject); 44 procedure MenuItemViewConsoleClick(Sender: TObject);45 procedure MenuItemViewScreenClick(Sender: TObject);46 53 private 47 54 FormScreen: TFormScreen; … … 49 56 FormMemory: TFormMemory; 50 57 FormSourceEditor: TFormSourceEditor; 58 FormDisassembler: TFormDisassembler; 59 FormStorage: TFormStorage; 51 60 Machine: TMachine; 52 61 procedure InitMachine; … … 70 79 begin 71 80 DockForm(FormScreen, Self); 72 Machine. Run;81 Machine.PowerOn; 73 82 end; 74 83 … … 84 93 end; 85 94 86 procedure TFormMain.AExitExecute(Sender: TObject);87 begin88 Close;89 end;90 91 procedure TFormMain.AFullscreenExecute(Sender: TObject);92 begin93 PersistentForm1.SetFullScreen(not PersistentForm1.FormFullScreen);94 end;95 96 procedure TFormMain.AMemoryExecute(Sender: TObject);97 begin98 if not Assigned(FormMemory) then begin99 FormMemory := TFormMemory.Create(nil);100 FormMemory.Memory := Machine.Memory;101 end;102 FormMemory.Show;103 end;104 105 procedure TFormMain.ADebuggerExecute(Sender: TObject);106 begin107 108 end;109 110 procedure TFormMain.ASourceEditorExecute(Sender: TObject);111 begin112 if not Assigned(FormSourceEditor) then begin113 FormSourceEditor := TFormSourceEditor.Create(nil);114 end;115 FormSourceEditor.Show;116 end;117 118 95 procedure TFormMain.FormDestroy(Sender: TObject); 119 96 begin … … 122 99 if Assigned(FormConsole) then FreeAndNil(FormConsole); 123 100 if Assigned(FormMemory) then FreeAndNil(FormMemory); 101 if Assigned(FormDisassembler) then FreeAndNil(FormDisassembler); 102 if Assigned(FormStorage) then FreeAndNil(FormStorage); 124 103 FreeAndNil(Machine); 125 104 end; 126 105 127 procedure TFormMain.MenuItemViewConsoleClick(Sender: TObject); 106 procedure TFormMain.AExitExecute(Sender: TObject); 107 begin 108 Close; 109 end; 110 111 procedure TFormMain.AFullscreenExecute(Sender: TObject); 112 begin 113 PersistentForm1.SetFullScreen(not PersistentForm1.FormFullScreen); 114 end; 115 116 procedure TFormMain.AMemoryExecute(Sender: TObject); 117 begin 118 if not Assigned(FormMemory) then begin 119 FormMemory := TFormMemory.Create(nil); 120 FormMemory.Memory := Machine.Memory; 121 end; 122 FormMemory.Show; 123 end; 124 125 procedure TFormMain.AScreenExecute(Sender: TObject); 126 begin 127 FormScreen.Show; 128 end; 129 130 procedure TFormMain.ADebuggerExecute(Sender: TObject); 131 begin 132 end; 133 134 procedure TFormMain.AConsoleExecute(Sender: TObject); 128 135 begin 129 136 FormConsole.Show; 130 137 end; 131 138 132 procedure TFormMain.MenuItemViewScreenClick(Sender: TObject); 133 begin 134 FormScreen.Show; 139 procedure TFormMain.ADisassemblerExecute(Sender: TObject); 140 begin 141 if not Assigned(FormDisassembler) then 142 FormDisassembler := TFormDisassembler.Create(nil); 143 FormDisassembler.Disassembler.Memory := Machine.Memory; 144 FormDisassembler.Show; 145 end; 146 147 procedure TFormMain.ASourceEditorExecute(Sender: TObject); 148 begin 149 if not Assigned(FormSourceEditor) then begin 150 FormSourceEditor := TFormSourceEditor.Create(nil); 151 FormSourceEditor.Machine := Machine; 152 end; 153 FormSourceEditor.Show; 154 end; 155 156 procedure TFormMain.AStorageExecute(Sender: TObject); 157 begin 158 if not Assigned(FormStorage) then begin 159 FormStorage := TFormStorage.Create(nil); 160 FormStorage.Storage := Machine.Storage; 161 end; 162 FormStorage.Show; 135 163 end; 136 164
Note:
See TracChangeset
for help on using the changeset viewer.