summaryrefslogtreecommitdiff
path: root/fluid/alignment_panel.cxx
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2023-01-01 21:53:07 +0100
committerAlbrecht Schlosser <albrechts.fltk@online.de>2023-01-12 19:21:09 +0100
commitbafd3fd3d792b530d39d3af06e087dc63d2a25a2 (patch)
tree42f4d533490191a92a13863d07378820b04a7b9c /fluid/alignment_panel.cxx
parent79832b679f2d195eb3b0f30ca920a857cc133b2b (diff)
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("...")
Diffstat (limited to 'fluid/alignment_panel.cxx')
-rw-r--r--fluid/alignment_panel.cxx32
1 files changed, 13 insertions, 19 deletions
diff --git a/fluid/alignment_panel.cxx b/fluid/alignment_panel.cxx
index e742640ce..dfe69d114 100644
--- a/fluid/alignment_panel.cxx
+++ b/fluid/alignment_panel.cxx
@@ -179,21 +179,11 @@ nalize labels and tooltips, usually \"gettext_noop\" or \"N_\"");
} // Fl_Double_Window* project_window
return project_window;
}
-void scheme_cb(Fl_Choice *, void *);
+void scheme_cb(Fl_Scheme_Choice *, void *);
Fl_Double_Window *settings_window=(Fl_Double_Window *)0;
-Fl_Choice *scheme_choice=(Fl_Choice *)0;
-
-Fl_Menu_Item menu_scheme_choice[] = {
- {"Default", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
- {"None", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
- {"Plastic", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
- {"GTK+", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
- {"Gleam", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
- {"Oxy", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
- {0,0,0,0,0,0,0,0,0}
-};
+Fl_Scheme_Choice *scheme_choice=(Fl_Scheme_Choice *)0;
Fl_Check_Button *tooltips_button=(Fl_Check_Button *)0;
@@ -258,16 +248,20 @@ static void cb_Close1(Fl_Button*, void*) {
Fl_Double_Window* make_settings_window() {
{ Fl_Double_Window* o = settings_window = new Fl_Double_Window(360, 355, "GUI Settings");
- { scheme_choice = new Fl_Choice(140, 10, 115, 25, "Scheme: ");
+ { scheme_choice = new Fl_Scheme_Choice(140, 10, 115, 25, "Scheme: ");
+ scheme_choice->box(FL_FLAT_BOX);
scheme_choice->down_box(FL_BORDER_BOX);
+ scheme_choice->color(FL_BACKGROUND_COLOR);
+ scheme_choice->selection_color(FL_SELECTION_COLOR);
+ scheme_choice->labeltype(FL_NORMAL_LABEL);
scheme_choice->labelfont(1);
+ scheme_choice->labelsize(14);
+ scheme_choice->labelcolor(FL_FOREGROUND_COLOR);
scheme_choice->callback((Fl_Callback*)scheme_cb);
- scheme_choice->menu(menu_scheme_choice);
- int s;
- fluid_prefs.get("scheme", s, 0);
- scheme_choice->value(s);
- scheme_cb(0, 0);
- } // Fl_Choice* scheme_choice
+ scheme_choice->align(Fl_Align(FL_ALIGN_LEFT));
+ scheme_choice->when(FL_WHEN_RELEASE);
+ init_scheme();
+ } // Fl_Scheme_Choice* scheme_choice
{ Fl_Group* o = new Fl_Group(20, 43, 330, 161);
o->labelfont(1);
o->align(Fl_Align(FL_ALIGN_CENTER));