Changeset 829 for cprs/trunk/CPRS-Chart/Templates/fTemplateFields.pas
- Timestamp:
- Jul 7, 2010, 4:31:10 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/trunk/CPRS-Chart/Templates/fTemplateFields.pas
r456 r829 5 5 uses 6 6 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 7 ORCtrls, ComCtrls, StdCtrls, ExtCtrls ;7 ORCtrls, ComCtrls, StdCtrls, ExtCtrls, fBase508Form, VA508AccessibilityManager; 8 8 9 9 type 10 TfrmTemplateFields = class(T Form)10 TfrmTemplateFields = class(TfrmBase508Form) 11 11 pnlBottom: TPanel; 12 12 btnCancel: TButton; 13 13 cboObjects: TORComboBox; 14 14 btnInsert: TButton; 15 lblReq: TStaticText;16 15 btnPreview: TButton; 16 lblReq: TVA508StaticText; 17 pnlBottomSR: TPanel; 18 lblSRCont2: TVA508StaticText; 19 lblSRCont1: TVA508StaticText; 20 lblSRStop: TVA508StaticText; 21 pnlSRIntro: TPanel; 22 lblSRIntro1: TVA508StaticText; 23 lblSRIntro2: TVA508StaticText; 17 24 procedure FormShow(Sender: TObject); 18 25 procedure FormCreate(Sender: TObject); … … 28 35 { Fre: TRichEdit;} 29 36 Fre: TCustomEdit; 37 FInsertAllowed: boolean; 38 FInitialized: boolean; 30 39 FAutoLongLines: TNotifyEvent; 31 40 procedure InsertField; 32 41 { procedure Setre(const Value: TRichEdit);} 33 42 procedure Setre(const Value: TCustomEdit); 43 function ValidPreview: boolean; 44 function ValidInsert: boolean; 34 45 public 35 46 procedure UpdateStatus; … … 47 58 48 59 procedure TfrmTemplateFields.FormShow(Sender: TObject); 49 begin 60 var 61 i: integer; 62 begin 63 if not FInitialized then 64 begin 65 with cboObjects do 66 begin 67 for i := low(ScreenReaderCodeLines) to high(ScreenReaderCodeLines) do 68 Items.Add(ScreenReaderCodeLines[i]); 69 InsertSeparator; 70 InitLongList(''); 71 end; 72 FInitialized := TRUE; 73 end; 50 74 cboObjects.SelectAll; 51 75 cboObjects.SetFocus; … … 54 78 procedure TfrmTemplateFields.FormCreate(Sender: TObject); 55 79 begin 56 cboObjects.InitLongList('');57 cboObjects.ItemHeight := 15;58 ResizeAnchoredFormToFont(self);59 //ResizeAnchoredFormToFont doesn't work right on the button positions for some reason.60 btnCancel.Left := pnlBottom.ClientWidth - btnCancel.Width;61 btnInsert.Left := btnCancel.Left - btnInsert.Width - 8;80 ResizeFormToFont(self); 81 cboObjects.ItemHeight := lblReq.Height - 1; 82 FInsertAllowed := TRUE; 83 lblReq.Top := (pnlBottom.Height - lblReq.Height); 84 pnlSRIntro.Height := lblSRStop.Height; 85 pnlBottomSR.Height := lblSRCont1.Height * 4 + 5; 62 86 end; 63 87 … … 76 100 var 77 101 cnt: integer; 78 79 begin 102 p1, p2: string; 103 check: boolean; 104 i: integer; 105 106 begin 107 p1 := Piece(cboObjects.Items[cboObjects.ItemIndex],U,1); 108 if p1 = '' then exit; 80 109 if assigned(Fre) and (not TORExposedCustomEdit(Fre).ReadOnly) and (cboObjects.ItemIndex >= 0) then 81 110 begin … … 83 112 cnt := TRichEdit(FRe).Lines.Count 84 113 else 85 cnt :=0; 86 Fre.SelText := TemplateFieldBeginSignature + 87 Piece(cboObjects.Items[cboObjects.ItemIndex],U,2)+ 88 TemplateFieldEndSignature; 114 cnt := 0; 115 if StrToIntDef(p1, 0) < 0 then 116 begin 117 check := true; 118 for i := low(ScreenReaderCodeIDs) to high(ScreenReaderCodeIDs) do 119 begin 120 if p1 = ScreenReaderCodeIDs[i] then 121 begin 122 p2 := ScreenReaderCodes[i]; 123 check := FALSE; 124 break; 125 end; 126 end; 127 end 128 else 129 check := TRUE; 130 if check then 131 p2 := TemplateFieldBeginSignature + Piece(cboObjects.Items[cboObjects.ItemIndex],U,2) + 132 TemplateFieldEndSignature; 133 Fre.SelText := p2; 89 134 if Fre is TRichEdit then 90 135 if(assigned(FAutoLongLines) and (cnt <> TRichEdit(FRe).Lines.Count)) then … … 95 140 procedure TfrmTemplateFields.cboObjectsDblClick(Sender: TObject); 96 141 begin 97 if btnInsert.Enabledthen142 if ValidInsert then 98 143 InsertField; 99 144 end; … … 118 163 procedure TfrmTemplateFields.UpdateStatus; 119 164 begin 120 btnInsert.Enabled := (not TORExposedCustomEdit(re).ReadOnly); 165 FInsertAllowed := (not TORExposedCustomEdit(re).ReadOnly); 166 btnInsert.Enabled := ValidInsert and FInsertAllowed; 167 end; 168 169 function TfrmTemplateFields.ValidInsert: boolean; 170 begin 171 Result := (cboObjects.ItemIndex >= 0); 172 if Result then 173 Result := (Piece(cboObjects.Items[cboObjects.ItemIndex],U,1) <> ''); 174 end; 175 176 function TfrmTemplateFields.ValidPreview: boolean; 177 var 178 i: integer; 179 code: string; 180 begin 181 Result := ValidInsert; 182 if Result then 183 begin 184 code := Piece(cboObjects.Items[cboObjects.ItemIndex],U,1); 185 for I := low(ScreenReaderCodeIDs) to high(ScreenReaderCodeIDs) do 186 begin 187 if code = ScreenReaderCodeIDs[i] then 188 begin 189 Result := FALSE; 190 break; 191 end; 192 end; 193 end; 121 194 end; 122 195 123 196 procedure TfrmTemplateFields.btnInsertClick(Sender: TObject); 124 197 begin 125 InsertField; 198 if ValidInsert then 199 InsertField; 126 200 end; 127 201 … … 147 221 procedure TfrmTemplateFields.cboObjectsChange(Sender: TObject); 148 222 begin 149 btnPreview.Enabled := (cboObjects.ItemIndex >= 0) 223 btnPreview.Enabled := ValidPreview; 224 btnInsert.Enabled := ValidInsert and FInsertAllowed; 150 225 end; 151 226
Note:
See TracChangeset
for help on using the changeset viewer.