index f9086950dc3011c06ae3494a8df2684cd75dd729..1af848b964d0a0930d6088df5365ef150dfcc55b 100644 (file)
, _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() {}
Geom::Point _origin;
TransformHandleSet &_th;
private:
- void _grabbedHandler() {
+ virtual bool grabbed(GdkEventMotion *) {
_origin = position();
_last_transform.setIdentity();
startTransform();
_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
_th.signal_transform.emit(incr);
_last_transform = t;
}
- void _ungrabbedHandler() {
+ virtual void ungrabbed(GdkEventButton *) {
_th._clearActiveHandle();
_cset = &thandle_cset;
_setState(_state);