1 | unit fIconLegend;
|
---|
2 |
|
---|
3 | interface
|
---|
4 |
|
---|
5 | uses
|
---|
6 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, dShared,
|
---|
7 | ComCtrls, StdCtrls, ExtCtrls, ImgList, mImgText, Menus, FAutoSz, DKLang;
|
---|
8 |
|
---|
9 | type
|
---|
10 | TIconLegendType = (ilLast, ilNotes, ilTemplates, ilReminders, ilConsults, ilSurgery);
|
---|
11 |
|
---|
12 | TfrmIconLegend = class(TfrmAutoSz)
|
---|
13 | pcMain: TPageControl;
|
---|
14 | pnlBottom: TPanel;
|
---|
15 | Templates: TTabSheet;
|
---|
16 | Reminders: TTabSheet;
|
---|
17 | btnOK: TButton;
|
---|
18 | fraImgText1: TfraImgText;
|
---|
19 | fraImgText2: TfraImgText;
|
---|
20 | fraImgText3: TfraImgText;
|
---|
21 | fraImgText4: TfraImgText;
|
---|
22 | fraImgText5: TfraImgText;
|
---|
23 | fraImgText6: TfraImgText;
|
---|
24 | fraImgText7: TfraImgText;
|
---|
25 | fraImgText12: TfraImgText;
|
---|
26 | Panel1: TPanel;
|
---|
27 | fraImgText8: TfraImgText;
|
---|
28 | fraImgText10: TfraImgText;
|
---|
29 | fraImgText15: TfraImgText;
|
---|
30 | fraImgText16: TfraImgText;
|
---|
31 | fraImgText17: TfraImgText;
|
---|
32 | fraImgText13: TfraImgText;
|
---|
33 | fraImgText14: TfraImgText;
|
---|
34 | Panel2: TPanel;
|
---|
35 | fraImgText22: TfraImgText;
|
---|
36 | fraImgText20: TfraImgText;
|
---|
37 | fraImgText19: TfraImgText;
|
---|
38 | fraImgText18: TfraImgText;
|
---|
39 | fraImgText21: TfraImgText;
|
---|
40 | fraImgText11: TfraImgText;
|
---|
41 | fraImgText9: TfraImgText;
|
---|
42 | fraImgText23: TfraImgText;
|
---|
43 | fraImgText24: TfraImgText;
|
---|
44 | Label1: TLabel;
|
---|
45 | Label2: TLabel;
|
---|
46 | Label3: TLabel;
|
---|
47 | Notes: TTabSheet;
|
---|
48 | fraImgText25: TfraImgText;
|
---|
49 | fraImgText26: TfraImgText;
|
---|
50 | fraImgText27: TfraImgText;
|
---|
51 | fraImgText28: TfraImgText;
|
---|
52 | fraImgText29: TfraImgText;
|
---|
53 | fraImgText30: TfraImgText;
|
---|
54 | fraImgText31: TfraImgText;
|
---|
55 | fraImgText32: TfraImgText;
|
---|
56 | fraImgText33: TfraImgText;
|
---|
57 | fraImgText34: TfraImgText;
|
---|
58 | Consults: TTabSheet;
|
---|
59 | Panel3: TPanel;
|
---|
60 | fraImgText35: TfraImgText;
|
---|
61 | fraImgText36: TfraImgText;
|
---|
62 | fraImgText43: TfraImgText;
|
---|
63 | Panel4: TPanel;
|
---|
64 | Label5: TLabel;
|
---|
65 | fraImgText41: TfraImgText;
|
---|
66 | fraImgText37: TfraImgText;
|
---|
67 | fraImgText38: TfraImgText;
|
---|
68 | fraImgText39: TfraImgText;
|
---|
69 | fraImgText40: TfraImgText;
|
---|
70 | Label4: TLabel;
|
---|
71 | fraImgText44: TfraImgText;
|
---|
72 | Surgery: TTabSheet;
|
---|
73 | fraImgText42: TfraImgText;
|
---|
74 | fraImgText45: TfraImgText;
|
---|
75 | fraImgText46: TfraImgText;
|
---|
76 | fraImgText47: TfraImgText;
|
---|
77 | fraImgText48: TfraImgText;
|
---|
78 | fraImgText49: TfraImgText;
|
---|
79 | fraImgText50: TfraImgText;
|
---|
80 | fraImgText51: TfraImgText;
|
---|
81 | fraImgText52: TfraImgText;
|
---|
82 | fraImgText53: TfraImgText;
|
---|
83 | fraImgText54: TfraImgText;
|
---|
84 | fraImgText55: TfraImgText;
|
---|
85 | fraImgText56: TfraImgText;
|
---|
86 | fraImgText57: TfraImgText;
|
---|
87 | fraImgText58: TfraImgText;
|
---|
88 | fraImgText59: TfraImgText;
|
---|
89 | fraImgText60: TfraImgText;
|
---|
90 | fraImgText61: TfraImgText;
|
---|
91 | procedure btnOKClick(Sender: TObject);
|
---|
92 | procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
---|
93 | procedure FormDestroy(Sender: TObject);
|
---|
94 | procedure FormKeyDown(Sender: TObject; var Key: Word;
|
---|
95 | Shift: TShiftState);
|
---|
96 | private
|
---|
97 | procedure ShowTab(tb: TIconLegendType);
|
---|
98 | procedure SnapLabels;
|
---|
99 | public
|
---|
100 | class procedure SetFontSize( NewFontSize: integer);
|
---|
101 | end;
|
---|
102 |
|
---|
103 | procedure ShowIconLegend(IconType: TIconLegendType; Restart: boolean = FALSE);
|
---|
104 |
|
---|
105 | implementation
|
---|
106 |
|
---|
107 | uses
|
---|
108 | fFrame, uConst, ORFn;
|
---|
109 |
|
---|
110 | {$R *.DFM}
|
---|
111 |
|
---|
112 | var
|
---|
113 | frmIconLegend: TfrmIconLegend = nil;
|
---|
114 | LastX, LastY: integer;
|
---|
115 | FirstSize: boolean = TRUE;
|
---|
116 |
|
---|
117 | procedure ShowIconLegend(IconType: TIconLegendType; Restart: boolean = FALSE);
|
---|
118 | begin
|
---|
119 | if assigned(frmIconLegend) and Restart then
|
---|
120 | FreeAndNil(frmIconLegend);
|
---|
121 | if not assigned(frmIconLegend) then
|
---|
122 | begin
|
---|
123 | frmIconLegend := TfrmIconLegend.Create(Application);
|
---|
124 | frmIconLegend.Surgery.TabVisible := frmFrame.TabExists(CT_SURGERY);
|
---|
125 | end;
|
---|
126 | frmIconLegend.ShowTab(IconType);
|
---|
127 | TfrmIconLegend.SetFontSize( MainFontSize );
|
---|
128 | frmIconLegend.Show;
|
---|
129 | end;
|
---|
130 |
|
---|
131 | procedure TfrmIconLegend.btnOKClick(Sender: TObject);
|
---|
132 | begin
|
---|
133 | Close;
|
---|
134 | end;
|
---|
135 |
|
---|
136 | procedure TfrmIconLegend.ShowTab(tb: TIconLegendType);
|
---|
137 | begin
|
---|
138 | case tb of
|
---|
139 | ilTemplates: pcMain.ActivePage := Templates;
|
---|
140 | ilReminders: pcMain.ActivePage := Reminders;
|
---|
141 | ilNotes: pcMain.ActivePage := Notes;
|
---|
142 | ilConsults: pcMain.ActivePage := Consults;
|
---|
143 | ilSurgery: pcMain.ActivePage := Surgery;
|
---|
144 | end;
|
---|
145 | end;
|
---|
146 |
|
---|
147 | procedure TfrmIconLegend.FormClose(Sender: TObject;
|
---|
148 | var Action: TCloseAction);
|
---|
149 | begin
|
---|
150 | Action := caFree;
|
---|
151 |
|
---|
152 | end;
|
---|
153 |
|
---|
154 | procedure TfrmIconLegend.FormDestroy(Sender: TObject);
|
---|
155 | begin
|
---|
156 | LastX := Left;
|
---|
157 | LastY := Top;
|
---|
158 | frmIconLegend := nil;
|
---|
159 | end;
|
---|
160 |
|
---|
161 | class procedure TfrmIconLegend.SetFontSize( NewFontSize: integer);
|
---|
162 | begin
|
---|
163 | if Assigned(frmIconLegend) then begin
|
---|
164 | if FirstSize or (frmIconLegend.Font.Size <> NewFontSize) then begin
|
---|
165 | ResizeFormToFont(frmIconLegend);
|
---|
166 | frmIconLegend.Font.Size := NewFontSize;
|
---|
167 | frmIconLegend.SnapLabels;
|
---|
168 | FirstSize := FALSE;
|
---|
169 | LastX := (Screen.Width - frmIconLegend.Width) div 2;
|
---|
170 | LastY := (Screen.Height - frmIconLegend.Height) div 2;
|
---|
171 | end;
|
---|
172 | frmIconLegend.Left := LastX;
|
---|
173 | frmIconLegend.Top := LastY;
|
---|
174 | end;
|
---|
175 | end;
|
---|
176 |
|
---|
177 | procedure TfrmIconLegend.SnapLabels;
|
---|
178 | var
|
---|
179 | i: integer;
|
---|
180 | begin
|
---|
181 | for i := 0 to ComponentCount-1 do
|
---|
182 | if Components[i] is TfraImgText then
|
---|
183 | with TfraImgText(Components[i]).lblText do
|
---|
184 | if (AutoSize and WordWrap) then begin
|
---|
185 | {Snap width to fit. We turn autosize off and on to snap height, too.
|
---|
186 | If we don't tweak AutoSize, it tends to give the frame a vertical
|
---|
187 | scroll bar.}
|
---|
188 | AutoSize := False;
|
---|
189 | Width := Parent.Width - Left - ScrollBarWidth;
|
---|
190 | AutoSize := True;
|
---|
191 | end;
|
---|
192 | end;
|
---|
193 |
|
---|
194 | procedure TfrmIconLegend.FormKeyDown(Sender: TObject; var Key: Word;
|
---|
195 | Shift: TShiftState);
|
---|
196 | begin
|
---|
197 | inherited;
|
---|
198 | if (Key = VK_TAB) then begin
|
---|
199 | if (ssCtrl in Shift) then begin
|
---|
200 | if not (ActiveControl is TCustomMemo) or not TMemo(ActiveControl).WantTabs then begin
|
---|
201 | pcMain.SelectNextPage( not (ssShift in Shift));
|
---|
202 | Key := 0;
|
---|
203 | end;
|
---|
204 | end;
|
---|
205 | end;
|
---|
206 | end;
|
---|
207 |
|
---|
208 | end.
|
---|
209 |
|
---|
210 |
|
---|
211 |
|
---|
212 |
|
---|
213 |
|
---|
214 |
|
---|
215 |
|
---|
216 |
|
---|
217 |
|
---|
218 |
|
---|
219 |
|
---|
220 |
|
---|
221 |
|
---|
222 |
|
---|
223 |
|
---|
224 |
|
---|
225 |
|
---|
226 |
|
---|
227 |
|
---|