mirror of https://github.com/fltk/fltk
Forgot tree.fl (should have been in r9377)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9379 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
f58cd169c0
commit
67ea785bfd
334
test/tree.fl
334
test/tree.fl
|
@ -214,11 +214,33 @@ fl_color_chooser("Choose Color",r,g,b);
|
||||||
return(fl_rgb_color(r,g,b));} {}
|
return(fl_rgb_color(r,g,b));} {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Function {GetTreeMarginBottom()} {
|
||||||
|
comment {Get the current 'margin bottom' size
|
||||||
|
Handles this as an ABI feature..} open return_type int
|
||||||
|
} {
|
||||||
|
code {\#if FLTK_ABI_VERSION >= 10302
|
||||||
|
return tree->marginbottom();
|
||||||
|
\#else
|
||||||
|
return 0;
|
||||||
|
\#endif} {}
|
||||||
|
}
|
||||||
|
|
||||||
|
Function {GetTreeWidgetMarginLeft()} {
|
||||||
|
comment {Get the current 'margin bottom' size
|
||||||
|
Handles this as an ABI feature..} open return_type int
|
||||||
|
} {
|
||||||
|
code {\#if FLTK_ABI_VERSION >= 10302
|
||||||
|
return tree->widgetmarginleft();
|
||||||
|
\#else
|
||||||
|
return 0;
|
||||||
|
\#endif} {}
|
||||||
|
}
|
||||||
|
|
||||||
Function {} {open
|
Function {} {open
|
||||||
} {
|
} {
|
||||||
Fl_Window window {
|
Fl_Window window {
|
||||||
label tree open
|
label tree open
|
||||||
xywh {709 21 1015 465} type Double visible
|
xywh {710 21 1015 590} type Double visible
|
||||||
} {
|
} {
|
||||||
Fl_Group tree {
|
Fl_Group tree {
|
||||||
label Tree
|
label Tree
|
||||||
|
@ -245,16 +267,16 @@ if ( item ) {
|
||||||
tree->changed() ? 1 : 0);
|
tree->changed() ? 1 : 0);
|
||||||
}
|
}
|
||||||
tree->clear_changed();} open
|
tree->clear_changed();} open
|
||||||
tooltip {Test tree} xywh {15 22 280 424} box DOWN_BOX color 55 selection_color 15
|
tooltip {Test tree} xywh {15 22 285 553} box DOWN_BOX color 55 selection_color 15
|
||||||
class Fl_Tree
|
class Fl_Tree
|
||||||
} {}
|
} {}
|
||||||
Fl_Group {} {open
|
Fl_Group {} {open
|
||||||
xywh {300 5 705 440}
|
xywh {300 5 705 590}
|
||||||
code0 {o->resizable(0);}
|
code0 {o->resizable(0);}
|
||||||
} {
|
} {
|
||||||
Fl_Box {} {
|
Fl_Box {} {
|
||||||
label {Tree Globals}
|
label {Tree Globals}
|
||||||
tooltip {These controls only affect the selected items. If no items are selected, all existing items in tree are modified.} xywh {311 23 334 280} box GTK_DOWN_BOX color 47 labelsize 12 align 1
|
tooltip {These controls only affect the selected items. If no items are selected, all existing items in tree are modified.} xywh {315 23 330 410} box GTK_DOWN_BOX color 47 labelsize 12 align 1
|
||||||
}
|
}
|
||||||
Fl_Value_Slider margintop_slider {
|
Fl_Value_Slider margintop_slider {
|
||||||
label {margintop()}
|
label {margintop()}
|
||||||
|
@ -262,11 +284,10 @@ tree->clear_changed();} open
|
||||||
callback {int val = (int)margintop_slider->value();
|
callback {int val = (int)margintop_slider->value();
|
||||||
tree->margintop(val);
|
tree->margintop(val);
|
||||||
tree->redraw();}
|
tree->redraw();}
|
||||||
tooltip {Changes the top margin for the tree widget} xywh {486 31 140 16} type Horizontal labelsize 12 align 4 textsize 12
|
tooltip {Changes the top margin for the tree widget} xywh {470 31 155 16} type Horizontal color 46 selection_color 1 labelsize 10 align 4 textsize 9
|
||||||
code0 {o->value(tree->margintop());}
|
code0 {o->value(tree->margintop());}
|
||||||
code1 {o->range(0.0, 100.0);}
|
code1 {o->range(0.0, 100.0);}
|
||||||
code2 {o->step(1.0);}
|
code2 {o->step(1.0);}
|
||||||
code3 {o->color(46); o->selection_color(FL_RED);}
|
|
||||||
}
|
}
|
||||||
Fl_Value_Slider marginleft_slider {
|
Fl_Value_Slider marginleft_slider {
|
||||||
label {marginleft()}
|
label {marginleft()}
|
||||||
|
@ -274,11 +295,84 @@ tree->redraw();}
|
||||||
callback {int val = (int)marginleft_slider->value();
|
callback {int val = (int)marginleft_slider->value();
|
||||||
tree->marginleft(val);
|
tree->marginleft(val);
|
||||||
tree->redraw();}
|
tree->redraw();}
|
||||||
tooltip {Changes the left margin for the tree widget} xywh {486 51 140 16} type Horizontal labelsize 12 align 4 textsize 12
|
tooltip {Changes the left margin for the tree widget} xywh {470 51 155 16} type Horizontal color 46 selection_color 1 labelsize 10 align 4 textsize 9
|
||||||
code0 {o->value(tree->marginleft());}
|
code0 {o->value(tree->marginleft());}
|
||||||
code1 {o->range(0.0, 100.0);}
|
code1 {o->range(0.0, 100.0);}
|
||||||
code2 {o->step(1.0);}
|
code2 {o->step(1.0);}
|
||||||
code3 {o->color(46); o->selection_color(FL_RED);}
|
}
|
||||||
|
Fl_Value_Slider marginbottom_slider {
|
||||||
|
label {marginbottom()}
|
||||||
|
user_data tree
|
||||||
|
callback {\#if FLTK_ABI_VERSION >= 10302
|
||||||
|
// NEW
|
||||||
|
int val = (int)marginbottom_slider->value();
|
||||||
|
tree->marginbottom(val);
|
||||||
|
tree->redraw();
|
||||||
|
\#else
|
||||||
|
// OLD
|
||||||
|
marginbottom_slider->deactivate(); // deactivate if this ABI feature is disabled
|
||||||
|
marginbottom_slider->tooltip("DISABLED.\\n"
|
||||||
|
"Set FLTK_ABI_VERSION to 10302 (or higher)\\n"
|
||||||
|
"to get this feature");
|
||||||
|
\#endif}
|
||||||
|
tooltip {Changes the bottom margin for the tree
|
||||||
|
Sets how far beyond bottom of tree you can scroll} xywh {470 71 155 16} type Horizontal color 46 selection_color 1 labelsize 10 align 4 textsize 9
|
||||||
|
code0 {o->value(GetTreeMarginBottom()); // handle ABI feature}
|
||||||
|
code1 {o->range(0.0, 275.0);}
|
||||||
|
code2 {o->step(1.0);}
|
||||||
|
code3 {o->do_callback();}
|
||||||
|
}
|
||||||
|
Fl_Value_Slider linespacing_slider {
|
||||||
|
label {linespacing()}
|
||||||
|
user_data tree
|
||||||
|
callback {int val = (int)linespacing_slider->value();
|
||||||
|
tree->linespacing(val);
|
||||||
|
tree->redraw();}
|
||||||
|
tooltip {Changes the spacing between items in the tree} xywh {470 91 155 16} type Horizontal color 46 selection_color 1 labelsize 10 align 4 textsize 9
|
||||||
|
code0 {o->value(tree->linespacing());}
|
||||||
|
code1 {o->range(0.0, 100.0);}
|
||||||
|
code2 {o->step(1.0);}
|
||||||
|
}
|
||||||
|
Fl_Value_Slider usericonmarginleft_slider {
|
||||||
|
label {usericonmarginleft()}
|
||||||
|
user_data tree
|
||||||
|
callback {int val = (int)usericonmarginleft_slider->value();
|
||||||
|
tree->usericonmarginleft(val);
|
||||||
|
tree->redraw();}
|
||||||
|
tooltip {Changes the left margin for the user icons (if any)} xywh {470 111 155 16} type Horizontal color 46 selection_color 1 labelsize 10 align 4 textsize 9
|
||||||
|
code0 {o->value(tree->usericonmarginleft());}
|
||||||
|
code1 {o->range(0.0, 100.0);}
|
||||||
|
code2 {o->step(1.0);}
|
||||||
|
}
|
||||||
|
Fl_Value_Slider labelmarginleft_slider {
|
||||||
|
label {labelmarginleft()}
|
||||||
|
user_data tree
|
||||||
|
callback {int val = (int)labelmarginleft_slider->value();
|
||||||
|
tree->labelmarginleft(val);
|
||||||
|
tree->redraw();}
|
||||||
|
tooltip {Changes the left margin for the item label} xywh {470 131 155 16} type Horizontal color 46 selection_color 1 labelsize 10 align 4 textsize 9
|
||||||
|
code0 {o->value(tree->labelmarginleft());}
|
||||||
|
code1 {o->range(0.0, 100.0);}
|
||||||
|
code2 {o->step(1.0);}
|
||||||
|
}
|
||||||
|
Fl_Value_Slider widgetmarginleft_slider {
|
||||||
|
label {widgetmarginleft()}
|
||||||
|
user_data tree
|
||||||
|
callback {\#if FLTK_ABI_VERSION >= 10302
|
||||||
|
int val = (int)widgetmarginleft_slider->value();
|
||||||
|
tree->widgetmarginleft(val);
|
||||||
|
tree->redraw();
|
||||||
|
\#else
|
||||||
|
widgetmarginleft_slider->deactivate();
|
||||||
|
widgetmarginleft_slider->tooltip("DISABLED.\\n"
|
||||||
|
"Set FLTK_ABI_VERSION to 10302 (or higher)\\n"
|
||||||
|
"to get this feature");
|
||||||
|
\#endif}
|
||||||
|
tooltip {Changes the margin to the left of child FLTK widget()} xywh {470 151 155 16} type Horizontal color 46 selection_color 1 labelsize 10 align 4 textsize 9
|
||||||
|
code0 {o->value(GetTreeWidgetMarginLeft()); // handle ABI feature}
|
||||||
|
code1 {o->range(0.0, 100.0);}
|
||||||
|
code2 {o->step(1.0);}
|
||||||
|
code3 {o->do_callback();}
|
||||||
}
|
}
|
||||||
Fl_Value_Slider openchild_marginbottom_slider {
|
Fl_Value_Slider openchild_marginbottom_slider {
|
||||||
label {openchild_marginbottom()}
|
label {openchild_marginbottom()}
|
||||||
|
@ -286,11 +380,10 @@ tree->redraw();}
|
||||||
callback {int val = (int)openchild_marginbottom_slider->value();
|
callback {int val = (int)openchild_marginbottom_slider->value();
|
||||||
tree->openchild_marginbottom(val);
|
tree->openchild_marginbottom(val);
|
||||||
tree->redraw();}
|
tree->redraw();}
|
||||||
tooltip {Changes the vertical space below an open child tree} xywh {486 71 140 16} type Horizontal labelsize 12 align 4 textsize 12
|
tooltip {Changes the vertical space below an open child tree} xywh {470 171 155 16} type Horizontal color 46 selection_color 1 labelsize 10 align 4 textsize 9
|
||||||
code0 {o->value(tree->openchild_marginbottom());}
|
code0 {o->value(tree->openchild_marginbottom());}
|
||||||
code1 {o->range(0.0, 100.0);}
|
code1 {o->range(0.0, 100.0);}
|
||||||
code2 {o->step(1.0);}
|
code2 {o->step(1.0);}
|
||||||
code3 {o->color(46); o->selection_color(FL_RED);}
|
|
||||||
}
|
}
|
||||||
Fl_Choice collapseicons_chooser {
|
Fl_Choice collapseicons_chooser {
|
||||||
label {Collapse icons}
|
label {Collapse icons}
|
||||||
|
@ -380,8 +473,8 @@ switch ( collapseicons_chooser->value() ) {
|
||||||
case 2:
|
case 2:
|
||||||
tree->showcollapse(0);
|
tree->showcollapse(0);
|
||||||
break;
|
break;
|
||||||
}}
|
}} selected
|
||||||
tooltip {Tests Fl_Tree::openicon() and Fl_Tree::closeicon()} xywh {486 96 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
tooltip {Tests Fl_Tree::openicon() and Fl_Tree::closeicon()} xywh {485 201 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
||||||
} {
|
} {
|
||||||
MenuItem {} {
|
MenuItem {} {
|
||||||
label Normal
|
label Normal
|
||||||
|
@ -403,8 +496,8 @@ switch ( connectorstyle_chooser->value() ) {
|
||||||
case 0: tree->connectorstyle(FL_TREE_CONNECTOR_NONE); break;
|
case 0: tree->connectorstyle(FL_TREE_CONNECTOR_NONE); break;
|
||||||
case 1: tree->connectorstyle(FL_TREE_CONNECTOR_DOTTED); break;
|
case 1: tree->connectorstyle(FL_TREE_CONNECTOR_DOTTED); break;
|
||||||
case 2: tree->connectorstyle(FL_TREE_CONNECTOR_SOLID); break;
|
case 2: tree->connectorstyle(FL_TREE_CONNECTOR_SOLID); break;
|
||||||
}}
|
}} selected
|
||||||
tooltip {Tests connectorstyle() bit flags} xywh {486 120 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
tooltip {Tests connectorstyle() bit flags} xywh {485 225 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
||||||
code0 {switch (tree->connectorstyle()) { case FL_TREE_CONNECTOR_NONE: connectorstyle_chooser->value(0); break; case FL_TREE_CONNECTOR_DOTTED: connectorstyle_chooser->value(1); break; case FL_TREE_CONNECTOR_SOLID: connectorstyle_chooser->value(2); break; }}
|
code0 {switch (tree->connectorstyle()) { case FL_TREE_CONNECTOR_NONE: connectorstyle_chooser->value(0); break; case FL_TREE_CONNECTOR_DOTTED: connectorstyle_chooser->value(1); break; case FL_TREE_CONNECTOR_SOLID: connectorstyle_chooser->value(2); break; }}
|
||||||
} {
|
} {
|
||||||
MenuItem {} {
|
MenuItem {} {
|
||||||
|
@ -428,8 +521,8 @@ switch ( selectmode_chooser->value() ) {
|
||||||
case 1: tree->selectmode(FL_TREE_SELECT_SINGLE); break; // Single
|
case 1: tree->selectmode(FL_TREE_SELECT_SINGLE); break; // Single
|
||||||
case 2: tree->selectmode(FL_TREE_SELECT_MULTI); break; // Multi
|
case 2: tree->selectmode(FL_TREE_SELECT_MULTI); break; // Multi
|
||||||
default: tree->selectmode(FL_TREE_SELECT_SINGLE); break; // Single
|
default: tree->selectmode(FL_TREE_SELECT_SINGLE); break; // Single
|
||||||
}}
|
}} selected
|
||||||
tooltip {Sets how Fl_Tree handles mouse selection of tree items} xywh {486 144 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
tooltip {Sets how Fl_Tree handles mouse selection of tree items} xywh {485 249 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
||||||
code0 {selectmode_chooser->value(1);}
|
code0 {selectmode_chooser->value(1);}
|
||||||
code1 {cb_selectmode_chooser(selectmode_chooser, (void*)0);}
|
code1 {cb_selectmode_chooser(selectmode_chooser, (void*)0);}
|
||||||
} {
|
} {
|
||||||
|
@ -461,8 +554,10 @@ reselectmode_chooser->deactivate(); // deactivate if this ABI feature is disabl
|
||||||
reselectmode_chooser->tooltip("DISABLED.\\n"
|
reselectmode_chooser->tooltip("DISABLED.\\n"
|
||||||
"Set FLTK_ABI_VERSION to 10302 (or higher)\\n"
|
"Set FLTK_ABI_VERSION to 10302 (or higher)\\n"
|
||||||
"to get this feature");
|
"to get this feature");
|
||||||
|
window->redraw(); // deactivated
|
||||||
\#endif} selected
|
\#endif} selected
|
||||||
tooltip {Enable 'reselect' events} xywh {486 168 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
tooltip {Enable 'reselect' events
|
||||||
|
These happen when mouse drags or multi-clicks an item} xywh {485 273 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
||||||
code0 {reselectmode_chooser->value(1);}
|
code0 {reselectmode_chooser->value(1);}
|
||||||
code1 {reselectmode_chooser->do_callback();}
|
code1 {reselectmode_chooser->do_callback();}
|
||||||
} {
|
} {
|
||||||
|
@ -475,6 +570,36 @@ reselectmode_chooser->tooltip("DISABLED.\\n"
|
||||||
xywh {60 60 36 21} labelsize 12
|
xywh {60 60 36 21} labelsize 12
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Fl_Choice itemdrawmode_chooser {
|
||||||
|
label {Item Draw Mode}
|
||||||
|
callback {\#if FLTK_ABI_VERSION >= 10302
|
||||||
|
// NEW
|
||||||
|
switch ( itemdrawmode_chooser->value() ) {
|
||||||
|
case 0: tree->item_draw_mode(FL_TREE_ITEM_DRAW_WIDGET_ONLY); break; // None
|
||||||
|
case 1: tree->item_draw_mode(FL_TREE_ITEM_DRAW_LABEL_AND_WIDGET); break; // Single
|
||||||
|
}
|
||||||
|
tree->redraw();
|
||||||
|
\#else
|
||||||
|
// OLD
|
||||||
|
itemdrawmode_chooser->deactivate(); // deactivate if this ABI feature is disabled
|
||||||
|
itemdrawmode_chooser->tooltip("DISABLED.\\n"
|
||||||
|
"Set FLTK_ABI_VERSION to 10302 (or higher)\\n"
|
||||||
|
"to get this feature");
|
||||||
|
window->redraw(); // deactivated
|
||||||
|
\#endif} selected
|
||||||
|
tooltip {Sets how Fl_Tree draws item label and widget()} xywh {485 297 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
||||||
|
code0 {itemdrawmode_chooser->value(0);}
|
||||||
|
code1 {itemdrawmode_chooser->do_callback();}
|
||||||
|
} {
|
||||||
|
MenuItem {} {
|
||||||
|
label {Widget Only}
|
||||||
|
xywh {50 50 36 21} labelsize 12
|
||||||
|
}
|
||||||
|
MenuItem {} {
|
||||||
|
label {Label And Widget}
|
||||||
|
xywh {60 60 36 21} labelsize 12
|
||||||
|
}
|
||||||
|
}
|
||||||
Fl_Choice whenmode_chooser {
|
Fl_Choice whenmode_chooser {
|
||||||
label When
|
label When
|
||||||
callback {// Set when mode
|
callback {// Set when mode
|
||||||
|
@ -483,8 +608,8 @@ switch ( whenmode_chooser->value() ) {
|
||||||
case 1: tree->when(FL_WHEN_CHANGED); break;
|
case 1: tree->when(FL_WHEN_CHANGED); break;
|
||||||
case 2: tree->when(FL_WHEN_NEVER); break;
|
case 2: tree->when(FL_WHEN_NEVER); break;
|
||||||
default: tree->when(FL_WHEN_RELEASE); break;
|
default: tree->when(FL_WHEN_RELEASE); break;
|
||||||
}}
|
}} selected
|
||||||
tooltip {Sets when() the tree's callback is invoked} xywh {486 192 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
tooltip {Sets when() the tree's callback is invoked} xywh {485 321 140 21} down_box BORDER_BOX labelsize 12 textsize 11
|
||||||
code0 {whenmode_chooser->value(1);}
|
code0 {whenmode_chooser->value(1);}
|
||||||
code1 {cb_whenmode_chooser(whenmode_chooser, (void*)0);}
|
code1 {cb_whenmode_chooser(whenmode_chooser, (void*)0);}
|
||||||
} {
|
} {
|
||||||
|
@ -505,7 +630,7 @@ switch ( whenmode_chooser->value() ) {
|
||||||
label {Enable user icons?}
|
label {Enable user icons?}
|
||||||
user_data tree
|
user_data tree
|
||||||
callback {AssignUserIcons();}
|
callback {AssignUserIcons();}
|
||||||
tooltip {Tests Fl_Tree_Item::usericon()} xywh {486 221 20 16} down_box DOWN_BOX labelsize 12 align 7
|
tooltip {Tests Fl_Tree_Item::usericon()} xywh {485 353 20 16} down_box DOWN_BOX labelsize 12 align 7
|
||||||
code0 {usericon_radio->value(1);}
|
code0 {usericon_radio->value(1);}
|
||||||
}
|
}
|
||||||
Fl_Check_Button showroot_radio {
|
Fl_Check_Button showroot_radio {
|
||||||
|
@ -513,7 +638,7 @@ switch ( whenmode_chooser->value() ) {
|
||||||
user_data tree
|
user_data tree
|
||||||
callback {int onoff = showroot_radio->value();
|
callback {int onoff = showroot_radio->value();
|
||||||
tree->showroot(onoff);}
|
tree->showroot(onoff);}
|
||||||
tooltip {Tests tree->showroot();} xywh {486 237 20 16} down_box DOWN_BOX labelsize 12 align 7
|
tooltip {Tests tree->showroot();} xywh {485 369 20 16} down_box DOWN_BOX labelsize 12 align 7
|
||||||
code0 {int onoff = tree->showroot(); showroot_radio->value(onoff);}
|
code0 {int onoff = tree->showroot(); showroot_radio->value(onoff);}
|
||||||
}
|
}
|
||||||
Fl_Check_Button visiblefocus_checkbox {
|
Fl_Check_Button visiblefocus_checkbox {
|
||||||
|
@ -521,7 +646,7 @@ tree->showroot(onoff);}
|
||||||
user_data tree
|
user_data tree
|
||||||
callback {int onoff = visiblefocus_checkbox->value();
|
callback {int onoff = visiblefocus_checkbox->value();
|
||||||
tree->visible_focus(onoff);}
|
tree->visible_focus(onoff);}
|
||||||
tooltip {Toggles the tree's visible_focus() box} xywh {486 254 20 16} down_box DOWN_BOX labelsize 12 align 7
|
tooltip {Toggles the tree's visible_focus() box} xywh {485 386 20 16} down_box DOWN_BOX labelsize 12 align 7
|
||||||
code0 {int onoff = tree->visible_focus(); visiblefocus_checkbox->value(onoff);}
|
code0 {int onoff = tree->visible_focus(); visiblefocus_checkbox->value(onoff);}
|
||||||
}
|
}
|
||||||
Fl_Button selection_color_button {
|
Fl_Button selection_color_button {
|
||||||
|
@ -530,17 +655,17 @@ tree->visible_focus(onoff);}
|
||||||
selection_color_button->color(val); // update modified color to button
|
selection_color_button->color(val); // update modified color to button
|
||||||
tree->selection_color(val);
|
tree->selection_color(val);
|
||||||
tree->redraw();}
|
tree->redraw();}
|
||||||
tooltip {Changes the tree widget's selection color. Tests Fl_Tree::selection_color()} xywh {486 277 16 16} box DOWN_BOX labelsize 12 align 7
|
tooltip {Changes the tree widget's selection color. Tests Fl_Tree::selection_color()} xywh {485 409 16 16} box DOWN_BOX labelsize 12 align 7
|
||||||
code0 {o->color(tree->selection_color());}
|
code0 {o->color(tree->selection_color());}
|
||||||
}
|
}
|
||||||
Fl_Box {} {
|
Fl_Box {} {
|
||||||
label {Test Operations}
|
label {Test Operations}
|
||||||
tooltip {These controls only affect the defaults for new items that are created. These test the Fl_Tree_Prefs methods.} xywh {311 325 335 120} box GTK_DOWN_BOX color 47 labelsize 12 align 1
|
tooltip {These controls only affect the defaults for new items that are created. These test the Fl_Tree_Prefs methods.} xywh {315 450 330 125} box GTK_DOWN_BOX color 47 labelsize 12 align 1
|
||||||
}
|
}
|
||||||
Fl_Box showitem_box {
|
Fl_Box showitem_box {
|
||||||
label {show_item()
|
label {show_item()
|
||||||
}
|
}
|
||||||
xywh {331 348 70 82} box GTK_DOWN_BOX labelsize 11 align 1
|
xywh {335 475 70 82} box GTK_DOWN_BOX labelsize 11 align 1
|
||||||
}
|
}
|
||||||
Fl_Button {} {
|
Fl_Button {} {
|
||||||
label Show
|
label Show
|
||||||
|
@ -548,7 +673,7 @@ tree->redraw();}
|
||||||
tree->show_item(item);}
|
tree->show_item(item);}
|
||||||
tooltip {Tests show_item() with no position specified.
|
tooltip {Tests show_item() with no position specified.
|
||||||
Makes the selected item visible IF it is off-screen.
|
Makes the selected item visible IF it is off-screen.
|
||||||
No change made if it is not off-screen.} xywh {346 357 40 17} labelsize 11
|
No change made if it is not off-screen.} xywh {350 484 40 17} labelsize 11
|
||||||
}
|
}
|
||||||
Fl_Button {} {
|
Fl_Button {} {
|
||||||
label Top
|
label Top
|
||||||
|
@ -560,7 +685,7 @@ Scrolls selected item to the top of the display
|
||||||
To use:
|
To use:
|
||||||
1) open '500 items'
|
1) open '500 items'
|
||||||
2) select item 0010
|
2) select item 0010
|
||||||
3) Hit Top/Mid/Bot} xywh {346 374 40 16} labelsize 11
|
3) Hit Top/Mid/Bot} xywh {350 501 40 16} labelsize 11
|
||||||
}
|
}
|
||||||
Fl_Button {} {
|
Fl_Button {} {
|
||||||
label Mid
|
label Mid
|
||||||
|
@ -571,7 +696,7 @@ Scrolls the selected item to the middle of the display
|
||||||
To use:
|
To use:
|
||||||
1) open '500 items'
|
1) open '500 items'
|
||||||
2) select 'item 0010'
|
2) select 'item 0010'
|
||||||
3) Hit Top/Mid/Bot} xywh {346 390 40 16} labelsize 11
|
3) Hit Top/Mid/Bot} xywh {350 517 40 16} labelsize 11
|
||||||
}
|
}
|
||||||
Fl_Button {} {
|
Fl_Button {} {
|
||||||
label Bot
|
label Bot
|
||||||
|
@ -582,7 +707,18 @@ Scrolls the selected item to the bottom of the display
|
||||||
To use:
|
To use:
|
||||||
1) open '500 items'
|
1) open '500 items'
|
||||||
2) select 'item 0010'
|
2) select 'item 0010'
|
||||||
3) Hit Top/Mid/Bot} xywh {346 406 40 16} labelsize 11
|
3) Hit Top/Mid/Bot} xywh {350 533 40 16} labelsize 11
|
||||||
|
}
|
||||||
|
Fl_Button openall_button {
|
||||||
|
label {Open All}
|
||||||
|
callback {for ( Fl_Tree_Item *item = tree->first();
|
||||||
|
item;
|
||||||
|
item = tree->next(item) ) {
|
||||||
|
if ( !item->is_root() && item->has_children() )
|
||||||
|
item->open();
|
||||||
|
}
|
||||||
|
tree->redraw();}
|
||||||
|
tooltip {Opens all nodes that have children} xywh {435 466 95 16} labelsize 9
|
||||||
}
|
}
|
||||||
Fl_Button loaddb_button {
|
Fl_Button loaddb_button {
|
||||||
label {Load Database...}
|
label {Load Database...}
|
||||||
|
@ -593,7 +729,7 @@ if (filename) {
|
||||||
tree->load(prefs);
|
tree->load(prefs);
|
||||||
tree->redraw();
|
tree->redraw();
|
||||||
}}
|
}}
|
||||||
tooltip {Load the contents of an Fl_Preferences database into the tree view} xywh {431 351 95 16} labelsize 9
|
tooltip {Load the contents of an Fl_Preferences database into the tree view} xywh {435 486 95 16} labelsize 9
|
||||||
}
|
}
|
||||||
Fl_Button insertabove_button {
|
Fl_Button insertabove_button {
|
||||||
label {Insert Above}
|
label {Insert Above}
|
||||||
|
@ -608,12 +744,12 @@ while (item) {
|
||||||
}
|
}
|
||||||
|
|
||||||
tree->redraw();}
|
tree->redraw();}
|
||||||
tooltip {Inserts three items above the selected items} xywh {431 371 95 16} labelsize 9
|
tooltip {Inserts three items above the selected items} xywh {435 506 95 16} labelsize 9
|
||||||
}
|
}
|
||||||
Fl_Button rebuildtree_button {
|
Fl_Button rebuildtree_button {
|
||||||
label {Rebuild Tree}
|
label {Rebuild Tree}
|
||||||
callback {RebuildTree();}
|
callback {RebuildTree();}
|
||||||
tooltip {Rebuilds the tree with defaults} xywh {431 391 95 16} labelsize 9
|
tooltip {Rebuilds the tree with defaults} xywh {435 526 95 16} labelsize 9
|
||||||
}
|
}
|
||||||
Fl_Button showpathname_button {
|
Fl_Button showpathname_button {
|
||||||
label {Show Pathname}
|
label {Show Pathname}
|
||||||
|
@ -626,14 +762,26 @@ switch ( tree->item_pathname(pathname, sizeof(pathname), item) ) {
|
||||||
case -1: fl_message("item_pathname() returned -1 (NOT FOUND)"); break;
|
case -1: fl_message("item_pathname() returned -1 (NOT FOUND)"); break;
|
||||||
case -2: fl_message("item_pathname() returned -2 (STRING TOO LONG)"); break;
|
case -2: fl_message("item_pathname() returned -2 (STRING TOO LONG)"); break;
|
||||||
}}
|
}}
|
||||||
tooltip {Show the pathname for the selected item. Tests the Fl_Tree::item_pathname() method.} xywh {431 411 95 16} labelsize 9
|
tooltip {Show the pathname for the selected item. Tests the Fl_Tree::item_pathname() method.} xywh {435 546 95 16} labelsize 9
|
||||||
|
}
|
||||||
|
Fl_Button closeall_button {
|
||||||
|
label {Close All}
|
||||||
|
callback {for ( Fl_Tree_Item *item = tree->first();
|
||||||
|
item;
|
||||||
|
item = tree->next(item) ) {
|
||||||
|
if ( !item->is_root() && item->has_children() )
|
||||||
|
item->close();
|
||||||
|
}
|
||||||
|
tree->redraw();}
|
||||||
|
tooltip {Closes all nodes that have children
|
||||||
|
(doesn't affect 'root')} xywh {535 466 95 16} labelsize 9
|
||||||
}
|
}
|
||||||
Fl_Button clearall_button {
|
Fl_Button clearall_button {
|
||||||
label {Clear All}
|
label {Clear All}
|
||||||
callback {tree->clear();
|
callback {tree->clear();
|
||||||
tree->redraw();}
|
tree->redraw();}
|
||||||
tooltip {Clears all items
|
tooltip {Clears all items
|
||||||
Tests Fl_Tree::clear()} xywh {531 351 95 16} labelsize 9
|
Tests Fl_Tree::clear()} xywh {535 486 95 16} labelsize 9
|
||||||
}
|
}
|
||||||
Fl_Button testcallbackflag_button {
|
Fl_Button testcallbackflag_button {
|
||||||
label {Test Callback Flag}
|
label {Test Callback Flag}
|
||||||
|
@ -698,18 +846,39 @@ G_cb_counter = 0; tree->select("ROOT"); if ( !G_cb_counter ) fl_alert("FAIL
|
||||||
tree->deselect("ROOT"); // leave deselected
|
tree->deselect("ROOT"); // leave deselected
|
||||||
|
|
||||||
fl_alert("TEST COMPLETED\\n If you didn't see any error dialogs, test PASSED.");}
|
fl_alert("TEST COMPLETED\\n If you didn't see any error dialogs, test PASSED.");}
|
||||||
tooltip {Test the 'docallback' argument can disable callbacks.} xywh {531 371 95 16} labelsize 9
|
tooltip {Test the 'docallback' argument can disable callbacks.} xywh {535 506 95 16} labelsize 9
|
||||||
}
|
}
|
||||||
Fl_Button testrootshowself_button {
|
Fl_Button testrootshowself_button {
|
||||||
label {Root Show Self}
|
label {Root Show Self}
|
||||||
callback {Fl_Tree_Item *root = tree->root();
|
callback {Fl_Tree_Item *root = tree->root();
|
||||||
fprintf(stderr, "--- Show Tree\\n");
|
fprintf(stderr, "--- Show Tree\\n");
|
||||||
if (root) root->show_self();}
|
if (root) root->show_self();}
|
||||||
tooltip {Test the root->'show_self() method to show the entire tree} xywh {530 391 95 16} labelsize 9
|
tooltip {Test the root->'show_self() method to show the entire tree on stdout} xywh {534 526 95 16} labelsize 9
|
||||||
|
}
|
||||||
|
Fl_Button add20k_button {
|
||||||
|
label {Add 20,000}
|
||||||
|
callback {static int item_id = 501;
|
||||||
|
Fl_Tree_Item *item=tree->first();
|
||||||
|
while (item) {
|
||||||
|
if ( item->is_selected() ) {
|
||||||
|
Fl_Tree_Item *parent = item->parent();
|
||||||
|
if ( parent == 0 ) parent = tree->root();
|
||||||
|
char s[80];
|
||||||
|
for ( int i=0; i<20000; i++ ) {
|
||||||
|
sprintf(s, "Item \#%d", item_id+i);
|
||||||
|
tree->add(parent, s);
|
||||||
|
}
|
||||||
|
item_id += 20000;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
item = item->next();
|
||||||
|
}
|
||||||
|
tree->redraw();}
|
||||||
|
tooltip {Adds 20,000 items to the selected item's parent} xywh {534 546 95 16} labelsize 9
|
||||||
}
|
}
|
||||||
Fl_Box {} {
|
Fl_Box {} {
|
||||||
label {Selected Items}
|
label {Selected Items}
|
||||||
tooltip {These controls only affect the selected items. If no items are selected, all existing items in tree are modified.} xywh {661 23 335 280} box GTK_DOWN_BOX color 47 labelsize 12 align 1
|
tooltip {These controls only affect the selected items. If no items are selected, all existing items in tree are modified.} xywh {661 23 335 410} box GTK_DOWN_BOX color 47 labelsize 12 align 1
|
||||||
}
|
}
|
||||||
Fl_Choice all_font_choice {
|
Fl_Choice all_font_choice {
|
||||||
label {Label Font}
|
label {Label Font}
|
||||||
|
@ -977,6 +1146,36 @@ while (item) {
|
||||||
tree->redraw();}
|
tree->redraw();}
|
||||||
tooltip {Removes the selected items} xywh {829 174 95 16} labelsize 9
|
tooltip {Removes the selected items} xywh {829 174 95 16} labelsize 9
|
||||||
}
|
}
|
||||||
|
Fl_Button swapselected_button {
|
||||||
|
label {Swap Selected}
|
||||||
|
callback {Fl_Tree_Item *item=tree->first();
|
||||||
|
Fl_Tree_Item *a = 0, *b = 0;
|
||||||
|
while (item) {
|
||||||
|
if ( item->is_selected() ) {
|
||||||
|
if ( !a ) a = item;
|
||||||
|
else if ( !b ) b = item;
|
||||||
|
else {
|
||||||
|
fl_alert("Too many items selected. (must select only two)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
item = item->next();
|
||||||
|
}
|
||||||
|
if ( !a || !b ) {
|
||||||
|
fl_alert("Too few items selected. (you must select two)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Fl_Tree_Item *pa = a->parent();
|
||||||
|
Fl_Tree_Item *pb = b->parent();
|
||||||
|
if ( pa != pb ) {
|
||||||
|
fl_alert("The two selected items must be siblings");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
pa->swap_children(a,b);
|
||||||
|
tree->redraw();}
|
||||||
|
tooltip {Tests the Fl_Tree_Item::swap_children() method
|
||||||
|
Swaps two selected items (items must be siblings)} xywh {829 194 95 16} labelsize 9
|
||||||
|
}
|
||||||
Fl_Button selectall_button {
|
Fl_Button selectall_button {
|
||||||
label {Select All}
|
label {Select All}
|
||||||
callback {tree->select_all(0);
|
callback {tree->select_all(0);
|
||||||
|
@ -1059,14 +1258,14 @@ else tree->deselect_all(item); // deselect /ROOT and its children}
|
||||||
}
|
}
|
||||||
Fl_Box {} {
|
Fl_Box {} {
|
||||||
label {New Item Defaults}
|
label {New Item Defaults}
|
||||||
tooltip {These controls only affect the defaults for new items that are created. These test the Fl_Tree_Prefs methods.} xywh {661 325 335 120} box GTK_DOWN_BOX color 47 labelsize 12 align 1
|
tooltip {These controls only affect the defaults for new items that are created. These test the Fl_Tree_Prefs methods.} xywh {660 450 335 125} box GTK_DOWN_BOX color 47 labelsize 12 align 1
|
||||||
}
|
}
|
||||||
Fl_Button item_labelfgcolor_button {
|
Fl_Button item_labelfgcolor_button {
|
||||||
label item_labelfgcolor
|
label item_labelfgcolor
|
||||||
callback {Fl_Color val = EditColor(tree->item_labelfgcolor()); // Let user edit the color
|
callback {Fl_Color val = EditColor(tree->item_labelfgcolor()); // Let user edit the color
|
||||||
tree->item_labelfgcolor(val); // apply modified color to tree
|
tree->item_labelfgcolor(val); // apply modified color to tree
|
||||||
item_labelfgcolor_button->color(val); // update modified color to button}
|
item_labelfgcolor_button->color(val); // update modified color to button}
|
||||||
tooltip {Sets the *default* label foreground color for new items created. Does NOT affect existing items.} xywh {828 340 16 16} box DOWN_BOX labelsize 12 align 7
|
tooltip {Sets the *default* label foreground color for new items created. Does NOT affect existing items.} xywh {832 472 16 16} box DOWN_BOX labelsize 12 align 7
|
||||||
code0 {o->color(tree->item_labelfgcolor());}
|
code0 {o->color(tree->item_labelfgcolor());}
|
||||||
}
|
}
|
||||||
Fl_Button item_labelbgcolor_button {
|
Fl_Button item_labelbgcolor_button {
|
||||||
|
@ -1074,14 +1273,14 @@ item_labelfgcolor_button->color(val); // update modified color to button}
|
||||||
callback {Fl_Color val = EditColor(tree->item_labelbgcolor()); // Let user edit the color
|
callback {Fl_Color val = EditColor(tree->item_labelbgcolor()); // Let user edit the color
|
||||||
tree->item_labelbgcolor(val); // apply modified color to tree
|
tree->item_labelbgcolor(val); // apply modified color to tree
|
||||||
item_labelbgcolor_button->color(val); // update modified color to button}
|
item_labelbgcolor_button->color(val); // update modified color to button}
|
||||||
tooltip {Sets the *default* label background color for new items created. Does NOT affect existing items.} xywh {828 358 16 16} box DOWN_BOX labelsize 12 align 7
|
tooltip {Sets the *default* label background color for new items created. Does NOT affect existing items.} xywh {832 490 16 16} box DOWN_BOX labelsize 12 align 7
|
||||||
code0 {item_labelbgcolor_button->color(tree->item_labelbgcolor());}
|
code0 {item_labelbgcolor_button->color(tree->item_labelbgcolor());}
|
||||||
}
|
}
|
||||||
Fl_Choice item_font_choice {
|
Fl_Choice item_font_choice {
|
||||||
label {Item label font}
|
label {Item label font}
|
||||||
callback {Fl_Font val = (Fl_Font)item_font_choice->value(); // get chooser's current font value
|
callback {Fl_Font val = (Fl_Font)item_font_choice->value(); // get chooser's current font value
|
||||||
tree->item_labelfont(val); // change font in tree}
|
tree->item_labelfont(val); // change font in tree}
|
||||||
tooltip {Sets the default font used for new items created. Does NOT affect existing items.} xywh {828 384 140 21} down_box BORDER_BOX labelsize 12 textsize 12
|
tooltip {Sets the default font used for new items created. Does NOT affect existing items.} xywh {832 516 140 21} down_box BORDER_BOX labelsize 12 textsize 12
|
||||||
code0 {o->value((int)tree->item_labelfont()); // get tree's current font, assign to chooser}
|
code0 {o->value((int)tree->item_labelfont()); // get tree's current font, assign to chooser}
|
||||||
} {
|
} {
|
||||||
MenuItem {} {
|
MenuItem {} {
|
||||||
|
@ -1153,63 +1352,12 @@ tree->item_labelfont(val); // change font in tree}
|
||||||
label item_labelsize
|
label item_labelsize
|
||||||
user_data tree
|
user_data tree
|
||||||
callback {tree->item_labelsize((int)item_labelsize_slider->value());}
|
callback {tree->item_labelsize((int)item_labelsize_slider->value());}
|
||||||
tooltip {Sets the default labelsize used for new items. Does NOT affect existing items.} xywh {828 409 140 16} type Horizontal labelsize 12 align 4 textsize 12
|
tooltip {Sets the default labelsize used for new items. Does NOT affect existing items.} xywh {832 541 140 16} type Horizontal labelsize 12 align 4 textsize 12
|
||||||
code0 {o->value((int)tree->item_labelsize());}
|
code0 {o->value((int)tree->item_labelsize());}
|
||||||
code1 {o->range(1.0, 50.0);}
|
code1 {o->range(1.0, 50.0);}
|
||||||
code2 {o->step(1.0);}
|
code2 {o->step(1.0);}
|
||||||
code3 {o->color(46); o->selection_color(FL_RED);}
|
code3 {o->color(46); o->selection_color(FL_RED);}
|
||||||
}
|
}
|
||||||
Fl_Button swapselected_button {
|
|
||||||
label {Swap Selected}
|
|
||||||
callback {Fl_Tree_Item *item=tree->first();
|
|
||||||
Fl_Tree_Item *a = 0, *b = 0;
|
|
||||||
while (item) {
|
|
||||||
if ( item->is_selected() ) {
|
|
||||||
if ( !a ) a = item;
|
|
||||||
else if ( !b ) b = item;
|
|
||||||
else {
|
|
||||||
fl_alert("Too many items selected. (must select only two)");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
item = item->next();
|
|
||||||
}
|
|
||||||
if ( !a || !b ) {
|
|
||||||
fl_alert("Too few items selected. (you must select two)");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Fl_Tree_Item *pa = a->parent();
|
|
||||||
Fl_Tree_Item *pb = b->parent();
|
|
||||||
if ( pa != pb ) {
|
|
||||||
fl_alert("The two selected items must be siblings");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
pa->swap_children(a,b);
|
|
||||||
tree->redraw();}
|
|
||||||
tooltip {Tests the Fl_Tree_Item::swap_children() method
|
|
||||||
Swaps two selected items (items must be siblings)} xywh {829 194 95 16} labelsize 9
|
|
||||||
}
|
|
||||||
Fl_Button add20k_button {
|
|
||||||
label {Add 20,000}
|
|
||||||
callback {static int item_id = 501;
|
|
||||||
Fl_Tree_Item *item=tree->first();
|
|
||||||
while (item) {
|
|
||||||
if ( item->is_selected() ) {
|
|
||||||
Fl_Tree_Item *parent = item->parent();
|
|
||||||
if ( parent == 0 ) parent = tree->root();
|
|
||||||
char s[80];
|
|
||||||
for ( int i=0; i<20000; i++ ) {
|
|
||||||
sprintf(s, "Item \#%d", item_id+i);
|
|
||||||
tree->add(parent, s);
|
|
||||||
}
|
|
||||||
item_id += 20000;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
item = item->next();
|
|
||||||
}
|
|
||||||
tree->redraw();}
|
|
||||||
tooltip {Adds 20,000 items to the selected item's parent} xywh {530 411 95 16} labelsize 9
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Fl_Box resizer_box {
|
Fl_Box resizer_box {
|
||||||
xywh {0 263 15 14}
|
xywh {0 263 15 14}
|
||||||
|
|
Loading…
Reference in New Issue