source: tags/1.0.0/Forms/UFormTargets.pas

Last change on this file was 96, checked in by chronos, 6 years ago
  • Added: Theming support.
  • Modified: Items in Options dialog divided to two pages.
File size: 2.0 KB
Line 
1unit UFormTargets;
2
3{$mode objfpc}{$H+}
4
5interface
6
7uses
8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls;
9
10type
11
12 { TFormTargets }
13
14 TFormTargets = class(TForm)
15 ListView1: TListView;
16 procedure FormCreate(Sender: TObject);
17 procedure FormShow(Sender: TObject);
18 procedure ListView1Data(Sender: TObject; Item: TListItem);
19 procedure ListView1DblClick(Sender: TObject);
20 procedure ListView1KeyPress(Sender: TObject; var Key: char);
21 private
22 { private declarations }
23 public
24 procedure ReloadList;
25 end;
26
27var
28 FormTargets: TFormTargets;
29
30implementation
31
32{$R *.lfm}
33
34uses
35 UCore, UTarget, UFormTargetOptions;
36
37{ TFormTargets }
38
39procedure TFormTargets.FormShow(Sender: TObject);
40begin
41 ReloadList;
42end;
43
44procedure TFormTargets.FormCreate(Sender: TObject);
45begin
46 Core.CoolTranslator1.TranslateComponentRecursive(Self);
47 Core.ThemeManager.UseTheme(Self);
48end;
49
50procedure TFormTargets.ListView1Data(Sender: TObject; Item: TListItem);
51begin
52 if (Item.Index >= 0) and (Item.Index < Core.Targets.Count) then
53 with TTarget(Core.Targets[Item.Index]) do begin
54 Item.Caption := Name;
55 Item.Data := Core.Targets[Item.Index];
56 Item.SubItems.Add(ExecutorPath);
57 Item.SubItems.Add(CompilerPath);
58 end;
59end;
60
61procedure TFormTargets.ListView1DblClick(Sender: TObject);
62begin
63 FormTargetOptions := TFormTargetOptions.Create(nil);
64 try
65 FormTargetOptions.LoadControls(TTarget(ListView1.Selected.Data));
66 if FormTargetOptions.ShowModal = mrOk then begin
67 FormTargetOptions.SaveControls(TTarget(ListView1.Selected.Data));
68 ReloadList;
69 end;
70 finally
71 FormTargetOptions.Free;
72 end;
73end;
74
75procedure TFormTargets.ListView1KeyPress(Sender: TObject; var Key: char);
76begin
77 if Key = #13 then ListView1DblClick(nil);
78end;
79
80procedure TFormTargets.ReloadList;
81begin
82 ListView1.Items.Count := Core.Targets.Count;
83 ListView1.Refresh;
84end;
85
86end.
87
Note: See TracBrowser for help on using the repository browser.