+/* $Id$
+
+This file is part of the MSP Märklin suite
+Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
+Distributed under the GPL
+*/
+
#ifndef MANIPULATOR_H_
#define MANIPULATOR_H_
float height;
};
- Designer &designer;
- Selection *selection;
+public:
+ sigc::signal<void, const std::string &> signal_status;
+ sigc::signal<void, bool> signal_done;
+
+private:
+ Designer &designer;
+ Selection &selection;
std::vector<MTrack> tracks;
Marklin::Point center;
float wrap_rot;
Marklin::Point gpointer;
- int pointer_y;
- Mode mode;
+ int pointer_y;
+ Mode mode;
Marklin::Point move_origin;
- float angle;
- float rot_origin;
- int elev_origin;
+ float angle;
+ float rot_origin;
+ int elev_origin;
std::set<Marklin::Track *> neighbors;
- sigc::connection selection_changed_conn;
public:
- sigc::signal<void, const std::string &> signal_status;
- sigc::signal<void, bool> signal_done;
-
- Manipulator(Designer &);
+ Manipulator(Designer &, Selection &);
- void set_selection(Selection *);
void start_move();
void start_rotate();
void start_elevate();