Changeset 830 for cprs/trunk/CPRS-Chart/fPatientFlagMulti.pas
- Timestamp:
- Jul 7, 2010, 4:51:54 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/trunk/CPRS-Chart/fPatientFlagMulti.pas
r456 r830 5 5 uses 6 6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 7 Dialogs, StdCtrls, fAutoSz, ORCtrls, ExtCtrls, ComCtrls, rMisc; 7 Dialogs, StdCtrls, fAutoSz, ORCtrls, ExtCtrls, ComCtrls, rMisc, fBase508Form, 8 VA508AccessibilityManager; 8 9 9 10 type … … 22 23 end; 23 24 24 TfrmFlags = class(T Form)25 TfrmFlags = class(TfrmBase508Form) 25 26 Splitter1: TSplitter; 26 27 pnlTop: TORAutoPanel; 27 28 lblFlags: TLabel; 28 lstFlags : TORListBox;29 lstFlagsCat2: TORListBox; 29 30 memFlags: TRichEdit; 30 31 pnlNotes: TPanel; … … 34 35 pnlBottom: TORAutoPanel; 35 36 btnClose: TButton; 36 procedure lstFlagsClick(Sender: TObject); 37 lstFlagsCat1: TORListBox; 38 lblCat1: TLabel; 39 TimerTextFlash: TTimer; 40 procedure lstFlagsCat1Click(Sender: TObject); 37 41 procedure FormKeyDown(Sender: TObject; var Key: Word; 38 42 Shift: TShiftState); … … 44 48 procedure lvPRFKeyDown(Sender: TObject; var Key: Word; 45 49 Shift: TShiftState); 50 procedure TimerTextFlashTimer(Sender: TObject); 51 procedure lstFlagsCat2Click(Sender: TObject); 46 52 private 47 53 FFlagID: integer; 48 54 FPRFNotes : TPRFNotes; 49 55 FNoteTitle: String; 50 procedure GetNotes(); 56 procedure GetNotes(SelectedList : TORListBox); 57 procedure MakeCat1FlagsStandOut; 58 procedure LoadSelectedFlagData(SelectedList : TORListBox); 59 procedure ActivateSpecificFlag; 60 procedure PutFlagsOnLists(flags, Cat1List, Cat2List: TStrings); 61 function GetListToActivate : TORListBox; 51 62 public 52 63 { Public declarations } … … 80 91 if HasFlag then 81 92 begin 82 //SetFormPosition(frmFlags); 83 frmFlags.FFlagID := FlagId; 84 frmFlags.lstFlags.Items.Assign(FlagList); 93 with frmFlags do begin 94 FFlagID := FlagId; 95 PutFlagsOnLists(FlagList, lstFlagsCat1.Items, lstFlagsCat2.Items); 96 end; 85 97 frmFlags.memFlags.SelStart := 0; 86 98 ResizeFormToFont(TForm(frmFlags)); … … 92 104 end; 93 105 94 procedure TfrmFlags.lstFlagsClick(Sender: TObject); 95 var 96 FlagArray: TStringList; 97 begin 98 if lstFlags.ItemIndex >= 0 then 106 procedure TfrmFlags.lstFlagsCat1Click(Sender: TObject); 107 begin 108 if lstFlagsCat1.ItemIndex >= 0 then 99 109 begin 100 FlagArray := TStringList.Create; 101 GetActiveFlg(FlagArray, Patient.DFN, lstFlags.ItemID); 102 if FlagArray.Count > 0 then 103 memFlags.Lines.Assign(FlagArray); 104 memFlags.SelStart := 0; 105 GetNotes; 110 with lstFlagsCat2 do 111 Selected[ItemIndex] := False; 112 LoadSelectedFlagData(lstFlagsCat1); 106 113 end; 107 114 end; … … 116 123 117 124 procedure TfrmFlags.FormShow(Sender: TObject); 118 var119 idx: integer;120 125 begin 121 126 inherited; 122 127 SetFormPosition(Self); 123 idx := 0; 124 if FFlagID > 0 then idx := lstFlags.SelectByIEN(FFlagId); 125 lstFlags.ItemIndex := idx; 126 lstFlagsClick(Self); 127 ActiveControl := memFlags; 128 GetNotes; 128 if lstFlagsCat1.Count > 0 then 129 MakeCat1FlagsStandOut; 130 131 ActivateSpecificFlag; 129 132 end; 130 133 … … 141 144 end; 142 145 143 procedure TfrmFlags.GetNotes ;146 procedure TfrmFlags.GetNotes(SelectedList : TORListBox); 144 147 var 145 148 NoteTitleIEN, FlagID : Int64; … … 147 150 if FPRFNotes = nil then 148 151 FPRFNotes := TPRFNotes.Create; 149 FlagID := lstFlags.ItemID;152 FlagID := SelectedList.ItemID; 150 153 CallV('TIU GET PRF TITLE', [Patient.DFN,FlagID]); 151 154 FNoteTitle := Piece(RPCBrokerV.Results[0],U,NOTE_TITLE); … … 185 188 begin 186 189 CallV('TIU GET LINKED PRF NOTES', [DFN,TitleIEN,REVERSE_CHRONO]); 187 F PRFNoteList.Assign(RPCBrokerV.Results);190 FastAssign(RPCBrokerV.Results, FPRFNoteList); 188 191 end; 189 192 … … 226 229 end; 227 230 231 232 procedure TfrmFlags.MakeCat1FlagsStandOut; 233 Const 234 FONT_INC = 4; 235 clBrightOrange = TColor($3ABEF3); //Blue 58 Green 190 Red 243 236 begin 237 lblCat1.Font.Size := lblCat1.Font.Size + FONT_INC; 238 lstFlagsCat1.Font.Size := lstFlagsCat1.Font.Size + FONT_INC; 239 lblCat1.Color := Get508CompliantColor(clBrightOrange); 240 lstFlagsCat1.Color := Get508CompliantColor(clBrightOrange); 241 lblCat1.Font.Color := Get508CompliantColor(clWhite); 242 lstFlagsCat1.Font.Color := Get508CompliantColor(clWhite); 243 TimerTextFlash.Enabled := true; 244 end; 245 246 procedure TfrmFlags.TimerTextFlashTimer(Sender: TObject); 247 begin 248 if lblCat1.Font.Color = Get508CompliantColor(clWhite) then 249 lblCat1.Font.Color := Get508CompliantColor(clBlack) 250 else 251 lblCat1.Font.Color := Get508CompliantColor(clWhite); 252 end; 253 254 procedure TfrmFlags.LoadSelectedFlagData(SelectedList: TORListBox); 255 var 256 FlagArray: TStringList; 257 begin 258 FlagArray := TStringList.Create; 259 GetActiveFlg(FlagArray, Patient.DFN, SelectedList.ItemID); 260 if FlagArray.Count > 0 then 261 QuickCopy(FlagArray, memFlags); 262 memFlags.SelStart := 0; 263 GetNotes(SelectedList); 264 end; 265 266 procedure TfrmFlags.lstFlagsCat2Click(Sender: TObject); 267 begin 268 if lstFlagsCat2.ItemIndex >= 0 then 269 begin 270 with lstFlagsCat1 do 271 Selected[ItemIndex] := False; 272 LoadSelectedFlagData(lstFlagsCat2); 273 end; 274 end; 275 276 procedure TfrmFlags.ActivateSpecificFlag; 277 var 278 idx: integer; 279 SelectedList : TORListBox; 280 begin 281 idx := 0; 282 SelectedList := GetListToActivate; 283 if FFlagID > 0 then 284 idx := SelectedList.SelectByIEN(FFlagId); 285 SelectedList.ItemIndex := idx; 286 SelectedList.OnClick(Self); 287 ActiveControl := memFlags; 288 GetNotes(SelectedList); 289 end; 290 291 function TfrmFlags.GetListToActivate: TORListBox; 292 begin 293 Result := nil; 294 if FFlagID > 0 then begin 295 if lstFlagsCat1.SelectByIEN(FFlagId) > -1 then 296 Result := lstFlagsCat1 297 else if lstFlagsCat2.SelectByIEN(FFlagId) > -1 then 298 Result := lstFlagsCat2 299 end; 300 if Result = nil then 301 if lstFlagsCat1.Items.Count > 0 then 302 Result := lstFlagsCat1 303 else 304 Result := lstFlagsCat2; 305 306 end; 307 308 procedure TfrmFlags.PutFlagsOnLists(flags, Cat1List, Cat2List: TStrings); 309 Const 310 FLAG_TYPE_POS = 3; 311 TRUE_STRING = '1'; 312 var 313 i : integer; 314 begin 315 for i := 0 to flags.Count-1 do begin 316 if Piece(flags[i],U,FLAG_TYPE_POS) = TRUE_STRING then 317 Cat1List.Add(flags[i]) 318 else 319 Cat2List.Add(flags[i]); 320 end; 321 end; 322 228 323 end.
Note:
See TracChangeset
for help on using the changeset viewer.