68 #if FLTK_ABI_VERSION >= 10303
76 #if FLTK_ABI_VERSION >= 10303
78 enum Fl_Tree_Item_Flags {
88 #if FLTK_ABI_VERSION >= 10301
90 unsigned short _flags;
99 int _collapse_xywh[4];
103 #if FLTK_ABI_VERSION >= 10304
109 #if FLTK_ABI_VERSION >= 10301
118 void draw_vertical_connector(
int x,
int y1,
int y2,
const Fl_Tree_Prefs &prefs);
119 void draw_horizontal_connector(
int x1,
int x2,
int y,
const Fl_Tree_Prefs &prefs);
122 #if FLTK_ABI_VERSION >= 10303
129 #if FLTK_ABI_VERSION >= 10303
137 int x()
const {
return(_xywh[0]); }
139 int y()
const {
return(_xywh[1]); }
142 int w()
const {
return(_xywh[2]); }
144 int h()
const {
return(_xywh[3]); }
147 int label_x()
const {
return(_label_xywh[0]); }
150 int label_y()
const {
return(_label_xywh[1]); }
154 int label_w()
const {
return(_label_xywh[2]); }
157 int label_h()
const {
return(_label_xywh[3]); }
158 #if FLTK_ABI_VERSION >= 10303
159 virtual int draw_item_content(
int render);
160 void draw(
int X,
int &Y,
int W,
Fl_Tree_Item *itemfocus,
161 int &tree_item_xmax,
int lastchild=1,
int render=1);
163 void draw(
int X,
int &Y,
int W,
Fl_Widget *tree,
166 void show_self(
const char *indent =
"")
const;
167 void label(
const char *val);
168 const char *label()
const;
171 inline void user_data(
void* data ) { _userdata = data; }
200 return(_labelfgcolor);
208 return labelfgcolor();
220 return(_labelbgcolor);
233 return(_children.
total());
237 return(_children[index]);
245 int find_child(
const char *name);
248 int remove_child(
const char *new_label);
249 void clear_children();
250 void swap_children(
int ax,
int bx);
252 const Fl_Tree_Item *find_child_item(
const char *name)
const;
262 const char *new_label,
265 const char *new_label);
271 #if FLTK_ABI_VERSION >= 10303
279 int move(
int to,
int from);
289 void update_prev_next(
int index);
309 #if FLTK_ABI_VERSION >= 10303
317 #if FLTK_ABI_VERSION >= 10304
331 return(is_flag(OPEN));
335 return(is_flag(OPEN)?0:1);
339 is_open()?close():open();
345 set_flag(SELECTED, val);
349 if ( is_selected() ) {
361 if ( ! is_selected() ) {
365 for (
int t=0; t<children(); t++ ) {
366 count += child(t)->select_all();
372 set_flag(SELECTED, 0);
380 if ( is_selected() ) {
384 for (
int t=0; t<children(); t++ ) {
385 count += child(t)->deselect_all();
391 return(is_flag(SELECTED));
402 set_flag(ACTIVE,val);
403 if ( _widget && val != (
int)_widget->
active() ) {
420 return(is_flag(ACTIVE));
424 return(is_activated());
428 return(is_visible());
432 return(is_flag(VISIBLE));
434 int visible_r()
const;
479 #if FLTK_ABI_VERSION >= 10304
492 #if FLTK_ABI_VERSION >= 10303
499 int event_on_collapse_icon(
const Fl_Tree_Prefs &prefs)
const;
503 return(_parent==0?1:0);
509 #if FLTK_ABI_VERSION >= 10301
511 inline void set_flag(
unsigned short flag,
int val) {
512 if ( flag==OPEN || flag==VISIBLE ) {
515 if ( val ) _flags |= flag;
else _flags &= ~flag;
518 inline int is_flag(
unsigned short val)
const {
519 return(_flags & val ? 1 : 0);
523 void set_flag(
unsigned short flag,
int val) {
525 case OPEN: _open = val;
break;
526 case VISIBLE: _visible = val;
break;
527 case ACTIVE: _active = val;
break;
528 case SELECTED: _selected = val;
break;
532 int is_flag(
unsigned short flag)
const {
534 case OPEN:
return(_open ? 1 : 0);
535 case VISIBLE:
return(_visible ? 1 : 0);
536 case ACTIVE:
return(_active ? 1 : 0);
537 case SELECTED:
return(_selected ? 1 : 0);