4 #include <sigc++/sigc++.h>
27 MObject(R2C2::Object *);
35 TrackOrder(R2C2::Track *t, bool r): track(t), rev(r) { }
39 sigc::signal<void, const std::string &> signal_status;
40 sigc::signal<void, bool> signal_done;
44 Msp::Input::Mouse &mouse;
46 std::vector<MObject> objects;
50 R2C2::Vector gpointer;
52 R2C2::Vector move_origin;
56 std::set<R2C2::Object *> neighbors;
57 std::vector<R2C2::Track *> extend_tracks;
60 Manipulator(Designer &, Msp::Input::Mouse &, Selection &);
68 void even_slope(bool =false);
72 void button_press(unsigned);
73 void axis_motion(unsigned, float, float);
74 void selection_changed();
75 void update_objects();
76 void update_neighbors();
77 void set_slope(TrackOrder &, float, float);
78 std::vector<R2C2::Track *> create_straight(const R2C2::Vector &, float, float, float);