From bafd3fd3d792b530d39d3af06e087dc63d2a25a2 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Sun, 1 Jan 2023 21:53:07 +0100 Subject: Add Fl_Scheme_Choice widget and use it in test programs This widget offers the selection of all known FLTK schemes as a simple widget based on Fl_Choice. Some test and demo programs use Fl_Scheme_Choice to enable the developer or user to switch schemes quickly for comparison. Todo: - add features to add new schemes during runtime (partially done) - update status when the scheme is changed by Fl::scheme("...") --- test/buttons.cxx | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'test/buttons.cxx') diff --git a/test/buttons.cxx b/test/buttons.cxx index ffd5678ff..e93f4dc8e 100644 --- a/test/buttons.cxx +++ b/test/buttons.cxx @@ -22,16 +22,28 @@ #include #include #include +#include int main(int argc, char **argv) { - Fl_Window *window = new Fl_Window(320, 130); - Fl_Button *b = new Fl_Button(10, 10, 130, 30, "Fl_Button"); - b->tooltip("This is a Tooltip."); - new Fl_Return_Button(150, 10, 160, 30, "Fl_Return_Button"); - new Fl_Repeat_Button(10, 50, 130, 30, "Fl_Repeat_Button"); - new Fl_Round_Button(150, 50, 160, 30, "Fl_Round_Button"); - new Fl_Light_Button(10, 90, 130, 30, "Fl_Light_Button"); - new Fl_Check_Button(150, 90, 160, 30, "Fl_Check_Button"); + Fl_Window *window = new Fl_Window(320, 170); + Fl_Button *b1 = new Fl_Button(10, 10, 130, 30, "Fl_Button"); + b1->tooltip("Fl_Button"); + Fl_Button *b2 = new Fl_Return_Button(150, 10, 160, 30, "Fl_Return_Button"); + b2->tooltip("Fl_Return_Button"); + Fl_Button *b3 = new Fl_Repeat_Button(10, 50, 130, 30, "Fl_Repeat_Button"); + b3->tooltip("Fl_Repeat_Button"); + Fl_Button *b4 = new Fl_Round_Button(150, 50, 160, 30, "Fl_Round_Button"); + b4->tooltip("Fl_Round_Button"); + Fl_Button *b5 = new Fl_Light_Button(10, 90, 130, 30, "Fl_Light_Button"); + b5->tooltip("Fl_Light_Button"); + Fl_Button *b6 = new Fl_Check_Button(150, 90, 160, 30, "Fl_Check_Button"); + b6->tooltip("Fl_Check_Button"); + + // Add a scheme choice widget for easier testing. Position the widget at + // the right window border so the menu popup doesn't cover the check boxes etc. + Fl_Scheme_Choice *scheme_choice = new Fl_Scheme_Choice(180, 130, 130, 30, "Active FLTK Scheme:"); + scheme_choice->tooltip("Fl_Scheme_Choice"); + window->end(); window->resizable(window); window->size_range(320, 130); -- cgit v1.2.3