summaryrefslogtreecommitdiff
path: root/FL/Fl_Tree_Item.H
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2009-12-08 08:39:31 +0000
committerGreg Ercolano <erco@seriss.com>2009-12-08 08:39:31 +0000
commit79cd1d2ccb62f22adf8b1ed4e8b5dfb5dea845bc (patch)
tree2709bb4cfd1b4ba290ac0e84eb0f92a909f9156a /FL/Fl_Tree_Item.H
parenta657069cc53cc05245762e9323efa040a9f70da2 (diff)
Small fixed to SebHoll's user_data() mods (init + copy ctor),
added select_all() to Fl_Tree and Fl_Tree_Item. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6957 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_Tree_Item.H')
-rw-r--r--FL/Fl_Tree_Item.H15
1 files changed, 15 insertions, 0 deletions
diff --git a/FL/Fl_Tree_Item.H b/FL/Fl_Tree_Item.H
index 674955cd4..b10b1e838 100644
--- a/FL/Fl_Tree_Item.H
+++ b/FL/Fl_Tree_Item.H
@@ -221,6 +221,21 @@ public:
select(); // select if deselected
}
}
+ /// Select self and all children
+ /// Returns count of how many items were in the 'deselected' state,
+ /// ie. how many items were "changed".
+ ///
+ int select_all() {
+ int count = 0;
+ if ( ! is_selected() ) {
+ select();
+ ++count;
+ }
+ for ( int t=0; t<children(); t++ ) {
+ count += child(t)->select_all();
+ }
+ return(count);
+ }
/// Disable the item's selection state.
void deselect() {
_selected = 0;