summaryrefslogtreecommitdiff
path: root/FL/Fl_Scheme_Choice.H
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 /FL/Fl_Scheme_Choice.H
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 'FL/Fl_Scheme_Choice.H')
-rw-r--r--FL/Fl_Scheme_Choice.H38
1 files changed, 38 insertions, 0 deletions
diff --git a/FL/Fl_Scheme_Choice.H b/FL/Fl_Scheme_Choice.H
new file mode 100644
index 000000000..e45befcdd
--- /dev/null
+++ b/FL/Fl_Scheme_Choice.H
@@ -0,0 +1,38 @@
+//
+// Scheme Choice header for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 2022-2023 by Bill Spitzak and others.
+//
+// This library is free software. Distribution and use rights are outlined in
+// the file "COPYING" which should have been included with this file. If this
+// file is missing or damaged, see the license at:
+//
+// https://www.fltk.org/COPYING.php
+//
+// Please see the following page on how to report bugs and issues:
+//
+// https://www.fltk.org/bugs.php
+//
+
+#ifndef FL_Fl_Scheme_Choice_H_
+#define FL_Fl_Scheme_Choice_H_
+
+#include <FL/Fl.H>
+#include <FL/Fl_Scheme.H>
+#include <FL/Fl_Choice.H>
+
+class Fl_Scheme_Choice : public Fl_Choice {
+
+protected:
+ static void scheme_cb_(Fl_Widget *w, void *);
+
+public:
+ Fl_Scheme_Choice(int X, int Y, int W, int H, const char *L = 0);
+ int handle(int event) FL_OVERRIDE;
+
+ // set the current value according to the active scheme
+ virtual void init_value();
+
+}; // class Fl_Scheme_Choice
+
+#endif // FL_Fl_Scheme_Choice_H_