1 #ifndef MSP_GLTK_TOGGLE_H_
2 #define MSP_GLTK_TOGGLE_H_
4 #include <sigc++/signal.h>
5 #include "mspgltk_api.h"
13 Allows toggling a value between two states.
15 class MSPGLTK_API Toggle: public Widget
18 class MSPGLTK_API Loader: public DataFile::DerivedObjectLoader<Toggle, Widget::Loader>
23 void finish() override;
24 void text(const std::string &);
27 sigc::signal<void, bool> signal_toggled;
33 bool exclusive = false;
36 Toggle(const std::string & = std::string());
38 const char *get_class() const override { return "toggle"; }
41 void autosize_special(const Part &, Geometry &) const override;
44 void set_text(const std::string &);
45 void set_exclusive(bool);
46 bool get_exclusive() const { return exclusive; }
48 void exclude_siblings();
51 bool get_value() const { return value; }
54 void rebuild_special(const Part &) override;
57 void button_press(int, int, unsigned) override;
58 void button_release(int, int, unsigned) override;
59 bool navigate(Navigation) override;
61 void on_style_change() override;