QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RMainWindowQt.h
Go to the documentation of this file.
1 
20 #ifndef RMAINWINDOWQT_H
21 #define RMAINWINDOWQT_H
22 
23 #include "gui_global.h"
24 
25 #include <QMainWindow>
26 #include <QKeyEvent>
27 
28 #include "RCloseCurrentEvent.h"
29 #include "RMainWindow.h"
30 
31 class QMdiArea;
32 class QMdiSubWindow;
33 
34 class RBlockListener;
36 class RDocument;
37 class RDocumentInterface;
38 class RFocusListener;
39 class RGraphicsView;
40 class RLayerListener;
41 class RMdiArea;
42 class RMdiChildQt;
44 class RPenListener;
45 class RPropertyListener;
46 class RSelectionListener;
47 class RSnapListener;
48 class RUcsListener;
49 class RViewFocusListener;
50 class RViewListener;
51 
59 class QCADGUI_EXPORT RMainWindowQt: public QMainWindow, public RMainWindow {
60 Q_OBJECT
61 
62 public:
63  RMainWindowQt(QWidget* parent = 0, bool hasMdiArea = true);
64  static RMainWindowQt* getMainWindow();
65  virtual int getWidth();
66  virtual int getHeight();
67  virtual int getPositionX();
68  virtual int getPositionY();
69  virtual void resize(int width, int height);
70  virtual void move(int x, int y);
71  virtual RDocument* getDocument();
73 
74  virtual void handleUserMessage(const QString& message);
75  virtual void handleUserInfo(const QString& message);
76  virtual void handleUserWarning(const QString& message, bool messageBox = false);
77  virtual void handleUserCommand(const QString& message);
78 
79  virtual void postSelectionChangedEvent();
80  virtual void postTransactionEvent(
81  RTransaction& t,
82  bool onlyChanges=false,
83  RS::EntityType entityTypeFilter = RS::EntityAll
84  );
85  virtual void postCloseEvent();
86 
87  RMdiChildQt* getMdiChild();
88  QTabBar* getTabBar();
89  RMdiArea* getMdiArea();
90 
91  virtual void cancelProgress();
92  virtual void setProgress(int value);
93  virtual void setProgressEnd();
94  virtual void setProgressText(const QString& text = "");
95 
96  virtual void setCommandPrompt(const QString& text = "");
97  virtual void setLeftMouseTip(const QString& text = "");
98  virtual void setRightMouseTip(const QString& text = "");
99 
100  virtual void escapeEvent();
101 
102  virtual void setGraphicsViewCursor(const QCursor& cursor);
103 
104  virtual bool readSettings();
105  virtual void writeSettings();
106 
107 public slots:
108  void quit();
109  void currentTabChanged(int index);
110  void subWindowActivated(QMdiSubWindow* sw);
111  //void objectDestroyed(QObject *obj);
112 
113 signals:
117  void commandPrompt(const QString& text);
118 
122  void leftMouseTip(const QString& message);
123 
127  void rightMouseTip(const QString& message);
128 
129  void progress(int value);
130  void progressEnd();
131  void progressText(const QString& label);
132  void progressCanceled();
133  void userMessage(const QString& message);
134  void userInfo(const QString& message);
135  void userWarning(const QString& message, bool messageBox);
136  void userCommand(const QString& message);
137  void escape();
138  void drop(QDropEvent* event);
139  void dragEnter(QDragEnterEvent* event);
140 
141  void resumedTab(RMdiChildQt* mdiChild);
142 
143  void closeRequested();
144 
145 protected:
146  virtual void closeEvent(QCloseEvent* e);
147  virtual void dropEvent(QDropEvent* event);
148  virtual void dragEnterEvent(QDragEnterEvent* event);
149 
150  virtual bool event(QEvent* e);
151 
152 protected slots:
153  void updateGuiActions(QMdiSubWindow* mdiChild = NULL);
154  void updateScenes(QMdiSubWindow* mdiChild);
155  void notifyListenersSlot(QMdiSubWindow* mdiChild);
156  void suspendAndResume(QMdiSubWindow* mdiChild);
157 
158 protected:
160 
161 //private:
162 // bool objectWasDestroyed;
163 };
164 
166 
167 #endif