summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2010-06-14 02:02:33 +0000
committerGreg Ercolano <erco@seriss.com>2010-06-14 02:02:33 +0000
commit41f7ed547713d710d9418867257d58001c19c872 (patch)
treeb943deb44f5200a55243aa9b3440ffe33159ad8e
parenta42b56fbe87df577de75aa18a3eef6cd37a54590 (diff)
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
-rw-r--r--test/tree.cxx44
-rw-r--r--test/tree.fl31
-rw-r--r--test/tree.h8
3 files changed, 41 insertions, 42 deletions
diff --git a/test/tree.cxx b/test/tree.cxx
index fd91e9afc..580794165 100644
--- a/test/tree.cxx
+++ b/test/tree.cxx
@@ -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
diff --git a/test/tree.fl b/test/tree.fl
index 858eca84b..a5070891a 100644
--- a/test/tree.fl
+++ b/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);
diff --git a/test/tree.h b/test/tree.h
index ba107e580..e479bff11 100644
--- a/test/tree.h
+++ b/test/tree.h
@@ -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[];