mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 16:19:27 +02:00
Designer: Update Enable state of buttons in Tab Order dialog while user navigates it
git-svn-id: trunk@30350 -
This commit is contained in:
parent
1977485b9c
commit
71961a04c9
@ -50,6 +50,7 @@ object TabOrderDialog: TTabOrderDialog
|
|||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
RightClickSelect = True
|
RightClickSelect = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
OnClick = ItemTreeviewClick
|
||||||
Options = [tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips]
|
Options = [tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -44,12 +44,14 @@ type
|
|||||||
ArrowUp: TSpeedButton;
|
ArrowUp: TSpeedButton;
|
||||||
ItemTreeview: TTreeView;
|
ItemTreeview: TTreeView;
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure ItemTreeviewClick(Sender: TObject);
|
||||||
procedure TabOrderDialogCREATE(Sender: TObject);
|
procedure TabOrderDialogCREATE(Sender: TObject);
|
||||||
procedure UpSpeedbuttonCLICK(Sender: TObject);
|
procedure UpSpeedbuttonCLICK(Sender: TObject);
|
||||||
procedure DownSpeedbuttonCLICK(Sender: TObject);
|
procedure DownSpeedbuttonCLICK(Sender: TObject);
|
||||||
private
|
private
|
||||||
FUpdating: Boolean;
|
FUpdating: Boolean;
|
||||||
function SwapNodes(ANode1, ANode2: TTreeNode): boolean;
|
function SwapNodes(ANode1, ANode2: TTreeNode): boolean;
|
||||||
|
procedure CheckButtonsEnabled;
|
||||||
procedure CreateNodes(ParentControl: TWinControl; ParentNode: TTreeNode);
|
procedure CreateNodes(ParentControl: TWinControl; ParentNode: TTreeNode);
|
||||||
procedure Refresh(Force: boolean);
|
procedure Refresh(Force: boolean);
|
||||||
procedure OnSomethingChanged;
|
procedure OnSomethingChanged;
|
||||||
@ -94,6 +96,11 @@ begin
|
|||||||
Refresh(true);
|
Refresh(true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTabOrderDialog.ItemTreeviewClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
CheckButtonsEnabled;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTabOrderDialog.UpSpeedbuttonCLICK(Sender: TObject);
|
procedure TTabOrderDialog.UpSpeedbuttonCLICK(Sender: TObject);
|
||||||
var
|
var
|
||||||
CurItem, NewItem: TTreeNode;
|
CurItem, NewItem: TTreeNode;
|
||||||
@ -103,6 +110,7 @@ begin
|
|||||||
NewItem := CurItem.GetPrevSibling;
|
NewItem := CurItem.GetPrevSibling;
|
||||||
SwapNodes(NewItem, CurItem);
|
SwapNodes(NewItem, CurItem);
|
||||||
ItemTreeview.Selected:=CurItem;
|
ItemTreeview.Selected:=CurItem;
|
||||||
|
CheckButtonsEnabled;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TTabOrderDialog.DownSpeedbuttonCLICK(Sender: TObject);
|
procedure TTabOrderDialog.DownSpeedbuttonCLICK(Sender: TObject);
|
||||||
@ -114,6 +122,7 @@ begin
|
|||||||
NewItem := CurItem.GetNextSibling;
|
NewItem := CurItem.GetNextSibling;
|
||||||
SwapNodes(CurItem, NewItem);
|
SwapNodes(CurItem, NewItem);
|
||||||
ItemTreeview.Selected:=CurItem;
|
ItemTreeview.Selected:=CurItem;
|
||||||
|
CheckButtonsEnabled;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TTabOrderDialog.SwapNodes(ANode1, ANode2: TTreeNode): boolean;
|
function TTabOrderDialog.SwapNodes(ANode1, ANode2: TTreeNode): boolean;
|
||||||
@ -131,6 +140,15 @@ begin
|
|||||||
ANode2.Text := Ctrl2.Name + ' (' + IntToStr(Ctrl2.TabOrder) + ')';
|
ANode2.Text := Ctrl2.Name + ' (' + IntToStr(Ctrl2.TabOrder) + ')';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTabOrderDialog.CheckButtonsEnabled;
|
||||||
|
var
|
||||||
|
CurItem: TTreeNode;
|
||||||
|
begin
|
||||||
|
CurItem:=ItemTreeview.Selected;
|
||||||
|
ArrowUp.Enabled := Assigned(CurItem) and Assigned(CurItem.GetPrevSibling);
|
||||||
|
ArrowDown.Enabled := Assigned(CurItem) and Assigned(CurItem.GetNextSibling);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTabOrderDialog.CreateNodes(ParentControl: TWinControl; ParentNode: TTreeNode);
|
procedure TTabOrderDialog.CreateNodes(ParentControl: TWinControl; ParentNode: TTreeNode);
|
||||||
var
|
var
|
||||||
AControl: TControl;
|
AControl: TControl;
|
||||||
@ -184,6 +202,7 @@ begin
|
|||||||
if Assigned(LookupRoot) and (LookupRoot is TWinControl) then begin
|
if Assigned(LookupRoot) and (LookupRoot is TWinControl) then begin
|
||||||
CreateNodes(TWinControl(LookupRoot), nil);
|
CreateNodes(TWinControl(LookupRoot), nil);
|
||||||
Caption:=Format(lisTabOrderOf, [TWinControl(LookupRoot).Name]);
|
Caption:=Format(lisTabOrderOf, [TWinControl(LookupRoot).Name]);
|
||||||
|
CheckButtonsEnabled;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
ItemTreeview.EndUpdate;
|
ItemTreeview.EndUpdate;
|
||||||
|
Loading…
Reference in New Issue
Block a user