Module: synfig
Branch: master
Commit: b6011ebece2f8d2df0eab728b6f2b5029836b1fa
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b6011ebece2f8d2df0eab728b6f2b5029836b1fa
Author: Carlos Lopez <car...@pcnuevo.(none)>
Date: Mon Jun 29 01:41:12 2009 +0200
Initial version of show grid check button. Needs a proper icon.
---
synfig-studio/trunk/src/gtkmm/canvasview.cpp | 32 ++++++++++++++++++++++++-
synfig-studio/trunk/src/gtkmm/canvasview.h | 3 ++
2 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 3fe39e7..ab500e4 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -709,6 +709,7 @@ CanvasView::CanvasView(etl::loose_handle<Instance>
instance,etl::handle<synfigap
toggling_ducks_=false;
changing_resolution_=false;
updating_quality_=false;
+ toggling_show_grid=false;
smach_.set_default_state(&state_normal);
@@ -1102,7 +1103,7 @@ CanvasView::create_status_bar()
Gtk::Widget*
CanvasView::create_display_bar()
{
- displaybar = manage(new class Gtk::Table(1, 5, false));
+ displaybar = manage(new class Gtk::Table(1, 6, false));
// Setup the ToggleDuckDial widget
toggleducksdial = Gtk::manage(new class ToggleDucksDial());
@@ -1155,11 +1156,24 @@ CanvasView::create_display_bar()
tooltips.set_tip(*quality_spin, _("Quality (lower is better)"));
quality_spin->show();
+ // Set up the show grid check button
+ show_grid = Gtk::manage(new class Gtk::CheckButton());
+ show_grid->set_active(work_area->grid_status());
+ Gtk::Image *icon = manage(new Gtk::Image(Gtk::Stock::REMOVE,
Gtk::IconSize::from_name("synfig-small_icon")));
+ icon->set_padding(0, 0);
+ icon->show();
+ show_grid->add(*icon);
+ show_grid->signal_toggled().connect(
+ sigc::mem_fun(*this,
&studio::CanvasView::toggle_show_grid));
+ tooltips.set_tip(*show_grid, _("Show grid when enabled"));
+ show_grid->show();
+
displaybar->attach(*toggleducksdial, 0, 1, 0, 1, Gtk::SHRINK,
Gtk::SHRINK);
displaybar->attach(*separator1, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL);
displaybar->attach(*resolutiondial, 2, 3, 0, 1, Gtk::SHRINK,
Gtk::SHRINK);
displaybar->attach(*separator2, 3, 4, 0, 1, Gtk::FILL, Gtk::FILL);
displaybar->attach(*quality_spin, 4, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+ displaybar->attach(*show_grid, 5, 6, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
displaybar->show();
@@ -1475,7 +1489,7 @@ CanvasView::init_menus()
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_group->add(grid_show_toggle, sigc::mem_fun(*this,
&studio::CanvasView::toggle_show_grid));
grid_snap_toggle =
Gtk::ToggleAction::create("toggle-grid-snap", _("Snap to Grid"));
grid_snap_toggle->set_active(work_area->get_grid_snap());
@@ -3213,6 +3227,20 @@ CanvasView::set_quality(int x)
quality_spin->set_value(x);
}
+void
+CanvasView::toggle_show_grid()
+{
+ if(toggling_show_grid)
+ return;
+ toggling_show_grid=true;
+ work_area->toggle_grid();
+ // Update the toggle grid show action
+ set_grid_show_toggle(work_area->grid_status());
+ // Update the toggle grid show check button
+ show_grid->set_active(work_area->grid_status());
+ toggling_show_grid=false;
+}
+
void
CanvasView::on_dirty_preview()
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 2f26d7b..27cc89f 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -276,6 +276,8 @@ private:
Gtk::Adjustment quality_adjustment_;
Gtk::SpinButton *quality_spin;
bool updating_quality_;
+ Gtk::CheckButton *show_grid;
+ bool toggling_show_grid;
//! Shows current time and allows edition
Widget_Time *current_time_widget;
void on_current_time_widget_changed();
@@ -438,6 +440,7 @@ private:
void increase_low_res_pixel_size();
void toggle_low_res_pixel_flag();
void set_quality(int x);
+ void toggle_show_grid();
/*
-- ** -- P U B L I C M E T H O D S -----------------------------------------
------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl