Module: synfig
Branch: zelgadis_master
Commit: b11817a7154a704ce068400f22e7894e2e362ae0
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b11817a7154a704ce068400f22e7894e2e362ae0
Author: Carlos Lopez <car...@pcnuevo.(none)>
Date: Sat Jun 27 09:30:59 2009 +0200
Use toogleducksdial member pointer and do not expose the toggle buttons
pointers outide. Create member methods instead
---
synfig-studio/trunk/src/gtkmm/canvasview.cpp | 13 ++++---------
synfig-studio/trunk/src/gtkmm/canvasview.h | 2 ++
synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp | 11 +++++++++++
synfig-studio/trunk/src/gtkmm/toggleducksdial.h | 10 +++-------
4 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 72ce50a..c7db107 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -100,7 +100,6 @@
#include "audiocontainer.h"
#include "widget_timeslider.h"
#include "keyframedial.h"
-#include "toggleducksdial.h"
#include <synfigapp/main.h>
#include <synfigapp/inputdevice.h>
@@ -1023,14 +1022,10 @@ CanvasView::create_time_bar()
keyframebutton=keyframedial->get_lock_button();
// Setup the ToggleDuckDial widget
- ToggleDucksDial *toggleducksdial = Gtk::manage(new class
ToggleDucksDial());
-
- toggleducksdial->get_position_toggle()->
set_active(work_area->get_type_mask()&Duck::TYPE_POSITION);
- toggleducksdial->get_vertex_toggle() ->
set_active(work_area->get_type_mask()&Duck::TYPE_VERTEX);
- toggleducksdial->get_tangent_toggle() ->
set_active(work_area->get_type_mask()&Duck::TYPE_TANGENT);
- toggleducksdial->get_radius_toggle() ->
set_active(work_area->get_type_mask()&Duck::TYPE_RADIUS);
- toggleducksdial->get_width_toggle() ->
set_active(work_area->get_type_mask()&Duck::TYPE_WIDTH);
- toggleducksdial->get_angle_toggle() ->
set_active(work_area->get_type_mask()&Duck::TYPE_ANGLE);
+ toggleducksdial = Gtk::manage(new class ToggleDucksDial());
+
+ Duck::Type m = work_area->get_type_mask();
+ toggleducksdial->update_toggles(m);
toggleducksdial->signal_ducks_position().connect(
sigc::bind(sigc::mem_fun(*this,
&studio::CanvasView::toggle_duck_mask),Duck::TYPE_POSITION)
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 2ed261e..182d3e6 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -66,6 +66,7 @@
#include "dialog_waypoint.h"
#include "dialog_keyframe.h"
#include "framedial.h"
+#include "toggleducksdial.h"
#include "duckmatic.h"
#include <gtkmm/scale.h>
@@ -265,6 +266,7 @@ private:
Gtk::Button *animatebutton;
Gtk::Button *keyframebutton;
FrameDial *framedial;
+ ToggleDucksDial *toggleducksdial;
//! Shows current time and allows edition
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
index 78aeab5..6dd67bc 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
@@ -81,3 +81,14 @@ ToggleDucksDial::create_label_button(Gtk::IconSize iconsize,
const char *label,
return tbutton;
}
+
+void
+ToggleDucksDial::initiate_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));
+}
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
index d2e50f2..312e3fd 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
@@ -33,9 +33,11 @@
#include <gtkmm/tooltips.h>
#include <gtkmm/table.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 ===================================================== */
@@ -61,6 +63,7 @@ class ToggleDucksDial : public Gtk::Table
public:
ToggleDucksDial();
+ void initiate_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(); }
@@ -68,13 +71,6 @@ public:
Glib::SignalProxy0<void> signal_ducks_width() { return
ducks_width-> signal_toggled(); }
Glib::SignalProxy0<void> signal_ducks_angle() { return
ducks_angle-> signal_toggled(); }
- Gtk::ToggleButton * get_position_toggle() { return ducks_position; }
- Gtk::ToggleButton * get_vertex_toggle() { return ducks_vertex; }
- Gtk::ToggleButton * get_tangent_toggle() { return ducks_tangent; }
- Gtk::ToggleButton * get_radius_toggle() { return ducks_radius; }
- Gtk::ToggleButton * get_width_toggle() { return ducks_width; }
- Gtk::ToggleButton * get_angle_toggle() { return ducks_angle; }
-
}; // END of class ToggleDucksDial
}; // END of namespace studio
------------------------------------------------------------------------------
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