source: cprs/branches/foia-cprs/CPRS-Chart/fLabTests.pas@ 459

Last change on this file since 459 was 459, checked in by Kevin Toppenberg, 16 years ago

Adding foia-cprs branch

File size: 3.9 KB
Line 
1unit fLabTests;
2
3interface
4
5uses
6 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
7 ORCtrls, StdCtrls, ExtCtrls;
8
9type
10 TfrmLabTests = class(TForm)
11 pnlLabTests: TORAutoPanel;
12 cmdOK: TButton;
13 cmdCancel: TButton;
14 lstList: TORListBox;
15 cboTests: TORComboBox;
16 cmdRemove: TButton;
17 cmdClear: TButton;
18 lblTests: TLabel;
19 lblList: TLabel;
20 cmdAdd: TButton;
21 procedure FormCreate(Sender: TObject);
22 procedure cboTestsNeedData(Sender: TObject; const StartFrom: string;
23 Direction, InsertAt: Integer);
24 procedure cmdOKClick(Sender: TObject);
25 procedure cmdClearClick(Sender: TObject);
26 procedure cmdRemoveClick(Sender: TObject);
27 procedure lstListClick(Sender: TObject);
28 procedure cboTestsChange(Sender: TObject);
29 procedure cboTestsEnter(Sender: TObject);
30 procedure cboTestsExit(Sender: TObject);
31 procedure cmdAddClick(Sender: TObject);
32 private
33 { Private declarations }
34 public
35 { Public declarations }
36 end;
37
38procedure SelectTests(FontSize: Integer);
39
40implementation
41
42uses fLabs, ORFn, rLabs;
43
44{$R *.DFM}
45
46procedure SelectTests(FontSize: Integer);
47var
48 frmLabTests: TfrmLabTests;
49 W, H: integer;
50begin
51 frmLabTests := TfrmLabTests.Create(Application);
52 try
53 with frmLabTests do
54 begin
55 Font.Size := FontSize;
56 W := ClientWidth;
57 H := ClientHeight;
58 ResizeToFont(FontSize, W, H);
59 ClientWidth := W; pnlLabTests.Width := W;
60 ClientHeight := H; pnlLabTests.Height := H;
61 lstList.Items.Assign(frmLabs.lstTests.Items);
62 if lstList.Items.Count > 0 then lstList.ItemIndex := 0;
63 lstListClick(frmLabTests);
64 ShowModal;
65 end;
66 finally
67 frmLabTests.Release;
68 end;
69end;
70
71procedure TfrmLabTests.FormCreate(Sender: TObject);
72begin
73 RedrawSuspend(cboTests.Handle);
74 cboTests.InitLongList('');
75 RedrawActivate(cboTests.Handle);
76end;
77
78procedure TfrmLabTests.cboTestsNeedData(Sender: TObject;
79 const StartFrom: string; Direction, InsertAt: Integer);
80begin
81 cboTests.ForDataUse(AllTests(StartFrom, Direction));
82end;
83
84procedure TfrmLabTests.cmdOKClick(Sender: TObject);
85begin
86 if lstList.Items.Count = 0 then
87 ShowMessage('No tests were selected.')
88 else
89 begin
90 frmLabs.lstTests.Items.Assign(lstList.Items);
91 Close;
92 end;
93end;
94
95procedure TfrmLabTests.cmdClearClick(Sender: TObject);
96begin
97 lstList.Clear;
98 lstListClick(self);
99end;
100
101procedure TfrmLabTests.cmdRemoveClick(Sender: TObject);
102var
103 newindex: integer;
104begin
105 if lstList.Items.Count > 0 then
106 begin
107 if lstList.ItemIndex = (lstList.Items.Count -1 ) then
108 newindex := lstList.ItemIndex - 1
109 else
110 newindex := lstList.ItemIndex;
111 lstList.Items.Delete(lstList.ItemIndex);
112 if lstList.Items.Count > 0 then lstList.ItemIndex := newindex;
113 end;
114 lstListClick(self);
115end;
116
117procedure TfrmLabTests.lstListClick(Sender: TObject);
118begin
119 if lstList.Items.Count = 0 then
120 begin
121 cmdClear.Enabled := false;
122 cmdRemove.Enabled := false;
123 end
124 else
125 begin
126 cmdClear.Enabled := true;
127 cmdRemove.Enabled := true;
128 end;
129end;
130
131procedure TfrmLabTests.cboTestsChange(Sender: TObject);
132begin
133 cmdAdd.Enabled := cboTests.ItemIndex > -1;
134end;
135
136procedure TfrmLabTests.cboTestsEnter(Sender: TObject);
137begin
138 cmdAdd.Default := true;
139end;
140
141procedure TfrmLabTests.cboTestsExit(Sender: TObject);
142begin
143 cmdAdd.Default := false;
144end;
145
146procedure TfrmLabTests.cmdAddClick(Sender: TObject);
147var
148 i, textindex: integer;
149begin
150 textindex := lstList.Items.Count;
151 for i := 0 to lstList.Items.Count -1 do
152 if lstList.Items[i] = cboTests.Items[cboTests.ItemIndex] then textindex := i;
153 if textindex = lstList.Items.Count then lstList.Items.Add(cboTests.Items[cboTests.ItemIndex]);
154 lstList.ItemIndex := textindex;
155 lstListClick(self);
156end;
157
158end.
Note: See TracBrowser for help on using the repository browser.