X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fui%2Ftool%2Ftransform-handle-set.cpp;h=1af848b964d0a0930d6088df5365ef150dfcc55b;hb=16e7cf17a1bc8bb0d79dfa6adc4f75b843fb6d16;hp=f9086950dc3011c06ae3494a8df2684cd75dd729;hpb=24cd4c083c480d02226e8120b6211fea650a0004;p=inkscape.git diff --git a/src/ui/tool/transform-handle-set.cpp b/src/ui/tool/transform-handle-set.cpp index f9086950d..1af848b96 100644 --- a/src/ui/tool/transform-handle-set.cpp +++ b/src/ui/tool/transform-handle-set.cpp @@ -84,17 +84,6 @@ public: , _th(th) { setVisible(false); - signal_grabbed.connect( - sigc::bind_return( - sigc::hide( - sigc::mem_fun(*this, &TransformHandle::_grabbedHandler)), - false)); - signal_dragged.connect( - sigc::hide<0>( - sigc::mem_fun(*this, &TransformHandle::_draggedHandler))); - signal_ungrabbed.connect( - sigc::hide( - sigc::mem_fun(*this, &TransformHandle::_ungrabbedHandler))); } protected: virtual void startTransform() {} @@ -106,7 +95,7 @@ protected: Geom::Point _origin; TransformHandleSet &_th; private: - void _grabbedHandler() { + virtual bool grabbed(GdkEventMotion *) { _origin = position(); _last_transform.setIdentity(); startTransform(); @@ -114,8 +103,9 @@ private: _th._setActiveHandle(this); _cset = &invisible_cset; _setState(_state); + return false; } - void _draggedHandler(Geom::Point &new_pos, GdkEventMotion *event) + virtual void dragged(Geom::Point &new_pos, GdkEventMotion *event) { Geom::Matrix t = computeTransform(new_pos, event); // protect against degeneracies @@ -125,7 +115,7 @@ private: _th.signal_transform.emit(incr); _last_transform = t; } - void _ungrabbedHandler() { + virtual void ungrabbed(GdkEventButton *) { _th._clearActiveHandle(); _cset = &thandle_cset; _setState(_state);