Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-studio / trunk / src / gtkmm / toggleducksdial.cpp
index b23acde..358923a 100644 (file)
@@ -54,12 +54,12 @@ ToggleDucksDial::ToggleDucksDial(): Gtk::Table(1, 6, false)
 {
        Gtk::IconSize iconsize = Gtk::IconSize::from_name("synfig-small_icon");
 
-       ducks_position = create_label_button(iconsize, "1", _("Toogle position ducks"));
-       ducks_vertex = create_label_button(iconsize, "2", _("Toogle vertex ducks"));
-       ducks_tangent = create_label_button(iconsize, "3", _("Toogle tangent ducks"));
-       ducks_radius = create_label_button(iconsize, "4", _("Toogle radius ducks"));
-       ducks_width = create_label_button(iconsize, "5", _("Toogle width ducks"));
-       ducks_angle = create_label_button(iconsize, "6", _("Toogle angle ducks"));
+       ducks_position = create_label_button(iconsize, "synfig-toggle_duck_position", _("Toggle position ducks"));
+       ducks_vertex = create_label_button(iconsize, "synfig-toggle_duck_vertex", _("Toggle vertex ducks"));
+       ducks_tangent = create_label_button(iconsize, "synfig-toggle_duck_tangent", _("Toggle tangent ducks"));
+       ducks_radius = create_label_button(iconsize, "synfig-toggle_duck_radius", _("Toggle radius ducks"));
+       ducks_width = create_label_button(iconsize, "synfig-toggle_duck_width", _("Toggle width ducks"));
+       ducks_angle = create_label_button(iconsize, "synfig-toggle_duck_angle", _("Toggle angle ducks"));
 
        attach(*ducks_position, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
        attach(*ducks_vertex, 1, 2, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
@@ -69,15 +69,29 @@ ToggleDucksDial::ToggleDucksDial(): Gtk::Table(1, 6, false)
        attach(*ducks_angle, 5, 6, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
 }
 
-Gtk::Button *
-ToggleDucksDial::create_label_button(Gtk::IconSize iconsize, const char *label,
+Gtk::ToggleButton *
+ToggleDucksDial::create_label_button(Gtk::IconSize iconsize, const char *stockid,
                const char * tooltip)
 {
-       Gtk::Button *button = manage(new class Gtk::Button());
-       button->set_label(label);
-       tooltips.set_tip(*button, tooltip);
-       button->set_relief(Gtk::RELIEF_NONE);
-       button->show();
+       Gtk::ToggleButton *tbutton = manage(new class Gtk::ToggleButton());
+       Gtk::Image *icon = manage(new Gtk::Image(Gtk::StockID(stockid), iconsize));
+       tooltips.set_tip(*tbutton, tooltip);
+       tbutton->add(*icon);
+       icon->set_padding(0, 0);
+       icon->show();
+       tbutton->set_relief(Gtk::RELIEF_NONE);
+       tbutton->show();
 
-       return button;
+       return tbutton;
+}
+
+void
+ToggleDucksDial::update_toggles(Duck::Type mask)
+{
+       ducks_position-> set_active((mask & Duck::TYPE_POSITION));
+       ducks_vertex  -> set_active((mask & Duck::TYPE_VERTEX));
+       ducks_tangent -> set_active((mask & Duck::TYPE_TANGENT));
+       ducks_radius  -> set_active((mask & Duck::TYPE_RADIUS));
+       ducks_width   -> set_active((mask & Duck::TYPE_WIDTH));
+       ducks_angle   -> set_active((mask & Duck::TYPE_ANGLE));
 }