Changeset 830 for cprs/trunk/CPRS-Chart/fDrawers.pas
- Timestamp:
- Jul 7, 2010, 4:51:54 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/trunk/CPRS-Chart/fDrawers.pas
r456 r830 10 10 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 11 11 ExtCtrls, StdCtrls, Buttons, ORCtrls, ComCtrls, ImgList, uTemplates, 12 Menus, ORClasses, ORFn; 12 Menus, ORClasses, ORFn, fBase508Form, VA508AccessibilityManager, 13 VA508ImageListLabeler; 13 14 14 15 type … … 16 17 TDrawers = set of TDrawer; 17 18 18 TfrmDrawers = class(T Form)19 TfrmDrawers = class(TfrmBase508Form) 19 20 lbOrders: TORListBox; 20 21 sbOrders: TORAlignSpeedButton; … … 52 53 N5: TMenuItem; 53 54 mnuViewTemplateIconLegend: TMenuItem; 55 fldAccessTemplates: TVA508ComponentAccessibility; 56 fldAccessReminders: TVA508ComponentAccessibility; 57 imgLblReminders: TVA508ImageListLabeler; 58 imgLblTemplates: TVA508ImageListLabeler; 54 59 procedure FormCanResize(Sender: TObject; var NewWidth, 55 60 NewHeight: Integer; var Resize: Boolean); … … 105 110 procedure tvRemindersNodeCaptioning(Sender: TObject; 106 111 var Caption: String); 107 procedure tvRemindersAddition(Sender: TObject; Node: TTreeNode); 108 procedure tvRemindersDeletion(Sender: TObject; Node: TTreeNode); 112 procedure fldAccessTemplatesStateQuery(Sender: TObject; var Text: string); 113 procedure fldAccessTemplatesInstructionsQuery(Sender: TObject; 114 var Text: string); 115 procedure fldAccessRemindersInstructionsQuery(Sender: TObject; 116 var Text: string); 117 procedure fldAccessRemindersStateQuery(Sender: TObject; var Text: string); 109 118 private 110 119 FOpenToNode: string; … … 211 220 uses fTemplateView, uCore, rTemplates, fTemplateEditor, dShared, uReminders, 212 221 fReminderDialog, RichEdit, fRptBox, Clipbrd, fTemplateDialog, fIconLegend, 213 uAccessibleTreeView, uAccessibleTreeNode;222 VA508AccessibilityRouter, uVA508CPRSCompatibility, VAUtils, fFindingTemplates; 214 223 215 224 {$R *.DFM} … … 534 543 end; 535 544 ToggleDrawer(odTemplates); 545 if ScreenReaderActive then 546 pnlTemplatesButton.SetFocus; 536 547 end; 537 548 … … 559 570 ToggleDrawer(odReminders) 560 571 end; 572 if ScreenReaderActive then 573 pnlRemindersButton.SetFocus; 561 574 end; 562 575 … … 884 897 begin 885 898 CheckBoilerplate4Fields(txt, 'Template: ' + Template.PrintName); 886 BeforeLine := SendMessage(FRichEditControl.Handle, EM_EXLINEFROMCHAR, 0, FRichEditControl.SelStart); 887 FRichEditControl.SelText := txt; 888 FRichEditControl.SetFocus; 889 SendMessage(FRichEditControl.Handle, EM_SCROLLCARET, 0, 0); 890 AfterTop := SendMessage(FRichEditControl.Handle, EM_GETFIRSTVISIBLELINE, 0, 0); 891 SendMessage(FRichEditControl.Handle, EM_LINESCROLL, 0, -1 * (AfterTop - BeforeLine)); 899 if txt <> '' then 900 begin 901 BeforeLine := SendMessage(FRichEditControl.Handle, EM_EXLINEFROMCHAR, 0, FRichEditControl.SelStart); 902 FRichEditControl.SelText := txt; 903 FRichEditControl.SetFocus; 904 SendMessage(FRichEditControl.Handle, EM_SCROLLCARET, 0, 0); 905 AfterTop := SendMessage(FRichEditControl.Handle, EM_GETFIRSTVISIBLELINE, 0, 0); 906 SendMessage(FRichEditControl.Handle, EM_LINESCROLL, 0, -1 * (AfterTop - BeforeLine)); 907 SpeakTextInserted; 908 end; 892 909 end; 893 910 end; … … 960 977 procedure TfrmDrawers.FormDestroy(Sender: TObject); 961 978 begin 962 TAccessibleTreeView.UnwrapControl(tvReminders);963 979 dmodShared.RemoveDrawerTree(Self); 964 980 KillObj(@FRemNotifyList); … … 973 989 procedure TfrmDrawers.ReloadTemplates; 974 990 begin 991 SetFindNext(FALSE); 975 992 LoadTemplateData; 976 993 if(UserTemplateAccessLevel <> taNone) and (assigned(MyTemplate)) and … … 986 1003 procedure TfrmDrawers.btnFindClick(Sender: TObject); 987 1004 var 988 TmpNode: TTreeNode; 989 Found: boolean; 990 S1,S2: string; 1005 Found, TmpNode: TTreeNode; 1006 IsNext: boolean; 991 1007 992 1008 begin 993 1009 if(edtSearch.text <> '') then 994 1010 begin 995 if(FEmptyNodeCount > 0) then 996 begin 997 FInternalExpand := TRUE; 998 FInternalHiddenExpand := TRUE; 999 try 1000 TmpNode := tvTemplates.Items.GetFirstNode; 1001 while(assigned(TmpNode)) do 1002 begin 1003 TmpNode.Expand(TRUE); 1004 TmpNode := TmpNode.GetNextSibling; 1005 end; 1006 finally 1007 FInternalExpand := FALSE; 1008 FInternalHiddenExpand := FALSE; 1009 end; 1010 end; 1011 if((FFindNext) and assigned (FLastFoundNode)) then 1012 TmpNode := FLastFoundNode.GetNext 1011 IsNext := ((FFindNext) and assigned (FLastFoundNode)); 1012 if IsNext then 1013 TmpNode := FLastFoundNode 1013 1014 else 1014 1015 TmpNode := tvTemplates.Items.GetFirstNode; 1015 Found := FALSE; 1016 if(assigned(TmpNode)) then 1017 begin 1018 S1 := edtSearch.Text; 1019 if(not cbMatchCase.Checked) then 1020 S1 := UpperCase(S1); 1021 while (assigned(TmpNode) and (not Found)) do 1022 begin 1023 S2 := TmpNode.Text; 1024 if(not cbMatchCase.Checked) then 1025 S2 := UpperCase(S2); 1026 Found := SearchMatch(S1, S2, cbWholeWords.Checked); 1027 if(not Found) then 1028 TmpNode := TmpNode.GetNext; 1029 end; 1030 end; 1031 if(Found) then 1032 begin 1033 FLastFoundNode := TmpNode; 1016 FInternalExpand := TRUE; 1017 FInternalHiddenExpand := TRUE; 1018 try 1019 Found := FindTemplate(edtSearch.Text, tvTemplates, Application.MainForm, TmpNode, 1020 IsNext, not cbMatchCase.Checked, cbWholeWords.Checked); 1021 finally 1022 FInternalExpand := FALSE; 1023 FInternalHiddenExpand := FALSE; 1024 end; 1025 1026 if assigned(Found) then 1027 begin 1028 FLastFoundNode := Found; 1034 1029 SetFindNext(TRUE); 1035 1030 FInternalExpand := TRUE; 1036 1031 try 1037 tvTemplates.Selected := TmpNode;1032 tvTemplates.Selected := Found; 1038 1033 finally 1039 1034 FInternalExpand := FALSE; 1040 1035 end; 1041 end1042 else1043 begin1044 if(FFindNext) then1045 S1 := ''1046 else1047 S1 := ' "' + edtSearch.Text + '" was not Found.';1048 SetFindNext(FALSE);1049 InfoBox('Search Complete.' + S1, 'Information', MB_OK or MB_ICONINFORMATION);1050 1036 end; 1051 1037 end; … … 1132 1118 dmodShared.AddDrawerTree(Self); 1133 1119 FHasPersonalTemplates := FALSE; 1134 TAccessibleTreeView.WrapControl(tvReminders);1135 1120 end; 1136 1121 … … 1143 1128 FEmptyNodeCount := 0; 1144 1129 ReloadTemplates; 1130 end; 1131 1132 procedure TfrmDrawers.fldAccessRemindersInstructionsQuery(Sender: TObject; 1133 var Text: string); 1134 begin 1135 inherited; 1136 if FOpenDrawer = odReminders then 1137 Text := 'to close' 1138 else 1139 Text := 'to open'; 1140 Text := Text + ' drawer press space bar'; 1141 end; 1142 1143 procedure TfrmDrawers.fldAccessRemindersStateQuery(Sender: TObject; 1144 var Text: string); 1145 begin 1146 inherited; 1147 if FOpenDrawer = odReminders then 1148 Text := ', Drawer Open' 1149 else 1150 Text := ', Drawer Closed'; 1151 end; 1152 1153 procedure TfrmDrawers.fldAccessTemplatesInstructionsQuery(Sender: TObject; 1154 var Text: string); 1155 begin 1156 inherited; 1157 if FOpenDrawer = odTemplates then 1158 Text := 'to close' 1159 else 1160 Text := 'to open'; 1161 Text := Text + ' drawer press space bar'; 1162 end; 1163 1164 procedure TfrmDrawers.fldAccessTemplatesStateQuery(Sender: TObject; 1165 var Text: string); 1166 begin 1167 if FOpenDrawer = odTemplates then 1168 Text := ', Drawer Open' 1169 else 1170 Text := ', Drawer Closed'; 1145 1171 end; 1146 1172 … … 1390 1416 var 1391 1417 OldInternalHE, OldInternalEX: boolean; 1392 1418 1393 1419 begin 1394 1420 if(Path <> '') then … … 1425 1451 tmpl := TTemplate(tvTemplates.Selected.Data); 1426 1452 if(tmpl.Description = '') then 1427 ShowM essage('No notes found for ' + tmpl.PrintName)1453 ShowMsg('No notes found for ' + tmpl.PrintName) 1428 1454 else 1429 1455 begin … … 1454 1480 CheckBoilerplate4Fields(txt, 'Template: ' + Template.PrintName); 1455 1481 if txt <> '' then 1482 begin 1456 1483 Clipboard.SetTextBuf(PChar(txt)); 1484 GetScreenReader.Speak('Text Copied to Clip board'); 1485 end; 1457 1486 end; 1458 1487 if txt <> '' then … … 1531 1560 end; 1532 1561 1533 procedure TfrmDrawers.tvRemindersAddition(Sender: TObject;1534 Node: TTreeNode);1535 begin1536 TAccessibleTreeNode.WrapControl(Node as TORTreeNode);1537 end;1538 1539 procedure TfrmDrawers.tvRemindersDeletion(Sender: TObject;1540 Node: TTreeNode);1541 begin1542 TAccessibleTreeNode.UnwrapControl(Node as TORTreeNode);1543 end;1544 1545 1562 procedure TfrmDrawers.DisableArrowKeyMove(Sender: TObject); 1546 1563 var … … 1561 1578 end; 1562 1579 1580 initialization 1581 SpecifyFormIsNotADialog(TfrmDrawers); 1582 1563 1583 end. 1564 1584
Note:
See TracChangeset
for help on using the changeset viewer.