synfig-studio  1.0.3
toggleducksdial.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
24 /* ========================================================================= */
25 
26 /* === S T A R T =========================================================== */
27 
28 #ifndef __SYNFIG_STUDIO_TOOGLEDUCKSDIAL_H
29 #define __SYNFIG_STUDIO_TOOGLEDUCKSDIAL_H
30 
31 /* === H E A D E R S ======================================================= */
32 
33 #include <gtkmm/tooltip.h>
34 #include <gtkmm/table.h>
35 #include <gtkmm/toolbar.h>
36 #include <gtkmm/toggletoolbutton.h>
37 #include "duckmatic.h"
38 
39 #include "general.h"
40 
41 
42 /* === M A C R O S ========================================================= */
43 
44 /* === T Y P E D E F S ===================================================== */
45 
46 /* === C L A S S E S & S T R U C T S ======================================= */
47 
48 namespace studio
49 {
50 
52 {
53  Gtk::ToggleToolButton ducks_position;
54  Gtk::ToggleToolButton ducks_vertex;
55  Gtk::ToggleToolButton ducks_tangent;
56  Gtk::ToggleToolButton ducks_radius;
57  Gtk::ToggleToolButton ducks_width;
58  Gtk::ToggleToolButton ducks_angle;
59 
60  void init_label_button(Gtk::ToggleToolButton &button, Gtk::IconSize iconsize, const char *stockid, const char *label, const char *tooltip);
61 
62 public:
63 
64  ToggleDucksDial(const Gtk::IconSize &size);
65  void update_toggles(Duck::Type mask);
66 
67  void insert_to_toolbar(Gtk::Toolbar &toolbar, int index = -1);
68  void remove_from_toolbar(Gtk::Toolbar &toolbar);
69 
70  Glib::SignalProxy0<void> signal_ducks_position() { return ducks_position.signal_toggled(); }
71  Glib::SignalProxy0<void> signal_ducks_vertex() { return ducks_vertex. signal_toggled(); }
72  Glib::SignalProxy0<void> signal_ducks_tangent() { return ducks_tangent. signal_toggled(); }
73  Glib::SignalProxy0<void> signal_ducks_radius() { return ducks_radius. signal_toggled(); }
74  Glib::SignalProxy0<void> signal_ducks_width() { return ducks_width. signal_toggled(); }
75  Glib::SignalProxy0<void> signal_ducks_angle() { return ducks_angle. signal_toggled(); }
76 
77 }; // END of class ToggleDucksDial
78 
79 }; // END of namespace studio
80 
81 
82 /* === E N D =============================================================== */
83 
84 #endif