Tree widget. More...
#include <Fl_Tree.H>
Public Member Functions | |
Fl_Tree_Item * | add (Fl_Tree_Item *parent_item, const char *name) |
Add a new child item labeled 'name' to the specified 'parent_item' . | |
Fl_Tree_Item * | add (const char *path, Fl_Tree_Item *newitem) |
Adds a new item, given a menu style 'path' . | |
Fl_Tree_Item * | add (const char *path) |
Adds a new item given a menu style 'path' . | |
Fl_Tree_Item * | callback_item () |
Gets the item that caused the callback. | |
void | callback_item (Fl_Tree_Item *item) |
Sets the item that was changed for this callback. | |
Fl_Tree_Reason | callback_reason () const |
Gets the reason for this callback. | |
void | callback_reason (Fl_Tree_Reason reason) |
Sets the reason for this callback. | |
void | clear () |
Clear the entire tree's children, including the root. | |
void | clear_children (Fl_Tree_Item *item) |
Clear all the children for 'item' . | |
int | close (const char *path, int docallback=1) |
Closes the item specified by 'path' . | |
int | close (Fl_Tree_Item *item, int docallback=1) |
Closes the specified 'item' . | |
void | closeicon (Fl_Image *val) |
Sets the icon to be used as the 'close' icon. | |
Fl_Image * | closeicon () const |
Returns the icon to be used as the 'close' icon. | |
void | connectorcolor (Fl_Color val) |
Set the connector color used for tree connection lines. | |
Fl_Color | connectorcolor () const |
Get the connector color used for tree connection lines. | |
void | connectorstyle (Fl_Tree_Connector val) |
Sets the line drawing style for inter-connecting items. | |
Fl_Tree_Connector | connectorstyle () const |
Returns the line drawing style for inter-connecting items. | |
void | connectorwidth (int val) |
Sets the width of the horizontal connection lines (in pixels) that appear to the left of each tree item's label. | |
int | connectorwidth () const |
Gets the width of the horizontal connection lines (in pixels) that appear to the left of each tree item's label. | |
int | deselect (const char *path, int docallback=1) |
Deselect an item specified by 'path' . | |
int | deselect (Fl_Tree_Item *item, int docallback=1) |
Deselect the specified item . | |
int | deselect_all (Fl_Tree_Item *item=0, int docallback=1) |
Deselect 'item' and all its children. | |
void | display (Fl_Tree_Item *item) |
Displays 'item' , scrolling the tree as necessary. | |
int | displayed (Fl_Tree_Item *item) |
See if 'item' is currently displayed on-screen (visible within the widget). | |
void | draw () |
Standard FLTK draw() method, handles drawing the tree widget. | |
int | extend_selection_dir (Fl_Tree_Item *from, Fl_Tree_Item *to, int dir, int val, bool visible) |
Extend the selection between and including 'from' and 'to' depending on direction 'dir' , 'val' , and 'visible' . | |
Fl_Tree_Item * | find_clicked () |
Non-const version of Fl_Tree::find_clicked() const. | |
const Fl_Tree_Item * | find_clicked () const |
Find the item that was last clicked on. | |
const Fl_Tree_Item * | find_item (const char *path) const |
Find the item, given a menu style path, e.g. | |
Fl_Tree_Item * | find_item (const char *path) |
Non-const version of Fl_Tree::find_item(const char *path) const. | |
Fl_Tree_Item * | first () |
Returns the first item in the tree, or 0 if none. | |
Fl_Tree_Item * | first_selected_item () |
Returns the first selected item in the tree. | |
Fl_Tree_Item * | first_visible () |
Returns the first open(), visible item in the tree, or 0 if none. | |
Fl_Tree_Item * | first_visible_item () |
Returns the first open(), visible item in the tree, or 0 if none. | |
Fl_Tree (int X, int Y, int W, int H, const char *L=0) | |
Constructor. | |
Fl_Tree_Item * | get_item_focus () const |
Get the item that currently has keyboard focus. | |
int | handle (int e) |
Standard FLTK event handler for this widget. | |
void | hposition (int pos) |
Sets the horizontal scroll offset to position 'pos' . | |
int | hposition () const |
Returns the horizontal scroll position as a pixel offset. | |
Fl_Tree_Item * | insert (Fl_Tree_Item *item, const char *name, int pos) |
Insert a new item 'name' into 'item's children at position 'pos' . | |
Fl_Tree_Item * | insert_above (Fl_Tree_Item *above, const char *name) |
Inserts a new item 'name' above the specified Fl_Tree_Item 'above' . | |
int | is_close (const char *path) const |
See if item specified by 'path' is closed. | |
int | is_close (Fl_Tree_Item *item) const |
See if the specified 'item' is closed. | |
int | is_hscroll_visible () const |
See if the horizontal scrollbar is currently visible. | |
int | is_open (const char *path) const |
See if item specified by 'path' is open. | |
int | is_open (Fl_Tree_Item *item) const |
See if 'item' is open. | |
int | is_scrollbar (Fl_Widget *w) |
See if widget 'w' is one of the Fl_Tree widget's scrollbars. | |
int | is_selected (const char *path) |
See if item specified by 'path' is selected. | |
int | is_selected (Fl_Tree_Item *item) const |
See if the specified 'item' is selected. | |
int | is_vscroll_visible () const |
See if the vertical scrollbar is currently visible. | |
Fl_Tree_Item * | item_clicked () |
Return the item that was last clicked. | |
void | item_labelbgcolor (Fl_Color val) |
Set the default label background color used for creating new items. | |
Fl_Color | item_labelbgcolor (void) const |
Get the default label background color used for creating new items. | |
void | item_labelfgcolor (Fl_Color val) |
Set the default label foreground color used for creating new items. | |
Fl_Color | item_labelfgcolor (void) const |
Get the default label foreground color used for creating new items. | |
void | item_labelfont (Fl_Font val) |
Set the default font face used for creating new items. | |
Fl_Font | item_labelfont () const |
Get the default font face used for creating new items. | |
void | item_labelsize (Fl_Fontsize val) |
Set the default label font size used for creating new items. | |
Fl_Fontsize | item_labelsize () const |
Get the default label fontsize used for creating new items. | |
int | item_pathname (char *pathname, int pathnamelen, const Fl_Tree_Item *item) const |
Return 'pathname' of size 'pathnamelen' for the specified 'item' . | |
void | labelmarginleft (int val) |
Set the amount of white space (in pixels) that should appear to the left of the label text. | |
int | labelmarginleft () const |
Get the amount of white space (in pixels) that should appear to the left of the label text. | |
Fl_Tree_Item * | last () |
Returns the last item in the tree. | |
Fl_Tree_Item * | last_selected_item () |
Returns the last selected item in the tree. | |
Fl_Tree_Item * | last_visible () |
Returns the last open(), visible item in the tree. | |
Fl_Tree_Item * | last_visible_item () |
Returns the last open(), visible item in the tree. | |
void | linespacing (int val) |
Sets the amount of white space (in pixels) that should appear between items in the tree. | |
int | linespacing () const |
Get the amount of white space (in pixels) that should appear between items in the tree. | |
void | load (class Fl_Preferences &) |
Load FLTK preferences. | |
void | marginleft (int val) |
Set the amount of white space (in pixels) that should appear between the widget's left border and the left side of the tree's contents. | |
int | marginleft () const |
Get the amount of white space (in pixels) that should appear between the widget's left border and the tree's contents. | |
void | margintop (int val) |
Sets the amount of white space (in pixels) that should appear between the widget's top border and the top of the tree's contents. | |
int | margintop () const |
Get the amount of white space (in pixels) that should appear between the widget's top border and the top of the tree's contents. | |
Fl_Tree_Item * | next (Fl_Tree_Item *item=0) |
Return the next item after 'item' , or 0 if no more items. | |
Fl_Tree_Item * | next_item (Fl_Tree_Item *item, int dir=FL_Down, bool visible=false) |
Returns next item after 'item' in direction 'dir' depending on 'visible' . | |
Fl_Tree_Item * | next_selected_item (Fl_Tree_Item *item, int dir) |
Returns the next selected item above or below 'item' , depending on 'dir' . | |
Fl_Tree_Item * | next_selected_item (Fl_Tree_Item *item=0) |
Returns the next selected item after 'item' . | |
int | open (const char *path, int docallback=1) |
Opens the item specified by 'path' . | |
int | open (Fl_Tree_Item *item, int docallback=1) |
Open the specified 'item' . | |
void | open_toggle (Fl_Tree_Item *item, int docallback=1) |
Toggle the open state of 'item' . | |
void | openchild_marginbottom (int val) |
Set the amount of white space (in pixels) that should appear below an open child tree's contents. | |
int | openchild_marginbottom () const |
Get the amount of white space (in pixels) that should appear below an open child tree's contents. | |
void | openicon (Fl_Image *val) |
Sets the icon to be used as the 'open' icon. | |
Fl_Image * | openicon () const |
Returns the icon to be used as the 'open' icon. | |
const Fl_Tree_Prefs & | prefs () const |
Fl_Tree_Item * | prev (Fl_Tree_Item *item=0) |
Return the previous item before 'item' , or 0 if no more items. | |
void | recalc_tree () |
Schedule tree to recalc the entire tree size. | |
int | remove (Fl_Tree_Item *item) |
Remove the specified 'item' from the tree. | |
void | resize (int, int, int, int) |
Resizes the Fl_Group widget and all of its children. | |
void | root (Fl_Tree_Item *newitem) |
Sets the root item to 'newitem' . | |
Fl_Tree_Item * | root () |
Returns the root item. | |
void | root_label (const char *new_label) |
Set the label for the root item to 'new_label' . | |
void | scrollbar_size (int size) |
Sets the pixel size of the scrollbars' troughs to 'size' for this widget, in pixels. | |
int | scrollbar_size () const |
Gets the default size of scrollbars' troughs for this widget in pixels. | |
int | select (const char *path, int docallback=1) |
Select the item specified by 'path' . | |
int | select (Fl_Tree_Item *item, int docallback=1) |
Select the specified 'item' . | |
int | select_all (Fl_Tree_Item *item=0, int docallback=1) |
Select 'item' and all its children. | |
int | select_only (Fl_Tree_Item *selitem, int docallback=1) |
Select only the specified item, deselecting all others that might be selected. | |
void | select_toggle (Fl_Tree_Item *item, int docallback=1) |
Toggle the select state of the specified 'item' . | |
void | selectbox (Fl_Boxtype val) |
Gets the style of box used to draw selected items. | |
Fl_Boxtype | selectbox () const |
Sets the style of box used to draw selected items. | |
void | selectmode (Fl_Tree_Select val) |
Sets the tree's selection mode. | |
Fl_Tree_Select | selectmode () const |
Gets the tree's current selection mode. | |
void | set_item_focus (Fl_Tree_Item *item) |
Set the item that currently should have keyboard focus. | |
void | show_item (Fl_Tree_Item *item) |
Adjust the vertical scrollbar to show 'item' at the top of the display IF it is currently off-screen (for instance show_item_top()). | |
void | show_item (Fl_Tree_Item *item, int yoff) |
Adjust the vertical scrollbar so that 'item' is visible 'yoff' pixels from the top of the Fl_Tree widget's display. | |
void | show_item_bottom (Fl_Tree_Item *item) |
Adjust the vertical scrollbar so that 'item' is at the bottom of the display. | |
void | show_item_middle (Fl_Tree_Item *item) |
Adjust the vertical scrollbar so that 'item' is in the middle of the display. | |
void | show_item_top (Fl_Tree_Item *item) |
Adjust the vertical scrollbar so that 'item' is at the top of the display. | |
void | show_self () |
Print the tree as 'ascii art' to stdout. | |
void | showcollapse (int val) |
Set if we should show the collapse icon or not. | |
int | showcollapse () const |
Returns 1 if the collapse icon is enabled, 0 if not. | |
void | showroot (int val) |
Set if the root item should be shown or not. | |
int | showroot () const |
Returns 1 if the root item is to be shown, or 0 if not. | |
void | sortorder (Fl_Tree_Sort val) |
Gets the sort order used to add items to the tree. | |
Fl_Tree_Sort | sortorder () const |
Set the default sort order used when items are added to the tree. | |
void | usericon (Fl_Image *val) |
Sets the Fl_Image to be used as the default user icon for all newly created items. | |
Fl_Image * | usericon () const |
Returns the Fl_Image being used as the default user icon for all newly created items. | |
void | usericonmarginleft (int val) |
Set the amount of white space (in pixels) that should appear to the left of the usericon. | |
int | usericonmarginleft () const |
Get the amount of white space (in pixels) that should appear to the left of the usericon. | |
void | vposition (int pos) |
Sets the vertical scroll offset to position 'pos' . | |
int | vposition () const |
Returns the vertical scroll position as a pixel offset. | |
~Fl_Tree () | |
Destructor. | |
Protected Member Functions | |
void | do_callback_for_item (Fl_Tree_Item *item, Fl_Tree_Reason reason) |
Do the callback for the specified 'item' using 'reason' , setting the callback_item() and callback_reason(). | |
int | draw_tree () |
void | extend_selection (Fl_Tree_Item *from, Fl_Tree_Item *to) |
Extend a selection between 'from' and 'to' . | |
void | item_clicked (Fl_Tree_Item *val) |
Set the item that was last clicked. | |
Fl_Tree_Item * | next_visible_item (Fl_Tree_Item *start, int dir) |
Returns next open(), visible item above (dir==FL_Up ) or below (dir==FL_Down ) the specified 'item' , or 0 if no more items. | |
Protected Attributes | |
Fl_Scrollbar * | _vscroll |
Vertical scrollbar. | |
Friends | |
class | Fl_Tree_Item |
Tree widget.
Fl_Tree example program
Fl_Tree // Top level widget |--- Fl_Tree_Item // Items in the tree |--- Fl_Tree_Prefs // Preferences for the tree |--- Fl_Tree_Connector (enum) // Connection modes |--- Fl_Tree_Select (enum) // Selection modes |--- Fl_Tree_Sort (enum) // Sort behavior
Similar to Fl_Browser, Fl_Tree is a browser of Fl_Tree_Item's arranged in a parented hierarchy, or 'tree'. Subtrees can be expanded or closed. Items can be added, deleted, inserted, sorted and re-ordered.
The tree items may also contain other FLTK widgets, like buttons, input fields, or even "custom" widgets.
The callback() is invoked depending on the value of when():
The simple way to define a tree:
#include <FL/Fl_Tree.H> [..] Fl_Tree tree(X,Y,W,H); tree.begin(); tree.add("Flintstones/Fred"); tree.add("Flintstones/Wilma"); tree.add("Flintstones/Pebbles"); tree.add("Simpsons/Homer"); tree.add("Simpsons/Marge"); tree.add("Simpsons/Bart"); tree.add("Simpsons/Lisa"); tree.end();
void MyTreeCallback(Fl_Widget *w, void *data) { Fl_Tree *tree = (Fl_Tree*)w; Fl_Tree_Item *item = (Fl_Tree_Item*)tree->callback_item(); // get selected item switch ( tree->callback_reason() ) { case FL_TREE_REASON_SELECTED: [..] case FL_TREE_REASON_DESELECTED: [..] case FL_TREE_REASON_RESELECTED: [..] case FL_TREE_REASON_OPENED: [..] case FL_TREE_REASON_CLOSED: [..] }
for ( Fl_Tree_Item *i=first_selected_item(); i; i=next_selected_item(i) ) printf("Item %s is selected\n", i->label());
char pathname[256] = "???"; tree->item_pathname(pathname, sizeof(pathname), item); // eg. "Parent/Child/Item"
// Walk all the items in the tree, and print their labels for ( Fl_Tree_Item *item = tree->first(); item; item = tree->next(item) ) { printf("Item: %s\n", item->label()); }
// Find all of the item's children and print an indented report of their labels void my_print_all_children(Fl_Tree_Item *item, int indent=0) { for ( int t=0; t<item->children(); t++ ) { printf("%*s Item: %s\n", indent, "", item->child(t)->label()); my_print_all_children(item->child(t), indent+4); // recurse } }
tree = new Fl_Tree(..); tree->item_labelfont(FL_COURIER); // Use Courier font for all new items tree->item_labelfgcolor(FL_RED); // Use red color for labels of all new items [..] // Now create the items in the tree using the above defaults. tree->add("Aaa"); tree->add("Bbb"); [..]
// Change the font and color of all items currently in the tree for ( Fl_Tree_Item *item = tree->first(); item; item = tree->next(item) ) { item->labelfont(FL_COURIER); item->labelcolor(FL_RED); }
Fl_Tree inner/outer dimensions
Keyboard | FL_TREE_SELECT_MULTI | FL_TREE_SELECT_SINGLE | FL_TREE_SELECT_NONE |
Ctrl-A (Linux/Windows) | Select all items. | N/A | N/A |
Space | Selects item. | Selects item. | N/A |
Ctrl-Space | Toggle item. | Toggle item. | N/A |
Shift-Space | Extends selection | Selects item. | N/A |
Enter, | Toggles open/close | Toggles open/close | Toggles open/close |
Right / Left | Open/Close item. | Open/Close item. | Open/Close item. |
Up / Down | Move focus box up/down. | Move focus box up/down. | N/A |
Shift-Up / Shift-Down | Extend selection up/down. | Move focus up/down. | N/A |
Home / End | Move to top/bottom of tree. | Move to top/bottom of tree. | Move to top/bottom of tree. |
PageUp / PageDown | Page up/down. | Page up/down. | Page up/down. |
Fl_Tree_Item * Fl_Tree::add | ( | Fl_Tree_Item * | parent_item, | |
const char * | name | |||
) |
Add a new child item labeled 'name'
to the specified 'parent_item'
.
[in] | parent_item | The parent item the new child item will be added to. Must not be NULL. |
[in] | name | The label for the new item |
Fl_Tree_Item * Fl_Tree::add | ( | const char * | path, | |
Fl_Tree_Item * | item | |||
) |
Adds a new item, given a menu style 'path'
.
Any parent nodes that don't already exist are created automatically. Adds the item based on the value of sortorder(). If 'item'
is NULL, a new item is created.
To specify items or submenus that contain slashes ('/' or '\') use an escape character to protect them, e.g.
tree->add("/Holidays/Photos/12\\/25\\/2010"); // Adds item "12/25/2010" tree->add("/Pathnames/c:\\\\Program Files\\\\MyApp"); // Adds item "c:\Program Files\MyApp"
[in] | path | The path to the item, e.g. "Flintstone/Fred". |
[in] | item | The new item to be added. If NULL, a new item is created with a name that is the last element in 'path' . |
Fl_Tree_Item * Fl_Tree::add | ( | const char * | path | ) |
Adds a new item given a menu style 'path'
.
Same as calling add(path, NULL);
[in] | path | The path to the item to be created, e.g. "Flintstone/Fred". |
Fl_Tree_Item * Fl_Tree::callback_item | ( | ) |
Gets the item that caused the callback.
The callback() can use this value to see which item changed.
void Fl_Tree::callback_item | ( | Fl_Tree_Item * | item | ) |
Sets the item that was changed for this callback.
Used internally to pass the item that invoked the callback.
Fl_Tree_Reason Fl_Tree::callback_reason | ( | ) | const |
Gets the reason for this callback.
The callback() can use this value to see why it was called. Example:
void MyTreeCallback(Fl_Widget *w, void *userdata) { Fl_Tree *tree = (Fl_Tree*)w; Fl_Tree_Item *item = tree->callback_item(); // the item changed (can be NULL if more than one item was changed!) switch ( tree->callback_reason() ) { // reason callback was invoked case FL_TREE_REASON_OPENED: ..item was opened.. case FL_TREE_REASON_CLOSED: ..item was closed.. case FL_TREE_REASON_SELECTED: ..item was selected.. case FL_TREE_REASON_RESELECTED: ..item was reselected (double-clicked, etc).. case FL_TREE_REASON_DESELECTED: ..item was deselected.. } }
void Fl_Tree::callback_reason | ( | Fl_Tree_Reason | reason | ) |
Sets the reason for this callback.
Used internally to pass the reason the callback was invoked.
void Fl_Tree::clear | ( | ) |
Clear the entire tree's children, including the root.
The tree will be left completely empty.
Reimplemented from Fl_Group.
void Fl_Tree::clear_children | ( | Fl_Tree_Item * | item | ) |
Clear all the children for 'item'
.
Item may not be NULL.
int Fl_Tree::close | ( | const char * | path, | |
int | docallback = 1 | |||
) |
Closes the item specified by 'path'
.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
Items or submenus that themselves contain slashes ('/' or '\') should be escaped, e.g. close("Holidays/12\\/25\\/2010").
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | path | -- the tree item's pathname (e.g. "Flintstones/Fred") |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
int Fl_Tree::close | ( | Fl_Tree_Item * | item, | |
int | docallback = 1 | |||
) |
Closes the specified 'item'
.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | item | -- the item to be closed. Must not be NULL. |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
void Fl_Tree::closeicon | ( | Fl_Image * | val | ) |
Sets the icon to be used as the 'close' icon.
This overrides the built in default '[-]' icon.
[in] | val | -- The new image, or zero to use the default [-] icon. |
Fl_Image * Fl_Tree::closeicon | ( | ) | const |
Returns the icon to be used as the 'close' icon.
If none was set, the internal default is returned, a simple '[-]' icon.
void Fl_Tree::connectorstyle | ( | Fl_Tree_Connector | val | ) |
Sets the line drawing style for inter-connecting items.
See Fl_Tree_Connector for possible values.
int Fl_Tree::deselect | ( | const char * | path, | |
int | docallback = 1 | |||
) |
Deselect an item specified by 'path'
.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
Items or submenus that themselves contain slashes ('/' or '\') should be escaped, e.g. deselect("Holidays/12\\/25\\/2010").
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | path | -- the tree item's pathname (e.g. "Flintstones/Fred") |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
int Fl_Tree::deselect | ( | Fl_Tree_Item * | item, | |
int | docallback = 1 | |||
) |
Deselect the specified item
.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | item | -- the item to be deselected. Must not be NULL. |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
int Fl_Tree::deselect_all | ( | Fl_Tree_Item * | item = 0 , |
|
int | docallback = 1 | |||
) |
Deselect 'item'
and all its children.
If item is NULL, first() is used.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | item | The item that will be deselected (along with all its children). If NULL, first() is used. |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
void Fl_Tree::display | ( | Fl_Tree_Item * | item | ) |
Displays 'item'
, scrolling the tree as necessary.
[in] | item | The item to be displayed. If NULL, first() is used. |
int Fl_Tree::displayed | ( | Fl_Tree_Item * | item | ) |
See if 'item'
is currently displayed on-screen (visible within the widget).
This can be used to detect if the item is scrolled off-screen. Checks to see if the item's vertical position is within the top and bottom edges of the display window. This does NOT take into account the hide() / show() or open() / close() status of the item.
[in] | item | The item to be checked. If NULL, first() is used. |
void Fl_Tree::extend_selection | ( | Fl_Tree_Item * | from, | |
Fl_Tree_Item * | to | |||
) | [protected] |
Extend a selection between 'from'
and 'to'
.
Extends selection for items and all children, visible ('open') or not. Walks entire tree from top to bottom looking for 'from'
and 'to'
.
int Fl_Tree::extend_selection_dir | ( | Fl_Tree_Item * | from, | |
Fl_Tree_Item * | to, | |||
int | dir, | |||
int | val, | |||
bool | visible | |||
) |
Extend the selection between and including 'from'
and 'to'
depending on direction 'dir'
, 'val'
, and 'visible'
.
Efficient: does not walk entire tree; starts with 'from'
and stops at 'to'
while moving in direction 'dir'
. Dir must be specified though. Handles calling redraw() if anything changed.
[in] | from | Starting item |
[in] | to | Ending item |
[in] | dir | Direction to extend selection (FL_Up or FL_Down) |
[in] | val | 0=deselect, 1=select, 2=toggle |
[in] | visible | true=affect only open(), visible items, false=affect open or closed items (default) |
Fl_Tree_Item * Fl_Tree::find_clicked | ( | ) |
Non-const version of Fl_Tree::find_clicked() const.
const Fl_Tree_Item * Fl_Tree::find_clicked | ( | ) | const |
Find the item that was last clicked on.
You should use callback_item() instead, which is fast, and is meant to be used within a callback to determine the item clicked.
This method walks the entire tree looking for the first item that is under the mouse, i.e. at Fl::event_x() / Fl::event_y().
Use this method /only/ if you've subclassed Fl_Tree, and are receiving events before Fl_Tree has been able to process and update callback_item().
const Fl_Tree_Item * Fl_Tree::find_item | ( | const char * | path | ) | const |
Find the item, given a menu style path, e.g.
"/Parent/Child/item". There is both a const and non-const version of this method. Const version allows pure const methods to use this method to do lookups without causing compiler errors.
To specify items or submenus that contain slashes ('/' or '\') use an escape character to protect them, e.g.
tree->add("/Holidays/Photos/12\\/25\\/2010"); // Adds item "12/25/2010" tree->add("/Pathnames/c:\\\\Program Files\\\\MyApp"); // Adds item "c:\Program Files\MyApp"
[in] | path | -- the tree item's pathname to be found (e.g. "Flintstones/Fred") |
Fl_Tree_Item * Fl_Tree::first | ( | ) |
Returns the first item in the tree, or 0 if none.
Use this to walk the tree in the forward direction, e.g.
for ( Fl_Tree_Item *item = tree->first(); item; item = tree->next(item) ) printf("Item: %s\n", item->label());
Fl_Tree_Item * Fl_Tree::first_selected_item | ( | ) |
Returns the first selected item in the tree.
Use this to walk the tree from top to bottom looking for all the selected items, e.g.
// Walk tree forward, from top to bottom for ( Fl_Tree_Item *i=tree->first_selected_item(); i; i=tree->next_selected_item(i) ) printf("Selected item: %s\n", i->label());
Fl_Tree_Item * Fl_Tree::first_visible | ( | ) |
Returns the first open(), visible item in the tree, or 0 if none.
Fl_Tree_Item * Fl_Tree::first_visible_item | ( | ) |
Returns the first open(), visible item in the tree, or 0 if none.
int Fl_Tree::handle | ( | int | e | ) | [virtual] |
Standard FLTK event handler for this widget.
Reimplemented from Fl_Group.
void Fl_Tree::hposition | ( | int | pos | ) |
Sets the horizontal scroll offset to position 'pos'
.
The position is how many pixels of the tree are scrolled off the left edge of the screen.
[in] | pos | The vertical position (in pixels) to scroll the tree to. |
int Fl_Tree::hposition | ( | ) | const |
Returns the horizontal scroll position as a pixel offset.
The position returned is how many pixels of the tree are scrolled off the left edge of the screen.
Fl_Tree_Item * Fl_Tree::insert | ( | Fl_Tree_Item * | item, | |
const char * | name, | |||
int | pos | |||
) |
Insert a new item 'name'
into 'item's
children at position 'pos'
.
If pos
is out of range the new item is
pos
< 0 orpos
> item->children().Note: pos
== children() is not considered out of range: the item is appended to the child list. Example:
tree->add("Aaa/000"); // "000" is index 0 in Aaa's children tree->add("Aaa/111"); // "111" is index 1 in Aaa's children tree->add("Aaa/222"); // "222" is index 2 in Aaa's children .. // How to use insert() to insert a new item between Aaa/111 + Aaa/222 Fl_Tree_Item *item = tree->find_item("Aaa"); // get parent item Aaa if (item) tree->insert(item, "New item", 2); // insert as a child of Aaa at index #2
[in] | item | The existing item to insert new child into. Must not be NULL. |
[in] | name | The label for the new item |
[in] | pos | The position of the new item in the child list |
Fl_Tree_Item * Fl_Tree::insert_above | ( | Fl_Tree_Item * | above, | |
const char * | name | |||
) |
Inserts a new item 'name'
above the specified Fl_Tree_Item 'above'
.
Example:
tree->add("Aaa/000"); // "000" is index 0 in Aaa's children tree->add("Aaa/111"); // "111" is index 1 in Aaa's children tree->add("Aaa/222"); // "222" is index 2 in Aaa's children .. // How to use insert_above() to insert a new item above Aaa/222 Fl_Tree_Item *item = tree->find_item("Aaa/222"); // get item Aaa/222 if (item) tree->insert_above(item, "New item"); // insert new item above it
[in] | above | -- the item above which to insert the new item. Must not be NULL. |
[in] | name | -- the name of the new item |
int Fl_Tree::is_close | ( | const char * | path | ) | const |
See if item specified by 'path'
is closed.
Items or submenus that themselves contain slashes ('/' or '\') should be escaped, e.g. is_close("Holidays/12\\/25\\/2010").
[in] | path | -- the tree item's pathname (e.g. "Flintstones/Fred") |
int Fl_Tree::is_close | ( | Fl_Tree_Item * | item | ) | const |
See if the specified 'item'
is closed.
[in] | item | -- the item to be tested. Must not be NULL. |
int Fl_Tree::is_hscroll_visible | ( | ) | const |
See if the horizontal scrollbar is currently visible.
int Fl_Tree::is_open | ( | const char * | path | ) | const |
See if item specified by 'path'
is open.
Items or submenus that themselves contain slashes ('/' or '\') should be escaped, e.g. is_open("Holidays/12\\/25\\/2010").
Items that are 'open' are themselves not necessarily visible; one of the item's parents might be closed.
[in] | path | -- the tree item's pathname (e.g. "Flintstones/Fred") |
int Fl_Tree::is_open | ( | Fl_Tree_Item * | item | ) | const |
See if 'item'
is open.
Items that are 'open' are themselves not necessarily visible; one of the item's parents might be closed.
[in] | item | -- the item to be tested. Must not be NULL. |
int Fl_Tree::is_scrollbar | ( | Fl_Widget * | w | ) |
See if widget 'w'
is one of the Fl_Tree widget's scrollbars.
Use this to skip over the scrollbars when walking the child() array. Example:
for ( int i=0; i<tree->children(); i++ ) { // walk children Fl_Widget *w = tree->child(i); if ( tree->is_scrollbar(w) ) continue; // skip scrollbars ..do work here.. }
[in] | w | Widget to test |
w
is a scrollbar, 0 if not. int Fl_Tree::is_selected | ( | const char * | path | ) |
See if item specified by 'path'
is selected.
Items or submenus that themselves contain slashes ('/' or '\') should be escaped, e.g. is_selected("Holidays/12\\/25\\/2010").
[in] | path | -- the tree item's pathname (e.g. "Flintstones/Fred") |
int Fl_Tree::is_selected | ( | Fl_Tree_Item * | item | ) | const |
See if the specified 'item'
is selected.
[in] | item | -- the item to be tested. Must not be NULL. |
int Fl_Tree::is_vscroll_visible | ( | ) | const |
See if the vertical scrollbar is currently visible.
Fl_Tree_Item * Fl_Tree::item_clicked | ( | ) |
Return the item that was last clicked.
Valid only from within the callback().
void Fl_Tree::item_clicked | ( | Fl_Tree_Item * | item | ) | [protected] |
Set the item that was last clicked.
Should only be used by subclasses needing to change this value. Normally Fl_Tree manages this value.
void Fl_Tree::item_labelbgcolor | ( | Fl_Color | val | ) |
Set the default label background color used for creating new items.
A special case is made for color 0xffffffff (default) which is treated as 'transparent'. To change the background color on a per-item basis, use Fl_Tree_Item::labelbgcolor(Fl_Color)
Fl_Color Fl_Tree::item_labelbgcolor | ( | void | ) | const |
Get the default label background color used for creating new items.
If the color is 0xffffffff, it is 'transparent'.
void Fl_Tree::item_labelfgcolor | ( | Fl_Color | val | ) |
Set the default label foreground color used for creating new items.
To change the foreground color on a per-item basis, use Fl_Tree_Item::labelfgcolor(Fl_Color)
void Fl_Tree::item_labelfont | ( | Fl_Font | val | ) |
Set the default font face used for creating new items.
To change the font face on a per-item basis, use Fl_Tree_Item::labelfont(Fl_Font)
void Fl_Tree::item_labelsize | ( | Fl_Fontsize | val | ) |
Set the default label font size used for creating new items.
To change the font size on a per-item basis, use Fl_Tree_Item::labelsize(Fl_Fontsize)
int Fl_Tree::item_pathname | ( | char * | pathname, | |
int | pathnamelen, | |||
const Fl_Tree_Item * | item | |||
) | const |
Return 'pathname'
of size 'pathnamelen'
for the specified 'item'
.
If 'item'
is NULL, root() is used.
The tree's root will be included in the pathname if showroot() is on.
Menu items or submenus that contain slashes ('/' or '\') in their names will be escaped with a backslash. This is symmetrical with the add() function which uses the same escape pattern to set names.
[out] | pathname | The string to use to return the pathname |
[in] | pathnamelen | The maximum length of the string (including NULL). Must not be zero. |
[in] | item | The item whose pathname is to be returned. |
pathname
returns the item's pathname)void Fl_Tree::labelmarginleft | ( | int | val | ) |
Set the amount of white space (in pixels) that should appear to the left of the label text.
int Fl_Tree::labelmarginleft | ( | ) | const |
Get the amount of white space (in pixels) that should appear to the left of the label text.
Fl_Tree_Item * Fl_Tree::last | ( | ) |
Fl_Tree_Item * Fl_Tree::last_selected_item | ( | ) |
Returns the last selected item in the tree.
Use this to walk the tree in reverse from bottom to top looking for all the selected items, e.g.
// Walk tree in reverse, from bottom to top for ( Fl_Tree_Item *i=tree->last_selected_item(); i; i=tree->next_selected_item(i, FL_Up) ) printf("Selected item: %s\n", i->label());
Fl_Tree_Item * Fl_Tree::last_visible | ( | ) |
Returns the last open(), visible item in the tree.
Fl_Tree_Item * Fl_Tree::last_visible_item | ( | ) |
Returns the last open(), visible item in the tree.
void Fl_Tree::load | ( | class Fl_Preferences & | prefs | ) |
Load FLTK preferences.
Read a preferences database into the tree widget.
A preferences database is a hierarchical collection of data which can be directly loaded into the tree view for inspection.
[in] | prefs | the Fl_Preferences database |
Fl_Tree_Item * Fl_Tree::next | ( | Fl_Tree_Item * | item = 0 |
) |
Return the next item after 'item'
, or 0 if no more items.
Use this code to walk the entire tree:
for ( Fl_Tree_Item *i = tree->first(); i; i = tree->next(i) ) printf("Item: %s\n", i->label());
[in] | item | The item to use to find the next item. If NULL, returns 0. |
Fl_Tree_Item * Fl_Tree::next_item | ( | Fl_Tree_Item * | item, | |
int | dir = FL_Down , |
|||
bool | visible = false | |||
) |
Returns next item after 'item'
in direction 'dir'
depending on 'visible'
.
Next item will be above (if dir==FL_Up) or below (if dir==FL_Down). If 'visible'
is true, only items whose parents are open() will be returned. If 'visible'
is false, even items whose parents are close()ed will be returned.
If item
is 0, the return value will be the result of this truth table:
visible=true visible=false ------------------- ------------- dir=FL_Up: last_visible_item() last() dir=FL_Down: first_visible_item() first()
// Walk down the tree showing open(), visible items for ( Fl_Tree_Item *i=tree->first_visible_item(); i; i=tree->next_item(i, FL_Down, true) ) printf("Item: %s\n", i->label()); // Walk up the tree showing open(), visible items for ( Fl_Tree_Item *i=tree->last_visible_item(); i; i=tree->next_item(i, FL_Up, true) ) printf("Item: %s\n", i->label()); // Walk down the tree showing all items (open or closed) for ( Fl_Tree_Item *i=tree->first(); i; i=tree->next_item(i, FL_Down, false) ) printf("Item: %s\n", i->label()); // Walk up the tree showing all items (open or closed) for ( Fl_Tree_Item *i=tree->last(); i; i=tree->next_item(i, FL_Up, false) ) printf("Item: %s\n", i->label());
[in] | item | The item to use to find the next item. If NULL, returns 0. |
[in] | dir | Can be FL_Up or FL_Down (default=FL_Down or 'next') |
[in] | visible | true=return only open(), visible items, false=return open or closed items (default) |
Fl_Tree_Item * Fl_Tree::next_selected_item | ( | Fl_Tree_Item * | item, | |
int | dir | |||
) |
Returns the next selected item above or below 'item'
, depending on 'dir'
.
If 'item'
is 0, search starts at either first() or last(), depending on 'dir'
: first() if 'dir'
is FL_Down (default), last() if 'dir'
is FL_Up.
Use this to walk the tree looking for all the selected items, e.g.
// Walk down the tree (forwards) for ( Fl_Tree_Item *i=tree->first_selected_item(); i; i=tree->next_selected_item(i, FL_Down) ) printf("Item: %s\n", i->label()); // Walk up the tree (backwards) for ( Fl_Tree_Item *i=tree->last_selected_item(); i; i=tree->next_selected_item(i, FL_Up) ) printf("Item: %s\n", i->label());
[in] | item | The item above or below which we'll find the next selected item. If NULL, first() is used if FL_Down, last() if FL_Up. (default=NULL) |
[in] | dir | The direction to go. FL_Up for moving up the tree, FL_Down for down the tree (default) |
Fl_Tree_Item * Fl_Tree::next_selected_item | ( | Fl_Tree_Item * | item = 0 |
) |
Returns the next selected item after 'item'
.
If item
is 0, search starts at the first item (root).
This is a convenience method; equivalent to next_selected_item(item, FL_Down);
Use this to walk the tree forward (downward) looking for all the selected items, e.g.
for ( Fl_Tree_Item *i = tree->first_selected_item(); i; i = tree->next_selected_item(i) ) printf("Selected item: %s\n", i->label());
[in] | item | The item to use to find the next selected item. If NULL, first() is used. |
Fl_Tree_Item * Fl_Tree::next_visible_item | ( | Fl_Tree_Item * | item, | |
int | dir | |||
) | [protected] |
Returns next open(), visible item above (dir==FL_Up
) or below (dir==FL_Down
) the specified 'item'
, or 0 if no more items.
If 'item'
is 0, returns last() if 'dir'
is FL_Up, or first() if dir
is FL_Down.
// Walk down the tree (forwards) for ( Fl_Tree_Item *i=tree->first_visible_item(); i; i=tree->next_visible_item(i, FL_Down) ) printf("Item: %s\n", i->label()); // Walk up the tree (backwards) for ( Fl_Tree_Item *i=tree->last_visible_item(); i; i=tree->next_visible_item(i, FL_Up) ) printf("Item: %s\n", i->label());
[in] | item | The item above/below which we'll find the next visible item |
[in] | dir | The direction to search. Can be FL_Up or FL_Down. |
item
. int Fl_Tree::open | ( | const char * | path, | |
int | docallback = 1 | |||
) |
Opens the item specified by 'path'
.
This causes the item's children (if any) to be shown.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
Items or submenus that themselves contain slashes ('/' or '\') should be escaped, e.g. open("Holidays/12\\/25\\/2010").
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | path | -- the tree item's pathname (e.g. "Flintstones/Fred") |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
int Fl_Tree::open | ( | Fl_Tree_Item * | item, | |
int | docallback = 1 | |||
) |
Open the specified 'item'
.
This causes the item's children (if any) to be shown.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | item | -- the item to be opened. Must not be NULL. |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
void Fl_Tree::open_toggle | ( | Fl_Tree_Item * | item, | |
int | docallback = 1 | |||
) |
Toggle the open state of 'item'
.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | item | -- the item whose open state is to be toggled. Must not be NULL. |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
void Fl_Tree::openicon | ( | Fl_Image * | val | ) |
Sets the icon to be used as the 'open' icon.
This overrides the built in default '[+]' icon.
[in] | val | -- The new image, or zero to use the default [+] icon. |
Fl_Image * Fl_Tree::openicon | ( | ) | const |
Returns the icon to be used as the 'open' icon.
If none was set, the internal default is returned, a simple '[+]' icon.
Fl_Tree_Item * Fl_Tree::prev | ( | Fl_Tree_Item * | item = 0 |
) |
Return the previous item before 'item'
, or 0 if no more items.
This can be used to walk the tree in reverse, e.g.
for ( Fl_Tree_Item *item = tree->first(); item; item = tree->prev(item) ) printf("Item: %s\n", item->label());
[in] | item | The item to use to find the previous item. If NULL, returns 0. |
void Fl_Tree::recalc_tree | ( | ) |
Schedule tree to recalc the entire tree size.
int Fl_Tree::remove | ( | Fl_Tree_Item * | item | ) |
Remove the specified 'item'
from the tree.
item
may not be NULL. If it has children, all those are removed too. If item being removed has focus, no item will have focus.
void Fl_Tree::resize | ( | int | X, | |
int | Y, | |||
int | W, | |||
int | H | |||
) | [virtual] |
Resizes the Fl_Group widget and all of its children.
The Fl_Group widget first resizes itself, and then it moves and resizes all its children according to the rules documented for Fl_Group::resizable(Fl_Widget*)
Reimplemented from Fl_Group.
void Fl_Tree::root | ( | Fl_Tree_Item * | newitem | ) |
Sets the root item to 'newitem'
.
If a root item already exists, clear() is called first to clear it before replacing it with newitem.
void Fl_Tree::root_label | ( | const char * | new_label | ) |
Set the label for the root item to 'new_label'
.
Makes an internally managed copy of 'new_label'.
void Fl_Tree::scrollbar_size | ( | int | size | ) |
Sets the pixel size of the scrollbars' troughs to 'size'
for this widget, in pixels.
Normally you should not need this method, and should use the global Fl::scrollbar_size(int) instead to manage the size of ALL your widgets' scrollbars. This ensures your application has a consistent UI, and is the default behavior. Normally this is what you want.
Only use this method if you really need to override just THIS instance of the widget's scrollbar size. (This need should be rare.)
Setting size
to the special value of 0 causes the widget to track the global Fl::scrollbar_size(), which is the default.
[in] | size | Sets the scrollbar size in pixels. If 0 (default), scrollbar size tracks the global Fl::scrollbar_size() |
int Fl_Tree::scrollbar_size | ( | ) | const |
Gets the default size of scrollbars' troughs for this widget in pixels.
If this value is zero (default), this widget will use the global Fl::scrollbar_size() value as the scrollbar's width.
int Fl_Tree::select | ( | const char * | path, | |
int | docallback = 1 | |||
) |
Select the item specified by 'path'
.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
Items or submenus that themselves contain slashes ('/' or '\') should be escaped, e.g. select("Holidays/12\\/25\\/2010").
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | path | -- the tree item's pathname (e.g. "Flintstones/Fred") |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
int Fl_Tree::select | ( | Fl_Tree_Item * | item, | |
int | docallback = 1 | |||
) |
Select the specified 'item'
.
Use 'deselect()' to deselect it.
Invokes the callback depending on the value of optional parameter docallback
.
Handles calling redraw() if anything changed.
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | item | -- the item to be selected. Must not be NULL. |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
int Fl_Tree::select_all | ( | Fl_Tree_Item * | item = 0 , |
|
int | docallback = 1 | |||
) |
Select 'item'
and all its children.
If item is NULL, first() is used.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | item | The item that will be selected (along with all its children). If NULL, first() is used. |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
int Fl_Tree::select_only | ( | Fl_Tree_Item * | selitem, | |
int | docallback = 1 | |||
) |
Select only the specified item, deselecting all others that might be selected.
If 'selitem'
is 0, first() is used.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | selitem | The item to be selected. If NULL, first() is used. |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
void Fl_Tree::select_toggle | ( | Fl_Tree_Item * | item, | |
int | docallback = 1 | |||
) |
Toggle the select state of the specified 'item'
.
Invokes the callback depending on the value of optional parameter 'docallback'
.
Handles calling redraw() if anything changed.
The callback can use callback_item() and callback_reason() respectively to determine the item changed and the reason the callback was called.
[in] | item | -- the item to be selected. Must not be NULL. |
[in] | docallback | -- A flag that determines if the callback() is invoked or not:
|
void Fl_Tree::selectbox | ( | Fl_Boxtype | val | ) |
Gets the style of box used to draw selected items.
This is an fltk Fl_Boxtype. The default is influenced by FLTK's current Fl::scheme()
Fl_Boxtype Fl_Tree::selectbox | ( | ) | const |
Sets the style of box used to draw selected items.
This is an fltk Fl_Boxtype. The default is influenced by FLTK's current Fl::scheme()
void Fl_Tree::selectmode | ( | Fl_Tree_Select | val | ) |
Sets the tree's selection mode.
See Fl_Tree_Select for possible values.
Fl_Tree_Select Fl_Tree::selectmode | ( | ) | const |
Gets the tree's current selection mode.
See Fl_Tree_Select for possible values.
void Fl_Tree::set_item_focus | ( | Fl_Tree_Item * | item | ) |
Set the item that currently should have keyboard focus.
Handles calling redraw() to update the focus box (if it is visible).
[in] | item | The item that should take focus. If NULL, none will have focus. |
void Fl_Tree::show_item | ( | Fl_Tree_Item * | item | ) |
Adjust the vertical scrollbar to show 'item'
at the top of the display IF it is currently off-screen (for instance show_item_top()).
If it is already on-screen, no change is made.
[in] | item | The item to be shown. If NULL, first() is used. |
void Fl_Tree::show_item | ( | Fl_Tree_Item * | item, | |
int | yoff | |||
) |
Adjust the vertical scrollbar so that 'item'
is visible 'yoff'
pixels from the top of the Fl_Tree widget's display.
For instance, yoff=0 will position the item at the top.
If yoff is larger than the vertical scrollbar's limit, the value will be clipped. So if yoff=100, but scrollbar's max is 50, then 50 will be used.
[in] | item | The item to be shown. If NULL, first() is used. |
[in] | yoff | The pixel offset from the top for the displayed position. |
void Fl_Tree::show_item_bottom | ( | Fl_Tree_Item * | item | ) |
Adjust the vertical scrollbar so that 'item'
is at the bottom of the display.
[in] | item | The item to be shown. If NULL, first() is used. |
void Fl_Tree::show_item_middle | ( | Fl_Tree_Item * | item | ) |
Adjust the vertical scrollbar so that 'item'
is in the middle of the display.
[in] | item | The item to be shown. If NULL, first() is used. |
void Fl_Tree::show_item_top | ( | Fl_Tree_Item * | item | ) |
Adjust the vertical scrollbar so that 'item'
is at the top of the display.
[in] | item | The item to be shown. If NULL, first() is used. |
void Fl_Tree::show_self | ( | ) |
Print the tree as 'ascii art' to stdout.
Used mainly for debugging.
void Fl_Tree::showcollapse | ( | int | val | ) |
Set if we should show the collapse icon or not.
If collapse icons are disabled, the user will not be able to interactively collapse items in the tree, unless the application provides some other means via open() and close().
[in] | val | 1: shows collapse icons (default), 0: hides collapse icons. |
int Fl_Tree::showcollapse | ( | ) | const |
Returns 1 if the collapse icon is enabled, 0 if not.
void Fl_Tree::showroot | ( | int | val | ) |
Set if the root item should be shown or not.
[in] | val | 1 -- show the root item (default) 0 -- hide the root item. |
Fl_Tree_Sort Fl_Tree::sortorder | ( | ) | const |
Set the default sort order used when items are added to the tree.
See Fl_Tree_Sort for possible values.
void Fl_Tree::usericon | ( | Fl_Image * | val | ) |
Sets the Fl_Image to be used as the default user icon for all newly created items.
If you want to specify user icons on a per-item basis, use Fl_Tree_Item::usericon() instead.
[in] | val | -- The new image to be used, or zero to disable user icons. |
Fl_Image * Fl_Tree::usericon | ( | ) | const |
Returns the Fl_Image being used as the default user icon for all newly created items.
Returns zero if no icon has been set, which is the default.
void Fl_Tree::usericonmarginleft | ( | int | val | ) |
Set the amount of white space (in pixels) that should appear to the left of the usericon.
int Fl_Tree::usericonmarginleft | ( | ) | const |
Get the amount of white space (in pixels) that should appear to the left of the usericon.
void Fl_Tree::vposition | ( | int | pos | ) |
Sets the vertical scroll offset to position 'pos'
.
The position is how many pixels of the tree are scrolled off the top edge of the screen.
[in] | pos | The vertical position (in pixels) to scroll the tree to. |
int Fl_Tree::vposition | ( | ) | const |
Returns the vertical scroll position as a pixel offset.
The position returned is how many pixels of the tree are scrolled off the top edge of the screen.