diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2023-01-01 21:53:07 +0100 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2023-01-12 19:21:09 +0100 |
| commit | bafd3fd3d792b530d39d3af06e087dc63d2a25a2 (patch) | |
| tree | 42f4d533490191a92a13863d07378820b04a7b9c /FL/Fl_Scheme_Choice.H | |
| parent | 79832b679f2d195eb3b0f30ca920a857cc133b2b (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.H | 38 |
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_ |
