1 unit States; 2 3 {$MODE Delphi} 4 {$H+} 5 6 interface 7 8 uses 9 LCLIntf, SysUtils, Classes, Graphics, Controls, Forms, 10 Dialogs, StdCtrls, Laz.VirtualTrees, LResources, ExtCtrls; 11 12 type 13 14 { TStateForm } 15 16 TStateForm = class(TForm) 17 EnableCheckBox: TCheckBox; 18 GroupBox1: TGroupBox; 19 CheckBox1: TCheckBox; 20 CheckBox3: TCheckBox; 21 CheckBox4: TCheckBox; 22 CheckBox32: TCheckBox; 23 GroupBox2: TGroupBox; 24 CheckBox8: TCheckBox; 25 CheckBox9: TCheckBox; 26 CheckBox19: TCheckBox; 27 CheckBox20: TCheckBox; 28 CheckBox21: TCheckBox; 29 CheckBox27: TCheckBox; 30 CheckBox43: TCheckBox; 31 CheckBox44: TCheckBox; 32 GroupBox3: TGroupBox; 33 CheckBox10: TCheckBox; 34 CheckBox11: TCheckBox; 35 CheckBox15: TCheckBox; 36 CheckBox16: TCheckBox; 37 CheckBox18: TCheckBox; 38 GroupBox4: TGroupBox; 39 CheckBox5: TCheckBox; 40 CheckBox6: TCheckBox; 41 CheckBox7: TCheckBox; 42 CheckBox24: TCheckBox; 43 CheckBox25: TCheckBox; 44 CheckBox37: TCheckBox; 45 CheckBox41: TCheckBox; 46 CheckBox42: TCheckBox; 47 GroupBox5: TGroupBox; 48 CheckBox31: TCheckBox; 49 CheckBox36: TCheckBox; 50 CheckBox39: TCheckBox; 51 CheckBox40: TCheckBox; 52 GroupBox6: TGroupBox; 53 CheckBox2: TCheckBox; 54 CheckBox12: TCheckBox; 55 CheckBox28: TCheckBox; 56 CheckBox29: TCheckBox; 57 GroupBox7: TGroupBox; 58 CheckBox13: TCheckBox; 59 CheckBox14: TCheckBox; 60 CheckBox17: TCheckBox; 61 CheckBox23: TCheckBox; 62 CheckBox33: TCheckBox; 63 GroupBox8: TGroupBox; 64 CheckBox22: TCheckBox; 65 CheckBox26: TCheckBox; 66 CheckBox30: TCheckBox; 67 CheckBox34: TCheckBox; 68 CheckBox35: TCheckBox; 69 CheckBox38: TCheckBox; 70 CheckBox45: TCheckBox; 71 CheckBox46: TCheckBox; 72 procedure EnableCheckBoxClick(Sender: TObject); 73 protected 74 procedure SetActiveState(CheckBox: TCheckBox; Active: Boolean); 75 end; 76 77 var 78 StateForm: TStateForm; 79 80 procedure UpdateStateDisplay(CurrentStates, Enter, Leave: TVirtualTreeStates); 81 82 //---------------------------------------------------------------------------------------------------------------------- 83 84 implementation 85 86 {$R *.lfm} 87 88 89 //---------------------------------------------------------------------------------------------------------------------- 90 91 procedure UpdateStateDisplay(CurrentStates, Enter, Leave: TVirtualTreeStates); 92 93 var 94 NewStates: TVirtualTreeStates; 95 96 begin 97 with StateForm do 98 if EnableCheckBox.Checked then 99 begin 100 // At this point the new states are not yet set. So construct the new set here. 101 NewStates := CurrentStates + Enter - Leave; 102 SetActiveState(CheckBox1, tsChangePending in NewStates); 103 SetActiveState(CheckBox2, tsCollapsing in NewStates); 104 SetActiveState(CheckBox3, tsToggleFocusedSelection in NewStates); 105 SetActiveState(CheckBox4, tsClearPending in NewStates); 106 SetActiveState(CheckBox5, tsClipboardFlushing in NewStates); 107 SetActiveState(CheckBox6, tsCopyPending in NewStates); 108 SetActiveState(CheckBox7, tsCutPending in NewStates); 109 SetActiveState(CheckBox8, tsDrawSelPending in NewStates); 110 SetActiveState(CheckBox9, tsDrawSelecting in NewStates); 111 SetActiveState(CheckBox10, tsEditing in NewStates); 112 SetActiveState(CheckBox11, tsEditPending in NewStates); 113 SetActiveState(CheckBox12, tsExpanding in NewStates); 114 SetActiveState(CheckBox13, tsHint in NewStates); 115 SetActiveState(CheckBox14, tsInAnimation in NewStates); 116 SetActiveState(CheckBox15, tsIncrementalSearching in NewStates); 117 SetActiveState(CheckBox16, tsIncrementalSearchPending in NewStates); 118 SetActiveState(CheckBox17, tsIterating in NewStates); 119 SetActiveState(CheckBox18, tsKeyCheckPending in NewStates); 120 SetActiveState(CheckBox19, tsLeftButtonDown in NewStates); 121 SetActiveState(CheckBox20, tsMouseCheckPending in NewStates); 122 SetActiveState(CheckBox21, tsMiddleButtonDown in NewStates); 123 {$if VTMajorVersion < 5} 124 SetActiveState(CheckBox22, tsNeedScale in NewStates); 125 {$endif} 126 SetActiveState(CheckBox23, tsNeedRootCountUpdate in NewStates); 127 SetActiveState(CheckBox24, tsOLEDragging in NewStates); 128 SetActiveState(CheckBox25, tsOLEDragPending in NewStates); 129 SetActiveState(CheckBox26, tsPainting in NewStates); 130 SetActiveState(CheckBox27, tsRightButtonDown in NewStates); 131 SetActiveState(CheckBox28, tsScrolling in NewStates); 132 SetActiveState(CheckBox29, tsScrollPending in NewStates); 133 SetActiveState(CheckBox30, tsSizing in NewStates); 134 SetActiveState(CheckBox31, tsStopValidation in NewStates); 135 SetActiveState(CheckBox32, tsStructureChangePending in NewStates); 136 SetActiveState(CheckBox33, tsSynchMode in NewStates); 137 SetActiveState(CheckBox34, tsThumbTracking in NewStates); 138 SetActiveState(CheckBox35, tsUpdating in NewStates); 139 SetActiveState(CheckBox36, tsUseCache in NewStates); 140 SetActiveState(CheckBox37, tsUserDragObject in NewStates); 141 SetActiveState(CheckBox38, tsUseThemes in NewStates); 142 SetActiveState(CheckBox39, tsValidating in NewStates); 143 SetActiveState(CheckBox40, tsValidationNeeded in NewStates); 144 SetActiveState(CheckBox41, tsVCLDragging in NewStates); 145 SetActiveState(CheckBox42, tsVCLDragPending in NewStates); 146 SetActiveState(CheckBox43, tsWheelPanning in NewStates); 147 SetActiveState(CheckBox44, tsWheelScrolling in NewStates); 148 SetActiveState(CheckBox45, tsWindowCreating in NewStates); 149 SetActiveState(CheckBox46, tsPopupMenuShown in NewStates); 150 151 Update; 152 end; 153 end; 154 155 //---------------------------------------------------------------------------------------------------------------------- 156 157 procedure TStateForm.EnableCheckBoxClick(Sender: TObject); 158 159 begin 160 CheckBox1.Enabled := EnableCheckBox.Checked; 161 CheckBox2.Enabled := EnableCheckBox.Checked; 162 CheckBox3.Enabled := EnableCheckBox.Checked; 163 CheckBox4.Enabled := EnableCheckBox.Checked; 164 CheckBox5.Enabled := EnableCheckBox.Checked; 165 CheckBox6.Enabled := EnableCheckBox.Checked; 166 CheckBox7.Enabled := EnableCheckBox.Checked; 167 CheckBox8.Enabled := EnableCheckBox.Checked; 168 CheckBox9.Enabled := EnableCheckBox.Checked; 169 CheckBox10.Enabled := EnableCheckBox.Checked; 170 CheckBox11.Enabled := EnableCheckBox.Checked; 171 CheckBox12.Enabled := EnableCheckBox.Checked; 172 CheckBox13.Enabled := EnableCheckBox.Checked; 173 CheckBox14.Enabled := EnableCheckBox.Checked; 174 CheckBox15.Enabled := EnableCheckBox.Checked; 175 CheckBox16.Enabled := EnableCheckBox.Checked; 176 CheckBox17.Enabled := EnableCheckBox.Checked; 177 CheckBox18.Enabled := EnableCheckBox.Checked; 178 CheckBox19.Enabled := EnableCheckBox.Checked; 179 CheckBox20.Enabled := EnableCheckBox.Checked; 180 CheckBox21.Enabled := EnableCheckBox.Checked; 181 CheckBox22.Enabled := EnableCheckBox.Checked; 182 CheckBox23.Enabled := EnableCheckBox.Checked; 183 CheckBox24.Enabled := EnableCheckBox.Checked; 184 CheckBox25.Enabled := EnableCheckBox.Checked; 185 CheckBox26.Enabled := EnableCheckBox.Checked; 186 CheckBox27.Enabled := EnableCheckBox.Checked; 187 CheckBox28.Enabled := EnableCheckBox.Checked; 188 CheckBox29.Enabled := EnableCheckBox.Checked; 189 CheckBox30.Enabled := EnableCheckBox.Checked; 190 CheckBox31.Enabled := EnableCheckBox.Checked; 191 CheckBox32.Enabled := EnableCheckBox.Checked; 192 CheckBox33.Enabled := EnableCheckBox.Checked; 193 CheckBox34.Enabled := EnableCheckBox.Checked; 194 CheckBox35.Enabled := EnableCheckBox.Checked; 195 CheckBox36.Enabled := EnableCheckBox.Checked; 196 CheckBox37.Enabled := EnableCheckBox.Checked; 197 CheckBox38.Enabled := EnableCheckBox.Checked; 198 CheckBox39.Enabled := EnableCheckBox.Checked; 199 CheckBox40.Enabled := EnableCheckBox.Checked; 200 CheckBox41.Enabled := EnableCheckBox.Checked; 201 CheckBox42.Enabled := EnableCheckBox.Checked; 202 CheckBox43.Enabled := EnableCheckBox.Checked; 203 CheckBox44.Enabled := EnableCheckBox.Checked; 204 CheckBox45.Enabled := EnableCheckBox.Checked; 205 CheckBox46.Enabled := EnableCheckBox.Checked; 206 end; 207 208 //---------------------------------------------------------------------------------------------------------------------- 209 210 procedure TStateForm.SetActiveState(CheckBox: TCheckBox; Active: Boolean); 211 212 begin 213 CheckBox.Checked := Active; 214 if Active then 215 CheckBox.Font.Style := [fsBold] 216 else 217 CheckBox.Font.Style := []; 218 end; 219 220 //---------------------------------------------------------------------------------------------------------------------- 221 222 223 end. 224