summaryrefslogtreecommitdiff
path: root/examples/gui/treeviewtest
diff options
context:
space:
mode:
authorgraemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf>2008-02-13 20:20:32 +0000
committergraemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf>2008-02-13 20:20:32 +0000
commit7d789a8862bd372d4a6a647cc75a95b7c95979cf (patch)
tree355cf930f911994b6ad655fafe1aebdc7a4e76ee /examples/gui/treeviewtest
parent6dccfb0375b69e2661174d0728165980b71706c2 (diff)
downloadfpGUI-7d789a8862bd372d4a6a647cc75a95b7c95979cf.tar.xz
* Treeview component now has support for node images
Diffstat (limited to 'examples/gui/treeviewtest')
-rw-r--r--examples/gui/treeviewtest/treeviewtest.lpr65
1 files changed, 57 insertions, 8 deletions
diff --git a/examples/gui/treeviewtest/treeviewtest.lpr b/examples/gui/treeviewtest/treeviewtest.lpr
index 68fb9f91..f8343fc6 100644
--- a/examples/gui/treeviewtest/treeviewtest.lpr
+++ b/examples/gui/treeviewtest/treeviewtest.lpr
@@ -11,18 +11,39 @@ uses
fpgfx,
gui_form,
gui_tree,
- gfxbase;
+ gui_checkbox,
+ gfxbase,
+ gfx_imagelist;
type
+
+ { TMainForm }
+
TMainForm = class(TfpgForm)
private
tree: TfpgTreeView;
+ imagelist: TfpgImageList;
+ cbShowImages: TfpgCheckBox;
+ cbIndentNode: TfpgCheckBox;
+ procedure cbShowImagesChange(Sender: TObject);
+ procedure cbIndentNodeChange(Sender: TObject);
public
constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
end;
{ TMainForm }
+procedure TMainForm.cbIndentNodeChange(Sender: TObject);
+begin
+ tree.IndentNodeWithNoImage := cbIndentNode.Checked;
+end;
+
+procedure TMainForm.cbShowImagesChange(Sender: TObject);
+begin
+ tree.ShowImages := cbShowImages.Checked;
+end;
+
constructor TMainForm.Create(AOwner: TComponent);
var
n: TfpgTreeNode;
@@ -33,21 +54,32 @@ begin
inherited Create(AOwner);
WindowTitle := 'Treeview Test';
WindowPosition := wpUser;
- SetPosition(100, 100, 300, 200);
-
+ SetPosition(100, 100, 300, 230);
+
+ // create a image list
+ imagelist := TfpgImageList.Create;
+ imagelist.AddItemFromFile('../../../images/folder_16.bmp', 0);
+ imagelist.AddItemFromFile('../../../images/menu_preferences_16.bmp', 1);
+
+ // create a treeview
tree := TfpgTreeView.Create(self);
- tree.SetPosition(8, 8, Width-16, Height-16);
+ tree.SetPosition(8, 8, Width-16, 200-16);
tree.Anchors := [anTop, anLeft, anRight, anBottom];
// tree.ShowColumns := True;
// tree.TreeLineStyle := lsSolid;
tree.ScrollWheelDelta := 30;
+ tree.ImageList := imagelist;
+ tree.ShowImages := True;
n := tree.RootNode.AppendText('Node 1');
- n.AppendText('Node 1.1');
- n.AppendText('Node 1.2');
+ n.ImageIndex := 0;
+ n.AppendText('Node 1.1').ImageIndex := 1;
+ n.AppendText('Node 1.2').ImageIndex := 1;
n := tree.RootNode.AppendText('Node 2');
- n.AppendText('Node 2.1');
+ n.ImageIndex := 0;
+ n.AppendText('Node 2.1').ImageIndex := 1;
n := n.AppendText('Node 2.2 The quick brownfox jumps over the...');
+ n.ImageIndex := 1;
for i := 1 to 3 do
begin
s := Format('Node 2.2.%d', [i]);
@@ -58,7 +90,7 @@ begin
end;
n.Parent.AppendText('Node 2.3');
tree.RootNode.FirstSubNode.Next.Collapse;
- tree.RootNode.AppendText('Node 3');
+ tree.RootNode.AppendText('Node 3').ImageIndex := 0;
tree.Selection := n;
// n := tree.RootNode.FindSubNode('Node 2.2.2', True);
if Assigned(n2) then
@@ -66,6 +98,23 @@ begin
n2.AppendText('Child 1').AppendText('Child 2');
n2.Collapsed := False;
end;
+
+ // create a checkbox
+ cbShowImages := CreateCheckBox(self, 8, 204, 'Show images');
+ cbShowImages.Checked := True;
+ cbShowImages.OnChange := @cbShowImagesChange;
+
+ // create a checkbox
+ cbIndentNode := CreateCheckBox(self, 120, 204, 'Indent node with no image');
+ cbIndentNode.Checked := True;
+ cbIndentNode.OnChange := @cbIndentNodeChange;
+end;
+
+destructor TMainForm.Destroy;
+begin
+ tree.ImageList := nil;
+ imagelist.Free;
+ inherited Destroy;
end;