summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/fpg_tree.pas30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/gui/fpg_tree.pas b/src/gui/fpg_tree.pas
index e58cf6f9..5f12ea1f 100644
--- a/src/gui/fpg_tree.pas
+++ b/src/gui/fpg_tree.pas
@@ -223,6 +223,8 @@ type
function GetColumnWidth(AIndex: word): word;
procedure GotoNextNodeUp;
procedure GotoNextNodeDown;
+ procedure FullCollapse;
+ procedure FullExpand;
property Font: TfpgFont read FFont;
// Invisible node that starts the tree
property RootNode: TfpgTreeNode read GetRootNode;
@@ -1101,6 +1103,34 @@ begin
Selection := NextNode(Selection);
end;
+procedure TfpgTreeView.FullCollapse;
+var
+ n: TfpgTreeNode;
+begin
+ n := NextNode(RootNode);
+ repeat
+ if n <> nil then
+ begin
+ n.Collapse;
+ end;
+ n := NextNode(n);
+ until n = nil;
+end;
+
+procedure TfpgTreeView.FullExpand;
+var
+ n: TfpgTreeNode;
+begin
+ n := NextNode(RootNode);
+ repeat
+ if n <> nil then
+ begin
+ n.Expand;
+ end;
+ n := NextNode(n);
+ until n = nil;
+end;
+
procedure TfpgTreeview.PreCalcColumnLeft;
var
Aleft: TfpgCoord;