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
This commit is contained in:
parent
a657069cc5
commit
79cd1d2ccb
@ -415,6 +415,7 @@ public:
|
||||
|
||||
int deselect_all(Fl_Tree_Item *item=0);
|
||||
int select_only(Fl_Tree_Item *selitem);
|
||||
int select_all(Fl_Tree_Item *item=0);
|
||||
|
||||
/// See if the specified item is selected.
|
||||
/// \return
|
||||
|
@ -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;
|
||||
|
@ -347,6 +347,19 @@ int Fl_Tree::deselect_all(Fl_Tree_Item *item) {
|
||||
return(count);
|
||||
}
|
||||
|
||||
/// Select item and all its children.
|
||||
/// If item is NULL, root() is used.
|
||||
/// Handles calling redraw() if anything was changed.
|
||||
/// Returns count of how many items were in the 'deselected' state,
|
||||
/// ie. how many items were "changed".
|
||||
///
|
||||
int Fl_Tree::select_all(Fl_Tree_Item *item) {
|
||||
item = item ? item : root(); // NULL? use root()
|
||||
int count = item->select_all();
|
||||
if ( count ) redraw(); // anything changed? cause redraw
|
||||
return(count);
|
||||
}
|
||||
|
||||
/// Select only this item.
|
||||
/// If item is NULL, root() is used.
|
||||
/// Handles calling redraw() if anything was changed.
|
||||
|
@ -64,6 +64,7 @@ Fl_Tree_Item::Fl_Tree_Item(const Fl_Tree_Prefs &prefs) {
|
||||
_label_xywh[2] = 0;
|
||||
_label_xywh[3] = 0;
|
||||
_usericon = 0;
|
||||
_userdata = 0;
|
||||
_parent = 0;
|
||||
}
|
||||
|
||||
@ -103,7 +104,7 @@ Fl_Tree_Item::Fl_Tree_Item(const Fl_Tree_Item *o) {
|
||||
_label_xywh[2] = o->_label_xywh[2];
|
||||
_label_xywh[3] = o->_label_xywh[3];
|
||||
_usericon = o->usericon();
|
||||
_userdata = 0;
|
||||
_userdata = o->user_data();
|
||||
_parent = o->_parent;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user