#ifndef RS_ACTIONDRAWLINEPARALLEL_H
#define RS_ACTIONDRAWLINEPARALLEL_H
+#include "rs_line.h"
#include "rs_previewactioninterface.h"
+#include "vector.h"
+class RS_Entity;
/**
* This action class can handle user events to draw parallel
*
* @author Andrew Mustun
*/
-class RS_ActionDrawLineParallel : public RS_PreviewActionInterface {
- //Q_OBJECT
-private:
- enum Status {
- SetEntity, /**< Choose original entity. */
- //SetDistance, /**< Setting distance in the command line. */
- SetNumber /**< Setting number in the command line. */
- //SetThrough /**< Setting a point for the parallel to go through. */
- };
-
-public:
- RS_ActionDrawLineParallel(RS_EntityContainer& container,
- RS_GraphicView& graphicView);
- ~RS_ActionDrawLineParallel() {}
-
- static QAction* createGUIAction(RS2::ActionType type, QObject* /*parent*/);
-
- virtual RS2::ActionType rtti() {
- return RS2::ActionDrawLineParallel;
- }
-
- virtual void trigger();
-
- virtual void mouseMoveEvent(QMouseEvent* e);
- virtual void mouseReleaseEvent(QMouseEvent* e);
- virtual void updateMouseButtonHints();
-
- virtual void commandEvent(RS_CommandEvent* e);
- virtual QStringList getAvailableCommands();
-
- virtual void hideOptions();
- virtual void showOptions();
-
- virtual void updateMouseCursor();
- virtual void updateToolBar();
-
- double getDistance() {
- return distance;
- }
-
- void setDistance(double d) {
- distance = d;
- }
-
- int getNumber() {
- return number;
- }
-
- void setNumber(int n) {
- number = n;
- }
-
-private:
- /** Closest parallel. */
- RS_Entity* parallel;
- /** Data of new line */
- RS_LineData data;
- /** Distance of the parallel. */
- double distance;
- /** Number of parallels. */
- int number;
- /** Coordinate of the mouse. */
- Vector coord;
- /** Original entity. */
- RS_Entity* entity;
- /**
- * Commands
- */
- /*
- QString cmdDistance;
- QString cmdDistance2;
- QString cmdDistance3;
-
- QString cmdNumber;
- QString cmdNumber2;
- QString cmdNumber3;
- */
+class RS_ActionDrawLineParallel: public RS_PreviewActionInterface
+{
+ private:
+ enum Status {
+ SetEntity, /**< Choose original entity. */
+ //SetDistance, /**< Setting distance in the command line. */
+ SetNumber /**< Setting number in the command line. */
+ //SetThrough /**< Setting a point for the parallel to go through. */
+ };
+
+ public:
+ RS_ActionDrawLineParallel(RS_EntityContainer & container, GraphicView & graphicView);
+ ~RS_ActionDrawLineParallel();
+
+ virtual RS2::ActionType rtti();
+ virtual void trigger();
+ virtual void mouseMoveEvent(QMouseEvent * e);
+ virtual void mouseReleaseEvent(QMouseEvent * e);
+ virtual void updateMouseButtonHints();
+ virtual void commandEvent(RS_CommandEvent * e);
+ virtual QStringList getAvailableCommands();
+ virtual void hideOptions();
+ virtual void showOptions();
+ virtual void updateMouseCursor();
+ virtual void updateToolBar();
+ double getDistance();
+ void setDistance(double d);
+ int getNumber();
+ void setNumber(int n);
+
+ private:
+ /** Closest parallel. */
+ RS_Entity * parallel;
+ /** Data of new line */
+ RS_LineData data;
+ /** Distance of the parallel. */
+ double distance;
+ /** Number of parallels. */
+ int number;
+ /** Coordinate of the mouse. */
+ Vector coord;
+ /** Original entity. */
+ RS_Entity * entity;
};
#endif