X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fcanvasview.cpp;h=8436ec916b91ff343e589c12a52ce6e8032de8a5;hb=fdc476e657f334f8688fbb45015bc31fb2d390b8;hp=8ba09bc65f97592d86f8eb5574fc755a4fb267d8;hpb=9fc17cc46bd63a7508b82c967801a09be882fe57;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp b/synfig-studio/trunk/src/gtkmm/canvasview.cpp index 8ba09bc..8436ec9 100644 --- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp +++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp @@ -1324,13 +1324,13 @@ CanvasView::init_menus() { Glib::RefPtr action; - action = Gtk::ToggleAction::create("toggle-grid-show", _("Show Grid")); - action->set_active(work_area->grid_status()); - action_group->add(action, sigc::mem_fun(*work_area, &studio::WorkArea::toggle_grid)); + grid_show_toggle = Gtk::ToggleAction::create("toggle-grid-show", _("Show Grid")); + grid_show_toggle->set_active(work_area->grid_status()); + action_group->add(grid_show_toggle, sigc::mem_fun(*work_area, &studio::WorkArea::toggle_grid)); - action = Gtk::ToggleAction::create("toggle-grid-snap", _("Snap to Grid")); - action->set_active(work_area->get_grid_snap()); - action_group->add(action, sigc::mem_fun(*work_area, &studio::WorkArea::toggle_grid_snap)); + grid_snap_toggle = Gtk::ToggleAction::create("toggle-grid-snap", _("Snap to Grid")); + grid_snap_toggle->set_active(work_area->get_grid_snap()); + action_group->add(grid_snap_toggle, sigc::mem_fun(*work_area, &studio::WorkArea::toggle_grid_snap)); action = Gtk::ToggleAction::create("toggle-guide-show", _("Show Guides")); action->set_active(work_area->get_show_guides()); @@ -1391,22 +1391,26 @@ CanvasView::init_menus() } -#define DUCK_MASK(lower,upper,string) \ - duck_mask_##lower=Gtk::ToggleAction::create("mask-" #lower "-ducks", string); \ - duck_mask_##lower->set_active((bool)(work_area->get_type_mask()&Duck::TYPE_##upper)); \ - action_group->add( duck_mask_##lower, \ - sigc::bind( \ - sigc::mem_fun(*this, &studio::CanvasView::toggle_duck_mask), \ - Duck::TYPE_##upper \ - ) \ - ) - DUCK_MASK(position,POSITION,_("Show Position Ducks")); - DUCK_MASK(tangent,TANGENT,_("Show Tangent Ducks")); - DUCK_MASK(vertex,VERTEX,_("Show Vertex Ducks")); - DUCK_MASK(radius,RADIUS,_("Show Radius Ducks")); - DUCK_MASK(width,WIDTH,_("Show Width Ducks")); - DUCK_MASK(angle,ANGLE,_("Show Angle Ducks")); + { + Glib::RefPtr action; + +#define DUCK_MASK(lower,upper,string) \ + action=Gtk::ToggleAction::create("mask-" #lower "-ducks", string); \ + action->set_active((bool)(work_area->get_type_mask()&Duck::TYPE_##upper)); \ + action_group->add(action, \ + sigc::bind( \ + sigc::mem_fun(*this, &studio::CanvasView::toggle_duck_mask), \ + Duck::TYPE_##upper)) + + DUCK_MASK(position,POSITION,_("Show Position Ducks")); + DUCK_MASK(tangent,TANGENT,_("Show Tangent Ducks")); + DUCK_MASK(vertex,VERTEX,_("Show Vertex Ducks")); + DUCK_MASK(radius,RADIUS,_("Show Radius Ducks")); + DUCK_MASK(width,WIDTH,_("Show Width Ducks")); + DUCK_MASK(angle,ANGLE,_("Show Angle Ducks")); + #undef DUCK_MASK + } add_accel_group(App::ui_manager()->get_accel_group()); @@ -3439,43 +3443,6 @@ CanvasView::toggle_duck_mask(Duckmatic::Type type) { bool is_currently_on(work_area->get_type_mask()&type); - switch(type) - { - case Duck::TYPE_POSITION: - if(duck_mask_position) - duck_mask_position->set_active(!is_currently_on); - break; - - case Duck::TYPE_VERTEX: - if(duck_mask_vertex) - duck_mask_vertex->set_active(!is_currently_on); - break; - - case Duck::TYPE_TANGENT: - if(duck_mask_tangent) - duck_mask_tangent->set_active(!is_currently_on); - break; - - case Duck::TYPE_RADIUS: - if(duck_mask_radius) - duck_mask_radius->set_active(!is_currently_on); - break; - - case Duck::TYPE_WIDTH: - if(duck_mask_width) - duck_mask_width->set_active(!is_currently_on); - break; - - case Duck::TYPE_ANGLE: - if(duck_mask_angle) - duck_mask_angle->set_active(!is_currently_on); - break; - - default: - synfig::warning("CanvasView::toggle_duck_mask():Unknown duck type!"); - break; - } - if(is_currently_on) work_area->set_type_mask(work_area->get_type_mask()-type); else