source: platform/trunk/LDPlatform.Core.pas

Last change on this file was 11, checked in by chronos, 10 years ago
  • Added: Some new concept forms and actions.
File size: 2.8 KB
Line 
1unit LDPlatform.Core;
2
3interface
4
5uses
6 System.SysUtils, System.Classes, Vcl.Forms, LDPlatform.FormMain, LDPlatform.FormOptions,
7 System.Actions, Vcl.ActnList, Vcl.ImgList, Vcl.Controls, LDPlatform.FormNew,
8 Generics.Collections, Vcl.Dialogs, UProject;
9
10type
11 TOpenedFile = class
12 FileName: string;
13 end;
14
15 TCore = class(TDataModule)
16 ActionList1: TActionList;
17 ImageList1: TImageList;
18 AOptions: TAction;
19 AQuit: TAction;
20 AFileOpen: TAction;
21 AFileClose: TAction;
22 AFileSave: TAction;
23 AFileSaveAs: TAction;
24 ANew: TAction;
25 AFileCloseAll: TAction;
26 AFileSaveAll: TAction;
27 AHelpAbout: TAction;
28 OpenDialog1: TOpenDialog;
29 SaveDialog1: TSaveDialog;
30 procedure DataModuleCreate(Sender: TObject);
31 procedure DataModuleDestroy(Sender: TObject);
32 procedure AOptionsExecute(Sender: TObject);
33 procedure AQuitExecute(Sender: TObject);
34 procedure ANewExecute(Sender: TObject);
35 procedure AFileOpenExecute(Sender: TObject);
36 procedure AFileSaveAsExecute(Sender: TObject);
37 procedure AFileSaveExecute(Sender: TObject);
38 private
39 { Private declarations }
40 public
41 Project: TProject;
42 OpenedFiles: TList<TOpenedFile>;
43 FormNew: TFormNew;
44 FormMain: TFormMain;
45 FormOptions: TFormOptions;
46 end;
47
48var
49 Core: TCore;
50
51implementation
52
53{%CLASSGROUP 'Vcl.Controls.TControl'}
54
55{$R *.dfm}
56
57procedure TCore.AFileOpenExecute(Sender: TObject);
58begin
59 if OpenDialog1.Execute then begin
60 Project.LoadFromFile(OpenDialog1.FileName);
61 end;
62end;
63
64procedure TCore.AFileSaveAsExecute(Sender: TObject);
65begin
66 SaveDialog1.FileName := Project.FileName;
67 if SaveDialog1.Execute then begin
68 Project.SaveToFile(SaveDialog1.FileName);
69 end;
70end;
71
72procedure TCore.AFileSaveExecute(Sender: TObject);
73begin
74 if Project.Modified then AFileSaveAs.Execute
75 else Project.Save;
76end;
77
78procedure TCore.ANewExecute(Sender: TObject);
79begin
80 try
81 FormNew := TFormNew.Create(nil);
82 //FormNew.Load;
83 if FormNew.ShowModal = mrOk then begin
84 //FormOptions.Save;
85 end;
86 finally
87 FreeAndNil(FormNew);
88 end;
89end;
90
91procedure TCore.AOptionsExecute(Sender: TObject);
92begin
93 try
94 FormOptions := TFormOptions.Create(nil);
95 FormOptions.Load;
96 if FormOptions.ShowModal = mrOk then begin
97 FormOptions.Save;
98 end;
99 finally
100 FreeAndNil(FormOptions);
101 end;
102end;
103
104procedure TCore.AQuitExecute(Sender: TObject);
105begin
106 Application.Terminate;
107end;
108
109procedure TCore.DataModuleCreate(Sender: TObject);
110begin
111 Project := TProject.Create;
112 OpenedFiles := TList<TOpenedFile>.Create;
113 Application.CreateForm(TFormMain, FormMain);
114 FormMain.Show;
115end;
116
117procedure TCore.DataModuleDestroy(Sender: TObject);
118begin
119 Project.Free;
120 OpenedFiles.Free;
121end;
122
123end.
Note: See TracBrowser for help on using the repository browser.