1 #ifndef RS_ACTIONSELECTWINDOW_H
2 #define RS_ACTIONSELECTWINDOW_H
4 #include "rs_previewactioninterface.h"
8 * This action class can handle user events to select all entities.
10 * @author Andrew Mustun
12 class RS_ActionDefault: public RS_PreviewActionInterface
20 Neutral, /**< we don't know what we do yet. */
21 Dragging, /**< dragging (either an entity or the
22 first part of a selection window) */
23 SetCorner2, /**< Setting the 2nd corner of a selection window. */
24 Moving, /**< Moving entities (drag'n'drop) */
25 MovingRef /**< Moving a reference point of one or more selected
30 RS_ActionDefault(RS_EntityContainer & container, GraphicView & graphicView);
31 virtual ~RS_ActionDefault();
33 static QAction * createGUIAction(RS2::ActionType /*type*/, QObject * /*parent*/);
35 virtual RS2::ActionType rtti()
37 return RS2::ActionDefault;
40 virtual void init(int status = 0);
42 virtual void trigger();
44 virtual void keyPressEvent(QKeyEvent * e);
45 virtual void keyReleaseEvent(QKeyEvent * e);
47 virtual void mouseMoveEvent(QMouseEvent * e);
48 virtual void mousePressEvent(QMouseEvent * e);
49 virtual void mouseReleaseEvent(QMouseEvent * e);
51 virtual void commandEvent(RS_CommandEvent * e);
52 virtual QStringList getAvailableCommands();
54 virtual void updateMouseButtonHints();
55 virtual void updateMouseCursor();
56 virtual void updateToolBar();
61 RS2::SnapRestriction restrBak;