summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/transformation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog/transformation.cpp')
-rw-r--r--src/ui/dialog/transformation.cpp113
1 files changed, 106 insertions, 7 deletions
diff --git a/src/ui/dialog/transformation.cpp b/src/ui/dialog/transformation.cpp
index 15ad41d02..c071fcf95 100644
--- a/src/ui/dialog/transformation.cpp
+++ b/src/ui/dialog/transformation.cpp
@@ -42,16 +42,16 @@ namespace Inkscape {
namespace UI {
namespace Dialog {
-void on_selection_changed(Inkscape::Application */*inkscape*/, Inkscape::Selection *selection, Transformation *daad)
+static void on_selection_changed(Inkscape::Application */*inkscape*/, Inkscape::Selection *selection, Transformation *daad)
{
int page = daad->getCurrentPage();
daad->updateSelection((Inkscape::UI::Dialog::Transformation::PageType)page, selection);
}
-void on_selection_modified( Inkscape::Application */*inkscape*/,
- Inkscape::Selection *selection,
- guint /*flags*/,
- Transformation *daad )
+static void on_selection_modified( Inkscape::Application */*inkscape*/,
+ Inkscape::Selection *selection,
+ guint /*flags*/,
+ Transformation *daad )
{
int page = daad->getCurrentPage();
daad->updateSelection((Inkscape::UI::Dialog::Transformation::PageType)page, selection);
@@ -157,14 +157,25 @@ Transformation::Transformation()
g_signal_connect (G_OBJECT (INKSCAPE), "change_selection", G_CALLBACK (on_selection_changed), this);
g_signal_connect (G_OBJECT (INKSCAPE), "modify_selection", G_CALLBACK (on_selection_modified), this);
+ _desktopChangeConn = _deskTrack.connectDesktopChanged( sigc::mem_fun(*this, &Transformation::setDesktop) );
+ _deskTrack.connect(GTK_WIDGET(gobj()));
+
show_all_children();
}
Transformation::~Transformation()
{
sp_signal_disconnect_by_data (G_OBJECT (INKSCAPE), this);
+ _desktopChangeConn.disconnect();
+ _deskTrack.disconnect();
}
+void Transformation::setTargetDesktop(SPDesktop *desktop)
+{
+ if (_desktop != desktop) {
+ _desktop = desktop;
+ }
+}
/*########################################################################
# U T I L I T Y
@@ -205,25 +216,40 @@ void Transformation::layoutPageMove()
_scalar_move_vertical.setIncrements(0.1, 1.0);
//_scalar_move_vertical.set_label_image( INKSCAPE_STOCK_ARROWS_HOR );
+
+#if WITH_GTKMM_3_0
+ _page_move.table().attach(_scalar_move_horizontal, 0, 0, 2, 1);
+ _page_move.table().attach(_units_move, 2, 0, 1, 1);
+#else
_page_move.table()
.attach(_scalar_move_horizontal, 0, 2, 0, 1, Gtk::FILL, Gtk::SHRINK);
_page_move.table()
.attach(_units_move, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+#endif
_scalar_move_horizontal.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onMoveValueChanged));
//_scalar_move_vertical.set_label_image( INKSCAPE_STOCK_ARROWS_VER );
+#if WITH_GTKMM_3_0
+ _page_move.table().attach(_scalar_move_vertical, 0, 1, 2, 1);
+#else
_page_move.table()
.attach(_scalar_move_vertical, 0, 2, 1, 2, Gtk::FILL, Gtk::SHRINK);
+#endif
_scalar_move_vertical.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onMoveValueChanged));
// Relative moves
+#if WITH_GTKMM_3_0
+ _page_move.table().attach(_check_move_relative, 0, 2, 2, 1);
+#else
_page_move.table()
.attach(_check_move_relative, 0, 2, 2, 3, Gtk::FILL, Gtk::SHRINK);
+#endif
+
_check_move_relative.set_active(true);
_check_move_relative.signal_toggled()
.connect(sigc::mem_fun(*this, &Transformation::onMoveRelativeToggled));
@@ -248,21 +274,37 @@ void Transformation::layoutPageScale()
_scalar_scale_vertical.setAbsoluteIsIncrement(true);
_scalar_scale_vertical.setPercentageIsIncrement(true);
+#if WITH_GTKMM_3_0
+ _page_scale.table().attach(_scalar_scale_horizontal, 0, 0, 2, 1);
+#else
_page_scale.table()
.attach(_scalar_scale_horizontal, 0, 2, 0, 1, Gtk::FILL, Gtk::SHRINK);
+#endif
+
_scalar_scale_horizontal.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onScaleXValueChanged));
+#if WITH_GTKMM_3_0
+ _page_scale.table().attach(_units_scale, 2, 0, 1, 1);
+ _page_scale.table().attach(_scalar_scale_vertical, 0, 1, 2, 1);
+#else
_page_scale.table()
.attach(_units_scale, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
_page_scale.table()
.attach(_scalar_scale_vertical, 0, 2, 1, 2, Gtk::FILL, Gtk::SHRINK);
+#endif
+
_scalar_scale_vertical.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onScaleYValueChanged));
+#if WITH_GTKMM_3_0
+ _page_scale.table().attach(_check_scale_proportional, 0, 2, 2, 1);
+#else
_page_scale.table()
.attach(_check_scale_proportional, 0, 2, 2, 3, Gtk::FILL, Gtk::SHRINK);
+#endif
+
_check_scale_proportional.set_active(false);
_check_scale_proportional.signal_toggled()
.connect(sigc::mem_fun(*this, &Transformation::onScaleProportionalToggled));
@@ -293,6 +335,12 @@ void Transformation::layoutPageRotate()
Gtk::RadioButton::Group group = _counterclockwise_rotate.get_group();
_clockwise_rotate.set_group(group);
+#if WITH_GTKMM_3_0
+ _page_rotate.table().attach(_scalar_rotate, 0, 0, 2, 1);
+ _page_rotate.table().attach(_units_rotate, 2, 0, 1, 1);
+ _page_rotate.table().attach(_counterclockwise_rotate, 3, 0, 1, 1);
+ _page_rotate.table().attach(_clockwise_rotate, 4, 0, 1, 1);
+#else
_page_rotate.table()
.attach(_scalar_rotate, 0, 2, 0, 1, Gtk::FILL, Gtk::SHRINK);
@@ -304,6 +352,7 @@ void Transformation::layoutPageRotate()
_page_rotate.table()
.attach(_clockwise_rotate, 4, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+#endif
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
if (prefs->getBool("/dialogs/transformation/rotateCounterClockwise", TRUE)) {
@@ -337,16 +386,27 @@ void Transformation::layoutPageSkew()
_scalar_skew_vertical.setDigits(3);
_scalar_skew_vertical.setIncrements(0.1, 1.0);
+#if WITH_GTKMM_3_0
+ _page_skew.table().attach(_scalar_skew_horizontal, 0, 0, 2, 1);
+#else
_page_skew.table()
.attach(_scalar_skew_horizontal, 0, 2, 0, 1, Gtk::FILL, Gtk::SHRINK);
+#endif
+
_scalar_skew_horizontal.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onSkewValueChanged));
+#if WITH_GTKMM_3_0
+ _page_skew.table().attach(_units_skew, 2, 0, 1, 1);
+ _page_skew.table().attach(_scalar_skew_vertical, 0, 1, 2, 1);
+#else
_page_skew.table()
.attach(_units_skew, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
_page_skew.table()
.attach(_scalar_skew_vertical, 0, 2, 1, 2, Gtk::FILL, Gtk::SHRINK);
+#endif
+
_scalar_skew_vertical.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onSkewValueChanged));
@@ -362,30 +422,46 @@ void Transformation::layoutPageTransform()
_scalar_transform_a.setDigits(3);
_scalar_transform_a.setIncrements(0.1, 1.0);
_scalar_transform_a.setValue(1.0);
+
+#if WITH_GTKMM_3_0
+ _page_transform.table().attach(_scalar_transform_a, 0, 0, 1, 1);
+#else
_page_transform.table()
.attach(_scalar_transform_a, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+#endif
+
_scalar_transform_a.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onTransformValueChanged));
-
_scalar_transform_b.setWidgetSizeRequest(65, -1);
_scalar_transform_b.setRange(-1e10, 1e10);
_scalar_transform_b.setDigits(3);
_scalar_transform_b.setIncrements(0.1, 1.0);
_scalar_transform_b.setValue(0.0);
+
+#if WITH_GTKMM_3_0
+ _page_transform.table().attach(_scalar_transform_b, 0, 1, 1, 1);
+#else
_page_transform.table()
.attach(_scalar_transform_b, 0, 1, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
+#endif
+
_scalar_transform_b.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onTransformValueChanged));
-
_scalar_transform_c.setWidgetSizeRequest(65, -1);
_scalar_transform_c.setRange(-1e10, 1e10);
_scalar_transform_c.setDigits(3);
_scalar_transform_c.setIncrements(0.1, 1.0);
_scalar_transform_c.setValue(0.0);
+
+#if WITH_GTKMM_3_0
+ _page_transform.table().attach(_scalar_transform_c, 1, 0, 1, 1);
+#else
_page_transform.table()
.attach(_scalar_transform_c, 1, 2, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+#endif
+
_scalar_transform_c.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onTransformValueChanged));
@@ -395,8 +471,14 @@ void Transformation::layoutPageTransform()
_scalar_transform_d.setDigits(3);
_scalar_transform_d.setIncrements(0.1, 1.0);
_scalar_transform_d.setValue(1.0);
+
+#if WITH_GTKMM_3_0
+ _page_transform.table().attach(_scalar_transform_d, 1, 1, 1, 1);
+#else
_page_transform.table()
.attach(_scalar_transform_d, 1, 2, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
+#endif
+
_scalar_transform_d.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onTransformValueChanged));
@@ -406,8 +488,14 @@ void Transformation::layoutPageTransform()
_scalar_transform_e.setDigits(3);
_scalar_transform_e.setIncrements(0.1, 1.0);
_scalar_transform_e.setValue(0.0);
+
+#if WITH_GTKMM_3_0
+ _page_transform.table().attach(_scalar_transform_e, 2, 0, 1, 1);
+#else
_page_transform.table()
.attach(_scalar_transform_e, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+#endif
+
_scalar_transform_e.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onTransformValueChanged));
@@ -417,14 +505,25 @@ void Transformation::layoutPageTransform()
_scalar_transform_f.setDigits(3);
_scalar_transform_f.setIncrements(0.1, 1.0);
_scalar_transform_f.setValue(0.0);
+
+#if WITH_GTKMM_3_0
+ _page_transform.table().attach(_scalar_transform_f, 2, 1, 1, 1);
+#else
_page_transform.table()
.attach(_scalar_transform_f, 2, 3, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
+#endif
+
_scalar_transform_f.signal_value_changed()
.connect(sigc::mem_fun(*this, &Transformation::onTransformValueChanged));
// Edit existing matrix
+#if WITH_GTKMM_3_0
+ _page_transform.table().attach(_check_replace_matrix, 0, 2, 2, 1);
+#else
_page_transform.table()
.attach(_check_replace_matrix, 0, 2, 2, 3, Gtk::FILL, Gtk::SHRINK);
+#endif
+
_check_replace_matrix.set_active(false);
_check_replace_matrix.signal_toggled()
.connect(sigc::mem_fun(*this, &Transformation::onReplaceMatrixToggled));