3 This file is part of the MSP Märklin suite
4 Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
11 #include <sigc++/sigc++.h>
30 Marklin::Track *track;
34 MTrack(Marklin::Track *);
39 Marklin::Track *track;
42 TrackOrder(Marklin::Track *t, bool r): track(t), rev(r) { }
46 sigc::signal<void, const std::string &> signal_status;
47 sigc::signal<void, bool> signal_done;
52 std::vector<MTrack> tracks;
53 Marklin::Point center;
55 Marklin::Point gpointer;
58 Marklin::Point move_origin;
62 std::set<Marklin::Track *> neighbors;
63 std::vector<Marklin::Track *> extend_tracks;
66 Manipulator(Designer &, Selection &);
74 void even_slope(bool =false);
77 void button_press(int, int, float, float, unsigned);
78 void pointer_motion(int, int, float, float);
80 void selection_changed();
82 void update_neighbors();
83 void set_slope(TrackOrder &, float, float);
84 std::vector<Marklin::Track *> create_straight(const Marklin::Point &, float, float, float);