mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 14:29:36 +02:00
Designer: Make the link between designer and TabOrder dialog work both ways.
git-svn-id: trunk@52631 -
This commit is contained in:
parent
df4030e5cf
commit
fd107ecf9e
@ -9,7 +9,7 @@ object TabOrderDialog: TTabOrderDialog
|
||||
ClientWidth = 310
|
||||
OnCreate = TabOrderDialogCREATE
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.31'
|
||||
LCLVersion = '1.7'
|
||||
Visible = True
|
||||
object ArrowUp: TSpeedButton
|
||||
AnchorSideRight.Control = Owner
|
||||
@ -20,7 +20,6 @@ object TabOrderDialog: TTabOrderDialog
|
||||
Width = 25
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Around = 6
|
||||
NumGlyphs = 0
|
||||
OnClick = UpSpeedbuttonCLICK
|
||||
ShowHint = True
|
||||
ParentShowHint = False
|
||||
@ -34,7 +33,6 @@ object TabOrderDialog: TTabOrderDialog
|
||||
Width = 25
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Around = 6
|
||||
NumGlyphs = 0
|
||||
OnClick = DownSpeedbuttonCLICK
|
||||
ShowHint = True
|
||||
ParentShowHint = False
|
||||
@ -48,13 +46,12 @@ object TabOrderDialog: TTabOrderDialog
|
||||
Width = 267
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Around = 6
|
||||
DefaultItemHeight = 16
|
||||
HideSelection = False
|
||||
ReadOnly = True
|
||||
RightClickSelect = True
|
||||
TabOrder = 0
|
||||
OnClick = ItemTreeviewClick
|
||||
OnKeyDown = ItemTreeviewKeyDown
|
||||
OnSelectionChanged = ItemTreeviewSelectionChanged
|
||||
Options = [tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips]
|
||||
end
|
||||
object SortByPositionButton: TBitBtn
|
||||
|
@ -44,9 +44,9 @@ type
|
||||
ArrowUp: TSpeedButton;
|
||||
ItemTreeview: TTreeView;
|
||||
SortByPositionButton: TBitBtn;
|
||||
procedure ItemTreeviewSelectionChanged(Sender: TObject);
|
||||
procedure SortByPositionButtonClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure ItemTreeviewClick(Sender: TObject);
|
||||
procedure TabOrderDialogCreate(Sender: TObject);
|
||||
procedure UpSpeedbuttonClick(Sender: TObject);
|
||||
procedure DownSpeedbuttonClick(Sender: TObject);
|
||||
@ -199,10 +199,19 @@ begin
|
||||
CheckButtonsEnabled;
|
||||
end;
|
||||
|
||||
procedure TTabOrderDialog.ItemTreeviewClick(Sender: TObject);
|
||||
procedure TTabOrderDialog.ItemTreeviewSelectionChanged(Sender: TObject);
|
||||
var
|
||||
Node: TTreeNode;
|
||||
begin
|
||||
if FUpdating then Exit;
|
||||
Node := ItemTreeview.Selected;
|
||||
if Assigned(Node) then begin
|
||||
FUpdating := True;
|
||||
GlobalDesignHook.SelectOnlyThis(TPersistent(Node.Data));
|
||||
FUpdating := False;
|
||||
CheckButtonsEnabled;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTabOrderDialog.UpSpeedbuttonClick(Sender: TObject);
|
||||
var
|
||||
@ -409,6 +418,8 @@ var
|
||||
Node: TTreeNode;
|
||||
begin
|
||||
// ToDo: support also multiply selections.
|
||||
if FUpdating then Exit;
|
||||
FUpdating := True;
|
||||
ItemTreeview.BeginUpdate;
|
||||
Node := ItemTreeview.Items.GetFirstNode;
|
||||
while Assigned(Node) do begin
|
||||
@ -423,6 +434,7 @@ begin
|
||||
Node := Node.GetNext;
|
||||
end;
|
||||
ItemTreeview.EndUpdate;
|
||||
FUpdating := False;
|
||||
CheckButtonsEnabled;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user