mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-06 22:38:14 +02:00
224 lines
8.2 KiB
ObjectPascal
224 lines
8.2 KiB
ObjectPascal
unit States;
|
|
|
|
{$MODE Delphi}
|
|
{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
LCLIntf, SysUtils, Classes, Graphics, Controls, Forms,
|
|
Dialogs, StdCtrls, Laz.VirtualTrees, LResources, ExtCtrls;
|
|
|
|
type
|
|
|
|
{ TStateForm }
|
|
|
|
TStateForm = class(TForm)
|
|
EnableCheckBox: TCheckBox;
|
|
GroupBox1: TGroupBox;
|
|
CheckBox1: TCheckBox;
|
|
CheckBox3: TCheckBox;
|
|
CheckBox4: TCheckBox;
|
|
CheckBox32: TCheckBox;
|
|
GroupBox2: TGroupBox;
|
|
CheckBox8: TCheckBox;
|
|
CheckBox9: TCheckBox;
|
|
CheckBox19: TCheckBox;
|
|
CheckBox20: TCheckBox;
|
|
CheckBox21: TCheckBox;
|
|
CheckBox27: TCheckBox;
|
|
CheckBox43: TCheckBox;
|
|
CheckBox44: TCheckBox;
|
|
GroupBox3: TGroupBox;
|
|
CheckBox10: TCheckBox;
|
|
CheckBox11: TCheckBox;
|
|
CheckBox15: TCheckBox;
|
|
CheckBox16: TCheckBox;
|
|
CheckBox18: TCheckBox;
|
|
GroupBox4: TGroupBox;
|
|
CheckBox5: TCheckBox;
|
|
CheckBox6: TCheckBox;
|
|
CheckBox7: TCheckBox;
|
|
CheckBox24: TCheckBox;
|
|
CheckBox25: TCheckBox;
|
|
CheckBox37: TCheckBox;
|
|
CheckBox41: TCheckBox;
|
|
CheckBox42: TCheckBox;
|
|
GroupBox5: TGroupBox;
|
|
CheckBox31: TCheckBox;
|
|
CheckBox36: TCheckBox;
|
|
CheckBox39: TCheckBox;
|
|
CheckBox40: TCheckBox;
|
|
GroupBox6: TGroupBox;
|
|
CheckBox2: TCheckBox;
|
|
CheckBox12: TCheckBox;
|
|
CheckBox28: TCheckBox;
|
|
CheckBox29: TCheckBox;
|
|
GroupBox7: TGroupBox;
|
|
CheckBox13: TCheckBox;
|
|
CheckBox14: TCheckBox;
|
|
CheckBox17: TCheckBox;
|
|
CheckBox23: TCheckBox;
|
|
CheckBox33: TCheckBox;
|
|
GroupBox8: TGroupBox;
|
|
CheckBox22: TCheckBox;
|
|
CheckBox26: TCheckBox;
|
|
CheckBox30: TCheckBox;
|
|
CheckBox34: TCheckBox;
|
|
CheckBox35: TCheckBox;
|
|
CheckBox38: TCheckBox;
|
|
CheckBox45: TCheckBox;
|
|
CheckBox46: TCheckBox;
|
|
procedure EnableCheckBoxClick(Sender: TObject);
|
|
protected
|
|
procedure SetActiveState(CheckBox: TCheckBox; Active: Boolean);
|
|
end;
|
|
|
|
var
|
|
StateForm: TStateForm;
|
|
|
|
procedure UpdateStateDisplay(CurrentStates, Enter, Leave: TVirtualTreeStates);
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
|
|
procedure UpdateStateDisplay(CurrentStates, Enter, Leave: TVirtualTreeStates);
|
|
|
|
var
|
|
NewStates: TVirtualTreeStates;
|
|
|
|
begin
|
|
with StateForm do
|
|
if EnableCheckBox.Checked then
|
|
begin
|
|
// At this point the new states are not yet set. So construct the new set here.
|
|
NewStates := CurrentStates + Enter - Leave;
|
|
SetActiveState(CheckBox1, tsChangePending in NewStates);
|
|
SetActiveState(CheckBox2, tsCollapsing in NewStates);
|
|
SetActiveState(CheckBox3, tsToggleFocusedSelection in NewStates);
|
|
SetActiveState(CheckBox4, tsClearPending in NewStates);
|
|
SetActiveState(CheckBox5, tsClipboardFlushing in NewStates);
|
|
SetActiveState(CheckBox6, tsCopyPending in NewStates);
|
|
SetActiveState(CheckBox7, tsCutPending in NewStates);
|
|
SetActiveState(CheckBox8, tsDrawSelPending in NewStates);
|
|
SetActiveState(CheckBox9, tsDrawSelecting in NewStates);
|
|
SetActiveState(CheckBox10, tsEditing in NewStates);
|
|
SetActiveState(CheckBox11, tsEditPending in NewStates);
|
|
SetActiveState(CheckBox12, tsExpanding in NewStates);
|
|
SetActiveState(CheckBox13, tsHint in NewStates);
|
|
SetActiveState(CheckBox14, tsInAnimation in NewStates);
|
|
SetActiveState(CheckBox15, tsIncrementalSearching in NewStates);
|
|
SetActiveState(CheckBox16, tsIncrementalSearchPending in NewStates);
|
|
SetActiveState(CheckBox17, tsIterating in NewStates);
|
|
SetActiveState(CheckBox18, tsKeyCheckPending in NewStates);
|
|
SetActiveState(CheckBox19, tsLeftButtonDown in NewStates);
|
|
SetActiveState(CheckBox20, tsMouseCheckPending in NewStates);
|
|
SetActiveState(CheckBox21, tsMiddleButtonDown in NewStates);
|
|
{$if VTMajorVersion < 5}
|
|
SetActiveState(CheckBox22, tsNeedScale in NewStates);
|
|
{$endif}
|
|
SetActiveState(CheckBox23, tsNeedRootCountUpdate in NewStates);
|
|
SetActiveState(CheckBox24, tsOLEDragging in NewStates);
|
|
SetActiveState(CheckBox25, tsOLEDragPending in NewStates);
|
|
SetActiveState(CheckBox26, tsPainting in NewStates);
|
|
SetActiveState(CheckBox27, tsRightButtonDown in NewStates);
|
|
SetActiveState(CheckBox28, tsScrolling in NewStates);
|
|
SetActiveState(CheckBox29, tsScrollPending in NewStates);
|
|
SetActiveState(CheckBox30, tsSizing in NewStates);
|
|
SetActiveState(CheckBox31, tsStopValidation in NewStates);
|
|
SetActiveState(CheckBox32, tsStructureChangePending in NewStates);
|
|
SetActiveState(CheckBox33, tsSynchMode in NewStates);
|
|
SetActiveState(CheckBox34, tsThumbTracking in NewStates);
|
|
SetActiveState(CheckBox35, tsUpdating in NewStates);
|
|
SetActiveState(CheckBox36, tsUseCache in NewStates);
|
|
SetActiveState(CheckBox37, tsUserDragObject in NewStates);
|
|
SetActiveState(CheckBox38, tsUseThemes in NewStates);
|
|
SetActiveState(CheckBox39, tsValidating in NewStates);
|
|
SetActiveState(CheckBox40, tsValidationNeeded in NewStates);
|
|
SetActiveState(CheckBox41, tsVCLDragging in NewStates);
|
|
SetActiveState(CheckBox42, tsVCLDragPending in NewStates);
|
|
SetActiveState(CheckBox43, tsWheelPanning in NewStates);
|
|
SetActiveState(CheckBox44, tsWheelScrolling in NewStates);
|
|
SetActiveState(CheckBox45, tsWindowCreating in NewStates);
|
|
SetActiveState(CheckBox46, tsPopupMenuShown in NewStates);
|
|
|
|
Update;
|
|
end;
|
|
end;
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
|
|
procedure TStateForm.EnableCheckBoxClick(Sender: TObject);
|
|
|
|
begin
|
|
CheckBox1.Enabled := EnableCheckBox.Checked;
|
|
CheckBox2.Enabled := EnableCheckBox.Checked;
|
|
CheckBox3.Enabled := EnableCheckBox.Checked;
|
|
CheckBox4.Enabled := EnableCheckBox.Checked;
|
|
CheckBox5.Enabled := EnableCheckBox.Checked;
|
|
CheckBox6.Enabled := EnableCheckBox.Checked;
|
|
CheckBox7.Enabled := EnableCheckBox.Checked;
|
|
CheckBox8.Enabled := EnableCheckBox.Checked;
|
|
CheckBox9.Enabled := EnableCheckBox.Checked;
|
|
CheckBox10.Enabled := EnableCheckBox.Checked;
|
|
CheckBox11.Enabled := EnableCheckBox.Checked;
|
|
CheckBox12.Enabled := EnableCheckBox.Checked;
|
|
CheckBox13.Enabled := EnableCheckBox.Checked;
|
|
CheckBox14.Enabled := EnableCheckBox.Checked;
|
|
CheckBox15.Enabled := EnableCheckBox.Checked;
|
|
CheckBox16.Enabled := EnableCheckBox.Checked;
|
|
CheckBox17.Enabled := EnableCheckBox.Checked;
|
|
CheckBox18.Enabled := EnableCheckBox.Checked;
|
|
CheckBox19.Enabled := EnableCheckBox.Checked;
|
|
CheckBox20.Enabled := EnableCheckBox.Checked;
|
|
CheckBox21.Enabled := EnableCheckBox.Checked;
|
|
CheckBox22.Enabled := EnableCheckBox.Checked;
|
|
CheckBox23.Enabled := EnableCheckBox.Checked;
|
|
CheckBox24.Enabled := EnableCheckBox.Checked;
|
|
CheckBox25.Enabled := EnableCheckBox.Checked;
|
|
CheckBox26.Enabled := EnableCheckBox.Checked;
|
|
CheckBox27.Enabled := EnableCheckBox.Checked;
|
|
CheckBox28.Enabled := EnableCheckBox.Checked;
|
|
CheckBox29.Enabled := EnableCheckBox.Checked;
|
|
CheckBox30.Enabled := EnableCheckBox.Checked;
|
|
CheckBox31.Enabled := EnableCheckBox.Checked;
|
|
CheckBox32.Enabled := EnableCheckBox.Checked;
|
|
CheckBox33.Enabled := EnableCheckBox.Checked;
|
|
CheckBox34.Enabled := EnableCheckBox.Checked;
|
|
CheckBox35.Enabled := EnableCheckBox.Checked;
|
|
CheckBox36.Enabled := EnableCheckBox.Checked;
|
|
CheckBox37.Enabled := EnableCheckBox.Checked;
|
|
CheckBox38.Enabled := EnableCheckBox.Checked;
|
|
CheckBox39.Enabled := EnableCheckBox.Checked;
|
|
CheckBox40.Enabled := EnableCheckBox.Checked;
|
|
CheckBox41.Enabled := EnableCheckBox.Checked;
|
|
CheckBox42.Enabled := EnableCheckBox.Checked;
|
|
CheckBox43.Enabled := EnableCheckBox.Checked;
|
|
CheckBox44.Enabled := EnableCheckBox.Checked;
|
|
CheckBox45.Enabled := EnableCheckBox.Checked;
|
|
CheckBox46.Enabled := EnableCheckBox.Checked;
|
|
end;
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
|
|
procedure TStateForm.SetActiveState(CheckBox: TCheckBox; Active: Boolean);
|
|
|
|
begin
|
|
CheckBox.Checked := Active;
|
|
if Active then
|
|
CheckBox.Font.Style := [fsBold]
|
|
else
|
|
CheckBox.Font.Style := [];
|
|
end;
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
end.
|