]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/designer.cpp
Make new and erase work on objects rather than just tracks
[r2c2.git] / source / designer / designer.cpp
index 30b022f8597e12e8e539d6b247d8e38d92728b9c..88bdf8b75253f958e4493489f978cb3c5eda67b7 100644 (file)
@@ -189,21 +189,21 @@ void Designer::quit()
        exit(0);
 }
 
-void Designer::new_track()
+void Designer::new_object()
 {
        use_select_tool();
 
        mode = CATALOGUE;
-       lbl_status->set_text("Select new track or press Esc to cancel");
+       lbl_status->set_text("Select new object or press Esc to cancel");
 }
 
-void Designer::erase_tracks()
+void Designer::erase_objects()
 {
        use_select_tool();
 
-       set<Track *> tracks = selection.get_objects<Track>();
+       set<Object *> objects = selection.get_objects();
        selection.clear();
-       for(set<Track *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
+       for(set<Object *>::iterator i=objects.begin(); i!=objects.end(); ++i)
        {
                overlay->clear(layout_3d->get_3d(**i));
                delete *i;
@@ -360,7 +360,7 @@ void Designer::key_press(unsigned key)
        if(key==Msp::Input::KEY_N && shift)
                use_tool_with_selected_objects<ExtendTool>();
        else if(key==Msp::Input::KEY_N)
-               new_track();
+               new_object();
        else if(key==Msp::Input::KEY_G)
                use_tool_with_selected_objects<MoveTool>();
        else if(key==Msp::Input::KEY_R)
@@ -393,7 +393,7 @@ void Designer::key_press(unsigned key)
                        use_select_tool();
        }
        else if(key==Msp::Input::KEY_X)
-               erase_tracks();
+               erase_objects();
        else if(key==Msp::Input::KEY_F && shift)
        {
                const set<Track *> &tracks = selection.get_objects<Track>();
@@ -516,17 +516,17 @@ void Designer::update_track_icon(Track3D &track)
        if(track.get_track().get_flex())
                overlay->add_graphic(track, "flex");
 
-       if(unsigned sid = track.get_track().get_sensor_id())
+       if(unsigned saddr = track.get_track().get_sensor_address())
        {
                overlay->add_graphic(track, "sensor");
-               overlay->set_label(track, lexical_cast<string>(sid));
+               overlay->set_label(track, lexical_cast<string>(saddr));
        }
-       else if(unsigned tid = track.get_track().get_turnout_id())
+       else if(unsigned taddr = track.get_track().get_turnout_address())
        {
-               if(tid<0x800)
+               if(taddr<0x800)
                {
                        overlay->add_graphic(track, "turnout");
-                       overlay->set_label(track, lexical_cast<string>(tid));
+                       overlay->set_label(track, lexical_cast<string>(taddr));
                }
        }
 }
@@ -566,10 +566,10 @@ string Designer::tooltip(int x, int y)
                {
                        if(mode!=CATALOGUE && abs(track->get_tilt()).radians()>1e-4)
                                info += format(" (slope %.1f%%)", abs(tan(track->get_tilt())*100));
-                       if(track->get_turnout_id())
-                               info += format(" (turnout %d)", track->get_turnout_id());
-                       else if(track->get_sensor_id())
-                               info += format(" (sensor %d)", track->get_sensor_id());
+                       if(track->get_turnout_address())
+                               info += format(" (turnout %d)", track->get_turnout_address());
+                       else if(track->get_sensor_address())
+                               info += format(" (sensor %d)", track->get_sensor_address());
                }
                return info;
        }
@@ -594,8 +594,8 @@ void Designer::show_route(const Route &route)
                Track3D &t3d = layout_3d->get_3d(**i);
                Path3D *path = new Path3D(t3d);
                path->set_color(GL::Color(0.5, 0.8, 1.0));
-               if(unsigned tid = (*i)->get_turnout_id())
-                       path->set_path(route.get_turnout(tid));
+               if(unsigned taddr = (*i)->get_turnout_address())
+                       path->set_path(route.get_turnout(taddr));
        }
 }