FLTK 1.3.2
|
Tree widget. More...
#include <Fl_Tree.H>
Public Member Functions | |
Fl_Tree_Item * | add (const char *path) |
Adds a new item, given a 'menu style' path, eg: "/Parent/Child/item". More... | |
Fl_Tree_Item * | add (Fl_Tree_Item *item, const char *name) |
Add a new child to a specific item in the tree. More... | |
void | callback_item (Fl_Tree_Item *item) |
Sets the item that was changed for this callback. More... | |
Fl_Tree_Item * | callback_item () |
Gets the item that caused the callback. More... | |
void | callback_reason (Fl_Tree_Reason reason) |
Sets the reason for this callback. More... | |
Fl_Tree_Reason | callback_reason () const |
Gets the reason for this callback. More... | |
void | clear () |
Clear all children from the tree. More... | |
void | clear_children (Fl_Tree_Item *item) |
Clear all the children of a particular node in the tree specified by item . More... | |
int | close (Fl_Tree_Item *item, int docallback=1) |
Closes the specified item . More... | |
int | close (const char *path, int docallback=1) |
Closes the item specified by path , eg: "Parent/child/item". More... | |
Fl_Image * | closeicon () const |
Returns the icon to be used as the 'close' icon. More... | |
void | closeicon (Fl_Image *val) |
Sets the icon to be used as the 'close' icon. More... | |
Fl_Color | connectorcolor () const |
Get the connector color used for tree connection lines. | |
void | connectorcolor (Fl_Color val) |
Set the connector color used for tree connection lines. | |
Fl_Tree_Connector | connectorstyle () const |
Returns the line drawing style for inter-connecting items. | |
void | connectorstyle (Fl_Tree_Connector val) |
Sets the line drawing style for inter-connecting items. | |
int | connectorwidth () const |
Gets the width of the horizontal connection lines (in pixels) that appear to the left of each tree item's label. | |
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 | deselect (Fl_Tree_Item *item, int docallback=1) |
De-select the specified item . More... | |
int | deselect (const char *path, int docallback=1) |
Deselect an item specified by path (eg: "Parent/child/item"). More... | |
int | deselect_all (Fl_Tree_Item *item=0, int docallback=1) |
Deselect item and all its children. More... | |
void | display (Fl_Tree_Item *item) |
Displays item , scrolling the tree as necessary. More... | |
int | displayed (Fl_Tree_Item *item) |
See if item is currently displayed on-screen (visible within the widget). More... | |
void | draw () |
Standard FLTK draw() method, handles drawing the tree widget. | |
const Fl_Tree_Item * | find_clicked () const |
Find the item that was clicked. More... | |
Fl_Tree_Item * | find_item (const char *path) |
Find the item, given a menu style path, eg: "/Parent/Child/item". More... | |
const Fl_Tree_Item * | find_item (const char *path) const |
A const version of Fl_Tree::find_item(const char *path) | |
Fl_Tree_Item * | first () |
Returns the first item in the tree. More... | |
Fl_Tree_Item * | first_selected_item () |
Returns the first selected item in the tree. More... | |
Fl_Tree_Item * | first_visible () |
Returns the first visible item in the tree. More... | |
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. | |
Fl_Tree_Item * | insert (Fl_Tree_Item *item, const char *name, int pos) |
Insert a new item into a tree-item's children at a specified position. More... | |
Fl_Tree_Item * | insert_above (Fl_Tree_Item *above, const char *name) |
Inserts a new item above the specified Fl_Tree_Item, with the label set to 'name'. More... | |
int | is_close (Fl_Tree_Item *item) const |
See if the specified item is closed. More... | |
int | is_close (const char *path) const |
See if item specified by path (eg: "Parent/child/item") is closed. More... | |
int | is_open (Fl_Tree_Item *item) const |
See if item is open. More... | |
int | is_open (const char *path) const |
See if item specified by path (eg: "Parent/child/item") is open. More... | |
int | is_scrollbar (Fl_Widget *w) |
See if widget w is one of the Fl_Tree widget's scrollbars. More... | |
int | is_selected (Fl_Tree_Item *item) const |
See if the specified item is selected. More... | |
int | is_selected (const char *path) |
See if item specified by path (eg: "Parent/child/item") is selected. More... | |
int | is_vscroll_visible () const |
See if the vertical scrollbar is currently visible. More... | |
Fl_Tree_Item * | item_clicked () |
Return the item that was last clicked. More... | |
Fl_Color | item_labelbgcolor (void) const |
Get the default label background color used for creating new items. More... | |
void | item_labelbgcolor (Fl_Color val) |
Set the default label background color used for creating new items. More... | |
Fl_Color | item_labelfgcolor (void) const |
Get the default label foreground color used for creating new items. | |
void | item_labelfgcolor (Fl_Color val) |
Set the default label foreground color used for creating new items. More... | |
Fl_Font | item_labelfont () const |
Get the default font face used for creating new items. | |
void | item_labelfont (Fl_Font val) |
Set the default font face used for creating new items. More... | |
Fl_Fontsize | item_labelsize () const |
Get the default label fontsize used for creating new items. | |
void | item_labelsize (Fl_Fontsize val) |
Set the default label font size used for creating new items. More... | |
int | item_pathname (char *pathname, int pathnamelen, const Fl_Tree_Item *item) const |
Find the pathname for the specified item . More... | |
int | labelmarginleft () const |
Get the amount of white space (in pixels) that should appear to the left of the label text. More... | |
void | labelmarginleft (int val) |
Set the amount of white space (in pixels) that should appear to the left of the label text. More... | |
Fl_Tree_Item * | last () |
Returns the last item in the tree. More... | |
Fl_Tree_Item * | last_visible () |
Returns the last visible item in the tree. More... | |
int | linespacing () const |
Get the amount of white space (in pixels) that should appear between items in the tree. | |
void | linespacing (int val) |
Sets the amount of white space (in pixels) that should appear between items in the tree. | |
void | load (class Fl_Preferences &) |
Load FLTK preferences. More... | |
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 | 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 | 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. | |
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. | |
Fl_Tree_Item * | next (Fl_Tree_Item *item=0) |
Return the next item after item , or 0 if no more items. More... | |
Fl_Tree_Item * | next_selected_item (Fl_Tree_Item *item=0) |
Returns the next selected item after item . More... | |
int | open (Fl_Tree_Item *item, int docallback=1) |
Open the specified 'item'. More... | |
int | open (const char *path, int docallback=1) |
Opens the item specified by path (eg: "Parent/child/item"). More... | |
void | open_toggle (Fl_Tree_Item *item, int docallback=1) |
Toggle the open state of item . More... | |
int | openchild_marginbottom () const |
Get the amount of white space (in pixels) that should appear below an open child tree's contents. | |
void | openchild_marginbottom (int val) |
Set the amount of white space (in pixels) that should appear below an open child tree's contents. | |
Fl_Image * | openicon () const |
Returns the icon to be used as the 'open' icon. More... | |
void | openicon (Fl_Image *val) |
Sets the icon to be used as the 'open' icon. More... | |
Fl_Tree_Item * | prev (Fl_Tree_Item *item=0) |
Return the previous item before item , or 0 if no more items. More... | |
int | remove (Fl_Tree_Item *item) |
Remove the specified item from the tree. More... | |
Fl_Tree_Item * | root () |
Returns the root item. | |
void | root_label (const char *new_label) |
Set the label for the root item. More... | |
int | scrollbar_size () const |
Gets the current size of the scrollbars' troughs, in pixels. More... | |
void | scrollbar_size (int size) |
Sets the pixel size of the scrollbars' troughs to the size , in pixels. More... | |
int | select (Fl_Tree_Item *item, int docallback=1) |
Select the specified item . More... | |
int | select (const char *path, int docallback=1) |
Select the item specified by path (eg: "Parent/child/item"). More... | |
int | select_all (Fl_Tree_Item *item=0, int docallback=1) |
Select item and all its children. More... | |
int | select_only (Fl_Tree_Item *selitem, int docallback=1) |
Select only the specified item , deselecting all others that might be selected. More... | |
void | select_toggle (Fl_Tree_Item *item, int docallback=1) |
Toggle the select state of the specified item . More... | |
Fl_Boxtype | selectbox () const |
Sets the style of box used to draw selected items. More... | |
void | selectbox (Fl_Boxtype val) |
Gets the style of box used to draw selected items. More... | |
Fl_Tree_Select | selectmode () const |
Gets the tree's current selection mode. | |
void | selectmode (Fl_Tree_Select val) |
Sets the tree's selection mode. | |
void | set_item_focus (Fl_Tree_Item *item) |
Set the item that currently should have keyboard focus. More... | |
void | show_item (Fl_Tree_Item *item, int yoff) |
Adjust the vertical scroll bar so that item is visible yoff pixels from the top of the Fl_Tree widget's display. More... | |
void | show_item (Fl_Tree_Item *item) |
Adjust the vertical scroll bar to show item at the top of the display IF it is currently off-screen (e.g. More... | |
void | show_item_bottom (Fl_Tree_Item *item) |
Adjust the vertical scrollbar so that item is at the bottom of the display. More... | |
void | show_item_middle (Fl_Tree_Item *item) |
Adjust the vertical scrollbar so that item is in the middle of the display. More... | |
void | show_item_top (Fl_Tree_Item *item) |
Adjust the vertical scrollbar so that item is at the top of the display. More... | |
void | show_self () |
Print the tree as 'ascii art' to stdout. More... | |
int | showcollapse () const |
Returns 1 if the collapse icon is enabled, 0 if not. | |
void | showcollapse (int val) |
Set if we should show the collapse icon or not. More... | |
int | showroot () const |
Returns 1 if the root item is to be shown, or 0 if not. | |
void | showroot (int val) |
Set if the root item should be shown or not. More... | |
Fl_Tree_Sort | sortorder () const |
Set the default sort order used when items are added to the tree. More... | |
void | sortorder (Fl_Tree_Sort val) |
Gets the sort order used to add items to the tree. | |
Fl_Image * | usericon () const |
Returns the Fl_Image being used as the default user icon for all newly created items. More... | |
void | usericon (Fl_Image *val) |
Sets the Fl_Image to be used as the default user icon for all newly created items. More... | |
int | usericonmarginleft () const |
Get the amount of white space (in pixels) that should appear to the left of the usericon. More... | |
void | usericonmarginleft (int val) |
Set the amount of white space (in pixels) that should appear to the left of the usericon. More... | |
int | vposition () const |
Returns the vertical scroll position as a pixel offset. More... | |
void | vposition (int pos) |
Sets the vertical scroll offset to position pos . More... | |
~Fl_Tree () | |
Destructor. | |
![]() | |
Fl_Widget *& | _ddfdesign_kludge () |
This is for forms compatibility only. | |
void | add (Fl_Widget &) |
The widget is removed from its current group (if any) and then added to the end of this group. | |
void | add (Fl_Widget *o) |
See void Fl_Group::add(Fl_Widget &w) | |
void | add_resizable (Fl_Widget &o) |
Adds a widget to the group and makes it the resizable widget. | |
Fl_Widget *const * | array () const |
Returns a pointer to the array of children. More... | |
virtual Fl_Group * | as_group () |
Returns an Fl_Group pointer if this widget is an Fl_Group. More... | |
void | begin () |
Sets the current group so you can build the widget tree by just constructing the widgets. More... | |
Fl_Widget * | child (int n) const |
Returns array()[n]. More... | |
int | children () const |
Returns how many child widgets the group has. | |
void | clear () |
Deletes all child widgets from memory recursively. More... | |
void | clip_children (int c) |
Controls whether the group widget clips the drawing of child widgets to its bounding box. More... | |
unsigned int | clip_children () |
Returns the current clipping mode. More... | |
void | end () |
Exactly the same as current(this->parent()). More... | |
int | find (const Fl_Widget *) const |
Searches the child array for the widget and returns the index. More... | |
int | find (const Fl_Widget &o) const |
See int Fl_Group::find(const Fl_Widget *w) const. | |
Fl_Group (int, int, int, int, const char *=0) | |
Creates a new Fl_Group widget using the given position, size, and label string. More... | |
void | focus (Fl_Widget *W) |
void | forms_end () |
This is for forms compatibility only. | |
void | init_sizes () |
Resets the internal array of widget sizes and positions. More... | |
void | insert (Fl_Widget &, int i) |
The widget is removed from its current group (if any) and then inserted into this group. More... | |
void | insert (Fl_Widget &o, Fl_Widget *before) |
This does insert(w, find(before)). More... | |
void | remove (int index) |
Removes the widget at index from the group but does not delete it. More... | |
void | remove (Fl_Widget &) |
Removes a widget from the group but does not delete it. More... | |
void | remove (Fl_Widget *o) |
Removes the widget o from the group. More... | |
void | resizable (Fl_Widget &o) |
See void Fl_Group::resizable(Fl_Widget *box) | |
void | resizable (Fl_Widget *o) |
The resizable widget defines the resizing box for the group. More... | |
Fl_Widget * | resizable () const |
See void Fl_Group::resizable(Fl_Widget *box) | |
void | resize (int, int, int, int) |
Resizes the Fl_Group widget and all of its children. More... | |
virtual | ~Fl_Group () |
The destructor also deletes all the children. More... | |
![]() | |
void | _clear_fullscreen () |
void | _set_fullscreen () |
void | activate () |
Activates the widget. More... | |
unsigned int | active () const |
Returns whether the widget is active. More... | |
int | active_r () const |
Returns whether the widget and all of its parents are active. More... | |
Fl_Align | align () const |
Gets the label alignment. More... | |
void | align (Fl_Align alignment) |
Sets the label alignment. More... | |
long | argument () const |
Gets the current user data (long) argument that is passed to the callback function. | |
void | argument (long v) |
Sets the current user data (long) argument that is passed to the callback function. More... | |
virtual class Fl_Gl_Window * | as_gl_window () |
Returns an Fl_Gl_Window pointer if this widget is an Fl_Gl_Window. More... | |
virtual Fl_Window * | as_window () |
Returns an Fl_Window pointer if this widget is an Fl_Window. More... | |
Fl_Boxtype | box () const |
Gets the box type of the widget. More... | |
void | box (Fl_Boxtype new_box) |
Sets the box type for the widget. More... | |
Fl_Callback_p | callback () const |
Gets the current callback function for the widget. More... | |
void | callback (Fl_Callback *cb, void *p) |
Sets the current callback function for the widget. More... | |
void | callback (Fl_Callback *cb) |
Sets the current callback function for the widget. More... | |
void | callback (Fl_Callback0 *cb) |
Sets the current callback function for the widget. More... | |
void | callback (Fl_Callback1 *cb, long p=0) |
Sets the current callback function for the widget. More... | |
unsigned int | changed () const |
Checks if the widget value changed since the last callback. More... | |
void | clear_changed () |
Marks the value of the widget as unchanged. More... | |
void | clear_damage (uchar c=0) |
Clears or sets the damage flags. More... | |
void | clear_output () |
Sets a widget to accept input. More... | |
void | clear_visible () |
Hides the widget. More... | |
void | clear_visible_focus () |
Disables keyboard focus navigation with this widget. More... | |
Fl_Color | color () const |
Gets the background color of the widget. More... | |
void | color (Fl_Color bg) |
Sets the background color of the widget. More... | |
void | color (Fl_Color bg, Fl_Color sel) |
Sets the background and selection color of the widget. More... | |
Fl_Color | color2 () const |
For back compatibility only. More... | |
void | color2 (unsigned a) |
For back compatibility only. More... | |
int | contains (const Fl_Widget *w) const |
Checks if w is a child of this widget. More... | |
void | copy_label (const char *new_label) |
Sets the current label. More... | |
void | copy_tooltip (const char *text) |
Sets the current tooltip text. More... | |
uchar | damage () const |
Returns non-zero if draw() needs to be called. More... | |
void | damage (uchar c) |
Sets the damage bits for the widget. More... | |
void | damage (uchar c, int x, int y, int w, int h) |
Sets the damage bits for an area inside the widget. More... | |
int | damage_resize (int, int, int, int) |
Internal use only. More... | |
void | deactivate () |
Deactivates the widget. More... | |
Fl_Image * | deimage () |
Gets the image that is used as part of the widget label. More... | |
const Fl_Image * | deimage () const |
void | deimage (Fl_Image *img) |
Sets the image to use as part of the widget label. More... | |
void | deimage (Fl_Image &img) |
Sets the image to use as part of the widget label. More... | |
void | do_callback () |
Calls the widget callback. More... | |
void | do_callback (Fl_Widget *o, long arg) |
Calls the widget callback. More... | |
void | do_callback (Fl_Widget *o, void *arg=0) |
Calls the widget callback. More... | |
void | draw_label (int, int, int, int, Fl_Align) const |
Draws the label in an arbitrary bounding box with an arbitrary alignment. More... | |
int | h () const |
Gets the widget height. More... | |
virtual void | hide () |
Makes a widget invisible. More... | |
Fl_Image * | image () |
Gets the image that is used as part of the widget label. More... | |
const Fl_Image * | image () const |
void | image (Fl_Image *img) |
Sets the image to use as part of the widget label. More... | |
void | image (Fl_Image &img) |
Sets the image to use as part of the widget label. More... | |
int | inside (const Fl_Widget *wgt) const |
Checks if this widget is a child of wgt . More... | |
const char * | label () const |
Gets the current label text. More... | |
void | label (const char *text) |
Sets the current label pointer. More... | |
void | label (Fl_Labeltype a, const char *b) |
Shortcut to set the label text and type in one call. More... | |
Fl_Color | labelcolor () const |
Gets the label color. More... | |
void | labelcolor (Fl_Color c) |
Sets the label color. More... | |
Fl_Font | labelfont () const |
Gets the font to use. More... | |
void | labelfont (Fl_Font f) |
Sets the font to use. More... | |
Fl_Fontsize | labelsize () const |
Gets the font size in pixels. More... | |
void | labelsize (Fl_Fontsize pix) |
Sets the font size in pixels. More... | |
Fl_Labeltype | labeltype () const |
Gets the label type. More... | |
void | labeltype (Fl_Labeltype a) |
Sets the label type. More... | |
void | measure_label (int &ww, int &hh) const |
Sets width ww and height hh accordingly with the label size. More... | |
unsigned int | output () const |
Returns if a widget is used for output only. More... | |
Fl_Group * | parent () const |
Returns a pointer to the parent widget. More... | |
void | parent (Fl_Group *p) |
Internal use only - "for hacks only". More... | |
void | position (int X, int Y) |
Repositions the window or widget. More... | |
void | redraw () |
Schedules the drawing of the widget. More... | |
void | redraw_label () |
Schedules the drawing of the label. More... | |
Fl_Color | selection_color () const |
Gets the selection color. More... | |
void | selection_color (Fl_Color a) |
Sets the selection color. More... | |
void | set_changed () |
Marks the value of the widget as changed. More... | |
void | set_output () |
Sets a widget to output only. More... | |
void | set_visible () |
Makes the widget visible. More... | |
void | set_visible_focus () |
Enables keyboard focus navigation with this widget. More... | |
virtual void | show () |
Makes a widget visible. More... | |
void | size (int W, int H) |
Changes the size of the widget. More... | |
int | take_focus () |
Gives the widget the keyboard focus. More... | |
unsigned int | takesevents () const |
Returns if the widget is able to take events. More... | |
int | test_shortcut () |
Returns true if the widget's label contains the entered '&x' shortcut. More... | |
const char * | tooltip () const |
Gets the current tooltip text. More... | |
void | tooltip (const char *text) |
Sets the current tooltip text. More... | |
uchar | type () const |
Gets the widget type. More... | |
void | type (uchar t) |
Sets the widget type. More... | |
void * | user_data () const |
Gets the user data for this widget. More... | |
void | user_data (void *v) |
Sets the user data for this widget. More... | |
unsigned int | visible () const |
Returns whether a widget is visible. More... | |
void | visible_focus (int v) |
Modifies keyboard focus navigation. More... | |
unsigned int | visible_focus () |
Checks whether this widget has a visible focus. More... | |
int | visible_r () const |
Returns whether a widget and all its parents are visible. More... | |
int | w () const |
Gets the widget width. More... | |
Fl_When | when () const |
Returns the conditions under which the callback is called. More... | |
void | when (uchar i) |
Sets the flags used to decide when a callback is called. More... | |
Fl_Window * | window () const |
Returns a pointer to the primary Fl_Window widget. More... | |
int | x () const |
Gets the widget position in its window. More... | |
int | y () const |
Gets the widget position in its window. More... | |
virtual | ~Fl_Widget () |
Destroys the widget. More... | |
Protected Member Functions | |
void | do_callback_for_item (Fl_Tree_Item *item, Fl_Tree_Reason reason) |
Do the callback for the item, setting the item and reason. | |
int | draw_tree () |
void | extend_selection (Fl_Tree_Item *from, Fl_Tree_Item *to) |
Extend a selection between 'from' and 'to'. More... | |
void | item_clicked (Fl_Tree_Item *val) |
Set the item that was last clicked. More... | |
Fl_Tree_Item * | next_visible_item (Fl_Tree_Item *start, int dir) |
Returns next visible item above (dir==Fl_Up) or below (dir==Fl_Down) the specified item . More... | |
![]() | |
void | draw_child (Fl_Widget &widget) const |
Forces a child to redraw. More... | |
void | draw_children () |
Draws all children of the group. More... | |
void | draw_outside_label (const Fl_Widget &widget) const |
Parents normally call this to draw outside labels of child widgets. More... | |
int * | sizes () |
Returns the internal array of widget sizes and positions. More... | |
void | update_child (Fl_Widget &widget) const |
Draws a child only if it needs it. More... | |
![]() | |
void | clear_flag (unsigned int c) |
Clears a flag in the flags mask. | |
void | draw_backdrop () const |
If FL_ALIGN_IMAGE_BACKDROP is set, the image or deimage will be drawn. | |
void | draw_box () const |
Draws the widget box according its box style. | |
void | draw_box (Fl_Boxtype t, Fl_Color c) const |
Draws a box of type t, of color c at the widget's position and size. More... | |
void | draw_box (Fl_Boxtype t, int x, int y, int w, int h, Fl_Color c) const |
Draws a box of type t, of color c at the position X,Y and size W,H. More... | |
void | draw_focus () |
draws a focus rectangle around the widget | |
void | draw_focus (Fl_Boxtype t, int x, int y, int w, int h) const |
Draws a focus box for the widget at the given position and size. | |
void | draw_label () const |
Draws the widget's label at the defined label position. More... | |
void | draw_label (int, int, int, int) const |
Draws the label in an arbitrary bounding box. More... | |
Fl_Widget (int x, int y, int w, int h, const char *label=0L) | |
Creates a widget at the given position and size. More... | |
unsigned int | flags () const |
Gets the widget flags mask. | |
void | h (int v) |
Internal use only. More... | |
void | set_flag (unsigned int c) |
Sets a flag in the flags mask. | |
void | w (int v) |
Internal use only. More... | |
void | x (int v) |
Internal use only. More... | |
void | y (int v) |
Internal use only. More... | |
Protected Attributes | |
Fl_Scrollbar * | _vscroll |
Vertical scrollbar. | |
Friends | |
class | Fl_Tree_Item |
Additional Inherited Members | |
![]() | |
static Fl_Group * | current () |
Returns the currently active group. More... | |
static void | current (Fl_Group *g) |
Sets the current group. More... | |
![]() | |
static void | default_callback (Fl_Widget *cb, void *d) |
Sets the default callback for all widgets. More... | |
static unsigned int | label_shortcut (const char *t) |
Returns the Unicode value of the '&x' shortcut in a given text. More... | |
static int | test_shortcut (const char *, const bool require_alt=false) |
Returns true if the given text t contains the entered '&x' shortcut. More... | |
![]() | |
enum | { INACTIVE = 1<<0, INVISIBLE = 1<<1, OUTPUT = 1<<2, NOBORDER = 1<<3, FORCE_POSITION = 1<<4, NON_MODAL = 1<<5, SHORTCUT_LABEL = 1<<6, CHANGED = 1<<7, OVERRIDE = 1<<8, VISIBLE_FOCUS = 1<<9, COPIED_LABEL = 1<<10, CLIP_CHILDREN = 1<<11, MENU_WINDOW = 1<<12, TOOLTIP_WINDOW = 1<<13, MODAL = 1<<14, NO_OVERLAY = 1<<15, GROUP_RELATIVE = 1<<16, COPIED_TOOLTIP = 1<<17, FULLSCREEN = 1<<18, USERFLAG3 = 1<<29, USERFLAG2 = 1<<30, USERFLAG1 = 1<<31 } |
flags possible values enumeration. More... | |
Tree widget.
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(): - FL_WHEN_RELEASE -- callback invoked when left mouse button is released on an item - FL_WHEN_CHANGED -- callback invoked when left mouse changes selection state The simple way to define a tree:
FEATURES
Items can be added with add(), removed with remove(), completely cleared with clear(), inserted with insert() and insert_above(), selected/deselected with select() and deselect(), open/closed with open() and closed(). Children of an item can be swapped around with Fl_Tree_Item::swap_children(), sorting can be controlled when items are add()ed via sortorder(). You can walk the entire tree with first() and next(). You can walk selected items with first_selected_item() and next_selected_item(). Items can be found by their pathname using find_item(const char*), and an item's pathname can be found with item_pathname(). The selected items' colors are controlled by selection_color() (inherited from Fl_Widget).
SELECTION OF ITEMS
The tree can have different selection behaviors controlled by selectmode(). The background color used for selected items is the Fl_Tree::selection_color(). The foreground color for selected items is controlled internally with fl_contrast().
CHILD WIDGETS
FLTK widgets (including custom widgets) can be assigned to tree items via Fl_Tree_Item::widget(). When a widget() is defined, the default behavior is for the widget() to be shown in place of the item's label (if it has one). Only the widget()'s width will be used; the widget()'s x() and y() position will be managed by the tree, and the h() will track the item's height. This default behavior can be altered: Setting Fl_Tree::item_draw_mode()'s FL_TREE_ITEM_DRAW_LABEL_AND_WIDGET flag causes the label + widget to be displayed together in that order, and adding the FL_TREE_ITEM_HEIGHT_FROM_WIDGET flag causes widget's height to define the widget()'s height.
ICONS
The tree's open/close icons can be redefined with Fl_Tree::openicon(), Fl_Tree::closeicon(). User icons can either be changed globally with Fl_Tree::usericon(), or on a per-item basis with Fl_Tree_Item::usericon(). Various default preferences can be globally manipulated via Fl_Tree_Prefs, including colors, margins, icons, connection lines, etc.
FONTS AND COLORS
When adding new items to the tree, the new items get the defaults for fonts and colors from: - Fl_Tree::item_labelfont() -- The default item label font (default: FL_HELVETICA) - Fl_Tree::item_labelsize() -- The default item label size (default: FL_NORMAL_SIZE) - Fl_Tree::item_labelfgcolor() -- The default item label foreground color (default: FL_FOREGROUND_COLOR) - Fl_Tree::item_labelbgcolor() -- The default item label background color (default: 0xffffffff, which tree uses as 'transparent') Each item (Fl_Tree_Item) inherits a copy of these font/color attributes when created, and each item has its own methods to let the app change these values on a per-item basis using methods of the same name: - Fl_Tree_Item::item_labelfont() -- The item's label font (default: FL_HELVETICA) - Fl_Tree_Item::item_labelsize() -- The item's label size (default: FL_NORMAL_SIZE) - Fl_Tree_Item::item_labelfgcolor() -- The item's label foreground color (default: FL_FOREGROUND_COLOR) - Fl_Tree_Item::item_labelbgcolor() -- The item's label background color (default: 0xffffffff, which tree uses as 'transparent')
CALLBACKS
The tree's callback() will be invoked when items change state or are open/closed. when() controls when mouse/keyboard events invoke the callback. callback_item() and callback_reason() can be used to determine the cause of the callback. eg:
To get the item's full menu pathname, you can use Fl_Tree::item_pathname(), eg:
To walk all the items of the tree from top to bottom:
To recursively walk all the children of a particular item, define a function that uses recursion:
To change the default label font and color for creating new items:
To change the font and color of all items in the tree:
The following image shows the tree's various visual elements and the methods that control them: \image html tree-elements.png \image latex tree-elements.png "Fl_Tree dimensions" width=6cm The following table lists keyboard bindings for navigating the tree:
Keyboard | FL_TREE_SELECT_MULTI | FL_TREE_SELECT_SINGLE | FL_TREE_SELECT_NONE |
Ctrl-A (Linux/Windows) Command-A (Mac) | 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 from last item. | Selects item. | N/A |
Enter, Ctrl-Enter, Shift-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 | ( | const char * | path | ) |
Adds a new item, given a 'menu style' path, eg: "/Parent/Child/item".
Any parent nodes that don't already exist are created automatically. Adds the item based on the value of sortorder().
To specify items or submenus that contain slashes ('/' or '\') use an escape character to protect them, e.g.
Fl_Tree_Item * Fl_Tree::add | ( | Fl_Tree_Item * | item, |
const char * | name | ||
) |
Add a new child to a specific item in the tree.
[in] | item | The existing item to add new child to. Must not be NULL. |
[in] | name | The label for the new item |
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_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_reason | ( | Fl_Tree_Reason | reason | ) |
Sets the reason for this callback.
Used internally to pass the reason the callback was invoked.
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 Fl_Tree::clear | ( | ) |
Clear all children from the tree.
The tree will be left completely empty.
void Fl_Tree::clear_children | ( | Fl_Tree_Item * | item | ) |
Clear all the children of a particular node in the tree specified by item
.
Item may not be NULL.
int Fl_Tree::close | ( | Fl_Tree_Item * | item, |
int | docallback = 1 |
||
) |
Closes the specified item
.
Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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:
|
int Fl_Tree::close | ( | const char * | path, |
int | docallback = 1 |
||
) |
Closes the item specified by path
, eg: "Parent/child/item".
Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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:
|
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::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. |
int Fl_Tree::deselect | ( | Fl_Tree_Item * | item, |
int | docallback = 1 |
||
) |
De-select the specified item
.
Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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::deselect | ( | const char * | path, |
int | docallback = 1 |
||
) |
Deselect an item specified by path
(eg: "Parent/child/item").
Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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_all | ( | Fl_Tree_Item * | item = 0 , |
int | docallback = 1 |
||
) |
Deselect item
and all its children.
If item is NULL, first() is used. Handles calling redraw() if anything was changed. Invokes the callback depending on the value of optional parameter docallback
.
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. |
|
protected |
Extend a selection between 'from' and 'to'.
Used by SHIFT-click to extend a selection between two items inclusive.
const Fl_Tree_Item * Fl_Tree::find_clicked | ( | ) | const |
Find the item that was clicked.
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 (ie. 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().
Fl_Tree_Item * Fl_Tree::find_item | ( | const char * | path | ) |
Find the item, given a menu style path, eg: "/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.
[in] | path | – the tree item's pathname to be found (e.g. "Flintstones/Fred") |
Fl_Tree_Item * Fl_Tree::first | ( | ) |
Fl_Tree_Item * Fl_Tree::first_selected_item | ( | ) |
Returns the first selected item in the tree.
Use this to walk the tree looking for all the selected items, eg:
Fl_Tree_Item * Fl_Tree::first_visible | ( | ) |
Returns the first visible item in the tree.
Fl_Tree_Item * Fl_Tree::insert | ( | Fl_Tree_Item * | item, |
const char * | name, | ||
int | pos | ||
) |
Insert a new item into a tree-item's children at a specified position.
[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 above the specified Fl_Tree_Item, with the label set to 'name'.
[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 | ( | 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_close | ( | const char * | path | ) | const |
See if item specified by path
(eg: "Parent/child/item") 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_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_open | ( | const char * | path | ) | const |
See if item specified by path
(eg: "Parent/child/item") 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_scrollbar | ( | Fl_Widget * | w | ) |
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_selected | ( | const char * | path | ) |
See if item specified by path
(eg: "Parent/child/item") 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_vscroll_visible | ( | ) | const |
See if the vertical scrollbar is currently visible.
|
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.
Deprecated: use callback_item() instead.
Fl_Tree_Item * Fl_Tree::item_clicked | ( | ) |
Return the item that was last clicked.
Valid only from within the callback().
Deprecated: use callback_item() instead.
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_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)
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 |
Find the pathname for the specified item
.
If item
is NULL, root() is used. The tree's root will be included in the pathname of 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.
[in] | 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)int Fl_Tree::labelmarginleft | ( | ) | const |
Get the amount of white space (in pixels) that should appear to the left of the label text.
void Fl_Tree::labelmarginleft | ( | int | val | ) |
Set 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_visible | ( | ) |
Returns the last 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:
[in] | item | The item to use to find the next item. If NULL, returns 0. |
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).
Use this to walk the tree looking for all the selected items, eg:
[in] | item | The item to use to find the next selected item. If NULL, first() is used. |
|
protected |
Returns next visible item above (dir==Fl_Up) or below (dir==Fl_Down) the specified item
.
If item
is 0, returns first() if dir
is Fl_Up, or last() if dir
is FL_Down.
[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 | ( | Fl_Tree_Item * | item, |
int | docallback = 1 |
||
) |
Open the specified 'item'.
This causes the item's children (if any) to be shown. Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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:
|
int Fl_Tree::open | ( | const char * | path, |
int | docallback = 1 |
||
) |
Opens the item specified by path
(eg: "Parent/child/item").
This causes the item's children (if any) to be shown. Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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:
|
void Fl_Tree::open_toggle | ( | Fl_Tree_Item * | item, |
int | docallback = 1 |
||
) |
Toggle the open state of item
.
Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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:
|
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.
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_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, eg:
[in] | item | The item to use to find the previous item. If NULL, returns 0. |
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::root_label | ( | const char * | new_label | ) |
Set the label for the root item.
Makes an internally managed copy of 'new_label'.
int Fl_Tree::scrollbar_size | ( | ) | const |
Gets the current size of the scrollbars' troughs, in pixels.
If this value is zero (default), this widget will use the global Fl::scrollbar_size() value as the scrollbar's width.
void Fl_Tree::scrollbar_size | ( | int | size | ) |
Sets the pixel size of the scrollbars' troughs to the size
, 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, is the default behavior, and is normally what you want.
Only use THIS method if you really need to override the global scrollbar size. The need for this 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::select | ( | Fl_Tree_Item * | item, |
int | docallback = 1 |
||
) |
Select the specified item
.
Use 'deselect()' to de-select it. Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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 | ( | const char * | path, |
int | docallback = 1 |
||
) |
Select the item specified by path
(eg: "Parent/child/item").
Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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_all | ( | Fl_Tree_Item * | item = 0 , |
int | docallback = 1 |
||
) |
Select item
and all its children.
If item is NULL, first() is used. Handles calling redraw() if anything was changed. Invokes the callback depending on the value of optional parameter docallback
.
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 item is 0, first() is used. Handles calling redraw() if anything was changed. Invokes the callback depending on the value of optional parameter docallback
.
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
.
Handles redrawing if anything was actually changed. Invokes the callback depending on the value of optional parameter docallback
.
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:
|
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::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()
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, |
int | yoff | ||
) |
Adjust the vertical scroll bar 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 | ( | Fl_Tree_Item * | item | ) |
Adjust the vertical scroll bar to show item
at the top of the display IF it is currently off-screen (e.g.
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_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. |
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.
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::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. |
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::usericonmarginleft | ( | int | val | ) |
Set the amount of white space (in pixels) that should appear to the left of the usericon.
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. Example: A position of '3' indicates the top 3 pixels of the tree are scrolled off the top edge of the screen.
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. Example: A position of '3' scrolls the top three pixels of the tree off the top edge of the screen.
[in] | pos | The vertical position (in pixels) to scroll the browser to. |