#include <gtkmm/tooltips.h>
#include <gtkmm/table.h>
-#include <gtkmm/button.h>
+#include <gtkmm/togglebutton.h>
+#include "duckmatic.h"
#include "general.h"
+
/* === M A C R O S ========================================================= */
/* === T Y P E D E F S ===================================================== */
{
Gtk::Tooltips tooltips;
- Gtk::Button *ducks_position;
- Gtk::Button *ducks_vertex;
- Gtk::Button *ducks_tangent;
- Gtk::Button *ducks_radius;
- Gtk::Button *ducks_width;
- Gtk::Button *ducks_angle;
+ Gtk::ToggleButton *ducks_position;
+ Gtk::ToggleButton *ducks_vertex;
+ Gtk::ToggleButton *ducks_tangent;
+ Gtk::ToggleButton *ducks_radius;
+ Gtk::ToggleButton *ducks_width;
+ Gtk::ToggleButton *ducks_angle;
- Gtk::Button *create_label_button(Gtk::IconSize iconsize, const char * label, const char * tooltip);
+ Gtk::ToggleButton *create_label_button(Gtk::IconSize iconsize, const char * stockid, const char * tooltip);
public:
ToggleDucksDial();
- Glib::SignalProxy0<void> signal_ducks_position() { return ducks_position->signal_clicked(); }
- Glib::SignalProxy0<void> signal_ducks_vertex() { return ducks_vertex->signal_clicked(); }
- Glib::SignalProxy0<void> signal_ducks_tangent() { return ducks_tangent->signal_clicked(); }
- Glib::SignalProxy0<void> signal_ducks_radius() { return ducks_radius->signal_clicked(); }
- Glib::SignalProxy0<void> signal_ducks_width() { return ducks_width->signal_clicked(); }
- Glib::SignalProxy0<void> signal_ducks_angle() { return ducks_angle->signal_clicked(); }
+ void update_toggles(Duck::Type mask);
+ Glib::SignalProxy0<void> signal_ducks_position() { return ducks_position->signal_toggled(); }
+ Glib::SignalProxy0<void> signal_ducks_vertex() { return ducks_vertex-> signal_toggled(); }
+ Glib::SignalProxy0<void> signal_ducks_tangent() { return ducks_tangent-> signal_toggled(); }
+ Glib::SignalProxy0<void> signal_ducks_radius() { return ducks_radius-> signal_toggled(); }
+ Glib::SignalProxy0<void> signal_ducks_width() { return ducks_width-> signal_toggled(); }
+ Glib::SignalProxy0<void> signal_ducks_angle() { return ducks_angle-> signal_toggled(); }
}; // END of class ToggleDucksDial