]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/movetool.cpp
Move gauge to TrackAppearance
[r2c2.git] / source / designer / movetool.cpp
index 72bbc19ec3e8de206ccb64e3ce196e31709d7048..57f6216507e63c55a3d2157eaf519d6877b3f6ef 100644 (file)
@@ -36,13 +36,12 @@ void MoveTool::pointer_motion()
                i->object->set_rotation(i->original_rotation);
        }
 
-       float limit = max(designer.get_layout().get_catalogue().get_gauge(),
-               designer.get_camera_controller().get_view_scale()/100.0f);
+       float limit = designer.get_camera_controller().get_view_scale()/100.0f;
        MObject *snapped = 0;
        for(list<Boundary>::iterator i=boundaries.begin(); (!snapped && i!=boundaries.end()); ++i)
        {
                for(set<Object *>::const_iterator j=snap_targets.begin(); (!snapped && j!=snap_targets.end()); ++j)
-                       if((*i)->snap_to(**j, limit))
+                       if((*i)->snap_to(**j, (i->limit>0 ? max(i->limit, limit) : limit)))
                                snapped = i->object;
        }
 
@@ -65,5 +64,9 @@ void MoveTool::pointer_motion()
 
 MoveTool::Boundary::Boundary(MObject *o, unsigned i):
        object(o),
-       index(i)
-{ }
+       index(i),
+       limit(-1)
+{
+       if(Track *track = dynamic_cast<Track *>(object->object))
+               limit = track->get_type().get_appearance().get_gauge();
+}