Ignore:
Timestamp:
Jul 7, 2010, 4:31:10 PM (14 years ago)
Author:
Kevin Toppenberg
Message:

Upgrade to version 27

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cprs/trunk/CPRS-Chart/Templates/fTemplateFields.pas

    r456 r829  
    55uses
    66  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    7   ORCtrls, ComCtrls, StdCtrls, ExtCtrls;
     7  ORCtrls, ComCtrls, StdCtrls, ExtCtrls, fBase508Form, VA508AccessibilityManager;
    88
    99type
    10   TfrmTemplateFields = class(TForm)
     10  TfrmTemplateFields = class(TfrmBase508Form)
    1111    pnlBottom: TPanel;
    1212    btnCancel: TButton;
    1313    cboObjects: TORComboBox;
    1414    btnInsert: TButton;
    15     lblReq: TStaticText;
    1615    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;
    1724    procedure FormShow(Sender: TObject);
    1825    procedure FormCreate(Sender: TObject);
     
    2835{    Fre: TRichEdit;}
    2936    Fre: TCustomEdit;
     37    FInsertAllowed: boolean;
     38    FInitialized: boolean;
    3039    FAutoLongLines: TNotifyEvent;
    3140    procedure InsertField;
    3241{    procedure Setre(const Value: TRichEdit);}
    3342    procedure Setre(const Value: TCustomEdit);
     43    function ValidPreview: boolean;
     44    function ValidInsert: boolean;
    3445  public
    3546    procedure UpdateStatus;
     
    4758
    4859procedure TfrmTemplateFields.FormShow(Sender: TObject);
    49 begin
     60var
     61  i: integer;
     62begin
     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;
    5074  cboObjects.SelectAll;
    5175  cboObjects.SetFocus;
     
    5478procedure TfrmTemplateFields.FormCreate(Sender: TObject);
    5579begin
    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;
    6286end;
    6387
     
    76100var
    77101  cnt: integer;
    78 
    79 begin
     102  p1, p2: string;
     103  check: boolean;
     104  i: integer;
     105
     106begin
     107  p1 := Piece(cboObjects.Items[cboObjects.ItemIndex],U,1);
     108  if p1 = '' then exit;
    80109  if assigned(Fre) and (not TORExposedCustomEdit(Fre).ReadOnly) and (cboObjects.ItemIndex >= 0) then
    81110  begin
     
    83112      cnt := TRichEdit(FRe).Lines.Count
    84113    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;
    89134    if Fre is TRichEdit then
    90135      if(assigned(FAutoLongLines) and (cnt <> TRichEdit(FRe).Lines.Count)) then
     
    95140procedure TfrmTemplateFields.cboObjectsDblClick(Sender: TObject);
    96141begin
    97   if btnInsert.Enabled then
     142  if ValidInsert then
    98143    InsertField;
    99144end;
     
    118163procedure TfrmTemplateFields.UpdateStatus;
    119164begin
    120   btnInsert.Enabled := (not TORExposedCustomEdit(re).ReadOnly);
     165  FInsertAllowed := (not TORExposedCustomEdit(re).ReadOnly);
     166  btnInsert.Enabled := ValidInsert and FInsertAllowed;
     167end;
     168
     169function TfrmTemplateFields.ValidInsert: boolean;
     170begin
     171  Result := (cboObjects.ItemIndex >= 0);
     172  if Result then
     173    Result := (Piece(cboObjects.Items[cboObjects.ItemIndex],U,1) <> '');
     174end;
     175
     176function TfrmTemplateFields.ValidPreview: boolean;
     177var
     178  i: integer;
     179  code: string;
     180begin
     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;
    121194end;
    122195
    123196procedure TfrmTemplateFields.btnInsertClick(Sender: TObject);
    124197begin
    125   InsertField;
     198  if ValidInsert then
     199    InsertField;
    126200end;
    127201
     
    147221procedure TfrmTemplateFields.cboObjectsChange(Sender: TObject);
    148222begin
    149   btnPreview.Enabled := (cboObjects.ItemIndex >= 0)
     223  btnPreview.Enabled := ValidPreview;
     224  btnInsert.Enabled := ValidInsert and FInsertAllowed;
    150225end;
    151226
Note: See TracChangeset for help on using the changeset viewer.