Reordered widgets for proper keyboard navigation.
(in progress: adding keyboard nav to Fl_Tree) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
a42b56fbe8
commit
41f7ed5477
@ -100,8 +100,6 @@ if ( item ) {
|
||||
};
|
||||
}
|
||||
|
||||
Fl_Box *docallback_box=(Fl_Box *)0;
|
||||
|
||||
Fl_Value_Slider *margintop_slider=(Fl_Value_Slider *)0;
|
||||
|
||||
static void cb_margintop_slider(Fl_Value_Slider*, void*) {
|
||||
@ -373,6 +371,8 @@ Fl_Menu_Item menu_whenmode_chooser[] = {
|
||||
{0,0,0,0,0,0,0,0,0}
|
||||
};
|
||||
|
||||
Fl_Box *docallback_box=(Fl_Box *)0;
|
||||
|
||||
Fl_Check_Button *docallback_radio=(Fl_Check_Button *)0;
|
||||
|
||||
Fl_Button *selectall_button=(Fl_Button *)0;
|
||||
@ -417,6 +417,17 @@ tree->redraw();
|
||||
//tree->redraw();
|
||||
}
|
||||
|
||||
Fl_Light_Button *bbbchild02select_toggle=(Fl_Light_Button *)0;
|
||||
|
||||
static void cb_bbbchild02select_toggle(Fl_Light_Button*, void*) {
|
||||
// Toggle select of just the /Bbb/child-02 item
|
||||
int docallback = docallback_radio->value() ? 1 : 0;
|
||||
int onoff = bbbchild02select_toggle->value();
|
||||
if ( onoff ) tree->select("/Bbb/child-02", docallback);
|
||||
else tree->deselect("/Bbb/child-02", docallback);
|
||||
tree->redraw();
|
||||
}
|
||||
|
||||
Fl_Light_Button *deactivate_toggle=(Fl_Light_Button *)0;
|
||||
|
||||
static void cb_deactivate_toggle(Fl_Light_Button*, void*) {
|
||||
@ -508,17 +519,6 @@ static void cb_clearall_button(Fl_Button*, void*) {
|
||||
tree->redraw();
|
||||
}
|
||||
|
||||
Fl_Light_Button *bbbchild02select_toggle=(Fl_Light_Button *)0;
|
||||
|
||||
static void cb_bbbchild02select_toggle(Fl_Light_Button*, void*) {
|
||||
// Toggle select of just the /Bbb/child-02 item
|
||||
int docallback = docallback_radio->value() ? 1 : 0;
|
||||
int onoff = bbbchild02select_toggle->value();
|
||||
if ( onoff ) tree->select("/Bbb/child-02", docallback);
|
||||
else tree->deselect("/Bbb/child-02", docallback);
|
||||
tree->redraw();
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
{ window = new Fl_Double_Window(580, 695, "tree");
|
||||
{ tree = new Fl_Tree(15, 15, 550, 390);
|
||||
@ -534,10 +534,6 @@ int main(int argc, char **argv) {
|
||||
tree->when(FL_WHEN_RELEASE);
|
||||
tree->end();
|
||||
} // Fl_Tree* tree
|
||||
{ docallback_box = new Fl_Box(280, 521, 285, 81);
|
||||
docallback_box->box(FL_GTK_DOWN_BOX);
|
||||
docallback_box->color(FL_DARK1);
|
||||
} // Fl_Box* docallback_box
|
||||
{ Fl_Value_Slider* o = margintop_slider = new Fl_Value_Slider(190, 414, 240, 16, "margintop()");
|
||||
margintop_slider->tooltip("Changes the top margin for the tree widget");
|
||||
margintop_slider->type(1);
|
||||
@ -663,6 +659,10 @@ d");
|
||||
whenmode_chooser->value(1);
|
||||
cb_whenmode_chooser(whenmode_chooser, (void*)0);
|
||||
} // Fl_Choice* whenmode_chooser
|
||||
{ docallback_box = new Fl_Box(280, 521, 285, 81);
|
||||
docallback_box->box(FL_GTK_DOWN_BOX);
|
||||
docallback_box->color(FL_DARK1);
|
||||
} // Fl_Box* docallback_box
|
||||
{ docallback_radio = new Fl_Check_Button(310, 529, 230, 16, "Invoke callback on select changes?");
|
||||
docallback_radio->tooltip("Invokes the callback when one or more item\'s state changes.");
|
||||
docallback_radio->down_box(FL_DOWN_BOX);
|
||||
@ -683,6 +683,11 @@ d");
|
||||
bbbselect_toggle->labelsize(11);
|
||||
bbbselect_toggle->callback((Fl_Callback*)cb_bbbselect_toggle);
|
||||
} // Fl_Light_Button* bbbselect_toggle
|
||||
{ bbbchild02select_toggle = new Fl_Light_Button(430, 571, 115, 16, " Toggle child-02");
|
||||
bbbchild02select_toggle->tooltip("Toggle the single item /Bbb/child-02");
|
||||
bbbchild02select_toggle->labelsize(11);
|
||||
bbbchild02select_toggle->callback((Fl_Callback*)cb_bbbchild02select_toggle);
|
||||
} // Fl_Light_Button* bbbchild02select_toggle
|
||||
{ deactivate_toggle = new Fl_Light_Button(280, 625, 90, 16, " Deactivate");
|
||||
deactivate_toggle->tooltip("Toggle the deactivation state of the selected items.\nIf none are selected, a\
|
||||
ll are set.");
|
||||
@ -714,11 +719,6 @@ ll are set.");
|
||||
clearall_button->labelsize(11);
|
||||
clearall_button->callback((Fl_Callback*)cb_clearall_button);
|
||||
} // Fl_Button* clearall_button
|
||||
{ bbbchild02select_toggle = new Fl_Light_Button(430, 571, 115, 16, " Toggle child-02");
|
||||
bbbchild02select_toggle->tooltip("Toggle the single item /Bbb/child-02");
|
||||
bbbchild02select_toggle->labelsize(11);
|
||||
bbbchild02select_toggle->callback((Fl_Callback*)cb_bbbchild02select_toggle);
|
||||
} // Fl_Light_Button* bbbchild02select_toggle
|
||||
window->end();
|
||||
} // Fl_Double_Window* window
|
||||
// Initialize Tree
|
||||
|
||||
31
test/tree.fl
31
test/tree.fl
@ -124,9 +124,6 @@ if ( item ) {
|
||||
xywh {15 15 550 390} box DOWN_BOX color 55
|
||||
class Fl_Tree
|
||||
} {}
|
||||
Fl_Box docallback_box {
|
||||
xywh {280 521 285 81} box GTK_DOWN_BOX color 47
|
||||
}
|
||||
Fl_Value_Slider margintop_slider {
|
||||
label {margintop()}
|
||||
user_data tree
|
||||
@ -454,6 +451,9 @@ switch ( whenmode_chooser->value() ) {
|
||||
xywh {60 60 36 21} labelsize 11
|
||||
}
|
||||
}
|
||||
Fl_Box docallback_box {
|
||||
xywh {280 521 285 81} box GTK_DOWN_BOX color 47
|
||||
}
|
||||
Fl_Check_Button docallback_radio {
|
||||
label {Invoke callback on select changes?} user_data_type {void*}
|
||||
tooltip {Invokes the callback when one or more item's state changes.} xywh {310 529 230 16} down_box DOWN_BOX labelsize 11
|
||||
@ -497,6 +497,16 @@ tree->redraw();
|
||||
//tree->redraw();}
|
||||
tooltip {Toggle selection of the /Bbb item and its children} xywh {430 552 115 15} labelsize 11
|
||||
}
|
||||
Fl_Light_Button bbbchild02select_toggle {
|
||||
label { Toggle child-02}
|
||||
callback {// Toggle select of just the /Bbb/child-02 item
|
||||
int docallback = docallback_radio->value() ? 1 : 0;
|
||||
int onoff = bbbchild02select_toggle->value();
|
||||
if ( onoff ) tree->select("/Bbb/child-02", docallback);
|
||||
else tree->deselect("/Bbb/child-02", docallback);
|
||||
tree->redraw();}
|
||||
tooltip {Toggle the single item /Bbb/child-02} xywh {430 571 115 16} labelsize 11
|
||||
}
|
||||
Fl_Light_Button deactivate_toggle {
|
||||
label { Deactivate}
|
||||
callback {int onoff = deactivate_toggle->value() ? 0 : 1;
|
||||
@ -581,27 +591,16 @@ tree->redraw();}
|
||||
Fl_Button clearall_button {
|
||||
label {Clear All}
|
||||
callback {tree->clear();
|
||||
tree->redraw();}
|
||||
tree->redraw();} selected
|
||||
tooltip {Clears all items
|
||||
Tests Fl_Tree::clear()} xywh {475 644 90 16} labelsize 11
|
||||
}
|
||||
Fl_Light_Button bbbchild02select_toggle {
|
||||
label { Toggle child-02}
|
||||
callback {// Toggle select of just the /Bbb/child-02 item
|
||||
int docallback = docallback_radio->value() ? 1 : 0;
|
||||
int onoff = bbbchild02select_toggle->value();
|
||||
if ( onoff ) tree->select("/Bbb/child-02", docallback);
|
||||
else tree->deselect("/Bbb/child-02", docallback);
|
||||
tree->redraw();}
|
||||
tooltip {Toggle the single item /Bbb/child-02} xywh {430 571 115 16} labelsize 11
|
||||
}
|
||||
}
|
||||
code {// Initialize Tree
|
||||
tree->root_label("ROOT");
|
||||
docallback_radio->value(1); // enable docallbacks radio button
|
||||
RebuildTree();
|
||||
tree->show_self();} {selected
|
||||
}
|
||||
tree->show_self();} {}
|
||||
code {// FLTK stuff
|
||||
Fl::scheme("gtk+");
|
||||
window->resizable(window);
|
||||
|
||||
@ -9,13 +9,11 @@
|
||||
#include <FL/Fl_Group.H>
|
||||
#include <FL/Fl_Tree.H>
|
||||
#include <FL/fl_ask.H>
|
||||
void CccButton_CB(Fl_Widget*, void*data);
|
||||
void Button_CB(Fl_Widget*w, void*data);
|
||||
void RebuildTree();
|
||||
#include <FL/Fl_Double_Window.H>
|
||||
extern Fl_Double_Window *window;
|
||||
extern Fl_Tree *tree;
|
||||
#include <FL/Fl_Box.H>
|
||||
extern Fl_Box *docallback_box;
|
||||
#include <FL/Fl_Value_Slider.H>
|
||||
extern Fl_Value_Slider *margintop_slider;
|
||||
extern Fl_Value_Slider *marginleft_slider;
|
||||
@ -31,19 +29,21 @@ extern Fl_Choice *connectorstyle_chooser;
|
||||
extern Fl_Choice *labelcolor_chooser;
|
||||
extern Fl_Choice *selectmode_chooser;
|
||||
extern Fl_Choice *whenmode_chooser;
|
||||
#include <FL/Fl_Box.H>
|
||||
extern Fl_Box *docallback_box;
|
||||
extern Fl_Check_Button *docallback_radio;
|
||||
#include <FL/Fl_Button.H>
|
||||
extern Fl_Button *selectall_button;
|
||||
extern Fl_Button *deselectall_button;
|
||||
#include <FL/Fl_Light_Button.H>
|
||||
extern Fl_Light_Button *bbbselect_toggle;
|
||||
extern Fl_Light_Button *bbbchild02select_toggle;
|
||||
extern Fl_Light_Button *deactivate_toggle;
|
||||
extern Fl_Light_Button *bold_toggle;
|
||||
extern Fl_Button *insertabove_button;
|
||||
extern Fl_Button *rebuildtree_button;
|
||||
extern Fl_Button *clearselected_button;
|
||||
extern Fl_Button *clearall_button;
|
||||
extern Fl_Light_Button *bbbchild02select_toggle;
|
||||
extern Fl_Menu_Item menu_collapseicons_chooser[];
|
||||
extern Fl_Menu_Item menu_connectorstyle_chooser[];
|
||||
extern Fl_Menu_Item menu_labelcolor_chooser[];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user