summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/input.cxx27
-rw-r--r--test/navigation.cxx2
2 files changed, 27 insertions, 2 deletions
diff --git a/test/input.cxx b/test/input.cxx
index 428a65cb1..79a04ef22 100644
--- a/test/input.cxx
+++ b/test/input.cxx
@@ -35,6 +35,7 @@
#include <FL/Fl_Multiline_Input.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Toggle_Button.H>
+#include <FL/Fl_Light_Button.H>
#include <FL/Fl_Color_Chooser.H>
void cb(Fl_Widget *ob) {
@@ -78,12 +79,23 @@ void color_cb(Fl_Widget* button, void* v) {
}
}
+void tabnav_cb(Fl_Widget *w, void *v) {
+ Fl_Light_Button *b = (Fl_Light_Button*)w;
+ Fl_Multiline_Input *fmi = (Fl_Multiline_Input*)v;
+ fmi->tab_nav(b->value() ? 1 : 0);
+}
+
+void arrownav_cb(Fl_Widget *w, void *v) {
+ Fl_Light_Button *b = (Fl_Light_Button*)w;
+ Fl::option(Fl::OPTION_ARROW_FOCUS, b->value() ? true : false);
+}
+
int main(int argc, char **argv) {
// the following two lines set the correct color scheme, so that
// calling fl_contrast below will return good results
Fl::args(argc, argv);
Fl::get_system_colors();
- Fl_Window *window = new Fl_Window(400,400);
+ Fl_Window *window = new Fl_Window(400,420);
int y = 10;
input[0] = new Fl_Input(70,y,300,30,"Normal:"); y += 35;
@@ -122,10 +134,21 @@ int main(int argc, char **argv) {
b->callback(toggle_cb, FL_WHEN_NOT_CHANGED); y += 25;
b->tooltip("Do callback even if the text is not changed");
y += 5;
- b = new Fl_Button(10,y,200,25,"&print changed()");
+ b = new Fl_Button(10,y,200,25,"&print changed()"); y += 25;
b->callback(button_cb);
b->tooltip("Print widgets that have changed() flag set");
+ b = new Fl_Light_Button(10,y,100,25," Tab Nav");
+ b->tooltip("Control tab navigation for the multiline input field");
+ b->callback(tabnav_cb, (void*)input[4]);
+ b->value(input[4]->tab_nav() ? 1 : 0);
+ b = new Fl_Light_Button(110,y,100,25," Arrow Nav"); y += 25;
+ b->tooltip("Control horizontal arrow key focus navigation behavior.\n"
+ "e.g. Fl::OPTION_ARROW_FOCUS");
+ b->callback(arrownav_cb);
+ b->value(input[4]->tab_nav() ? 1 : 0);
+ b->value(Fl::option(Fl::OPTION_ARROW_FOCUS) ? 1 : 0);
+
b = new Fl_Button(220,y1,100,25,"color"); y1 += 25;
b->color(input[0]->color()); b->callback(color_cb, (void*)0);
b->tooltip("Color behind the text");
diff --git a/test/navigation.cxx b/test/navigation.cxx
index da7678424..99f081476 100644
--- a/test/navigation.cxx
+++ b/test/navigation.cxx
@@ -50,6 +50,8 @@ int main(int argc, char **argv) {
Fl_Light_Button arrowfocus_butt(10,HEIGHT+10,130,20," Arrow Focus");
arrowfocus_butt.callback(ToggleArrowFocus_CB);
arrowfocus_butt.value(Fl::option(Fl::OPTION_ARROW_FOCUS) ? 1 : 0); // use default
+ arrowfocus_butt.tooltip("Control horizontal arrow key focus navigation behavior.\n"
+ "e.g. Fl::OPTION_ARROW_FOCUS");
window.end(); // don't auto-add children
for (int i = 0; i<10000; i++) {
// make up a random size of widget: