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 RMdiChildQt;
42 class RPenListener;
43 class RPropertyListener;
44 class RSelectionListener;
45 class RSnapListener;
46 class RUcsListener;
47 class RViewFocusListener;
48 class RViewListener;
49 
57 class QCADGUI_EXPORT RMainWindowQt: public QMainWindow, public RMainWindow {
58 Q_OBJECT
59 
60 public:
61  RMainWindowQt(QWidget* parent = 0, bool hasMdiArea = true);
62  static RMainWindowQt* getMainWindow();
63  virtual int getWidth();
64  virtual int getHeight();
65  virtual int getPositionX();
66  virtual int getPositionY();
67  virtual void resize(int width, int height);
68  virtual void move(int x, int y);
69  virtual RDocument* getDocument();
71 
72  virtual void handleUserMessage(const QString& message);
73  virtual void handleUserInfo(const QString& message);
74  virtual void handleUserWarning(const QString& message, bool messageBox = false);
75  virtual void handleUserCommand(const QString& message);
76 
77  virtual void postSelectionChangedEvent();
78  virtual void postTransactionEvent(
79  RTransaction& t,
80  bool onlyChanges=false,
81  RS::EntityType entityTypeFilter = RS::EntityAll
82  );
83  virtual void postCloseEvent();
84 
85  RMdiChildQt* getMdiChild();
86  QTabBar* getTabBar();
87  QMdiArea* getMdiArea();
88 
89  virtual void cancelProgress();
90  virtual void setProgress(int value);
91  virtual void setProgressEnd();
92  virtual void setProgressText(const QString& text = "");
93 
94  virtual void setCommandPrompt(const QString& text = "");
95  virtual void setLeftMouseTip(const QString& text = "");
96  virtual void setRightMouseTip(const QString& text = "");
97 
98  virtual void escapeEvent();
99 
100  virtual void setGraphicsViewCursor(const QCursor& cursor);
101 
102  virtual bool readSettings();
103  virtual void writeSettings();
104 
105 public slots:
106  void quit();
107  void currentTabChanged(int index);
108  void subWindowActivated(QMdiSubWindow* sw);
109  //void objectDestroyed(QObject *obj);
110 
111 signals:
115  void commandPrompt(const QString& text);
116 
120  void leftMouseTip(const QString& message);
121 
125  void rightMouseTip(const QString& message);
126 
127  void progress(int value);
128  void progressEnd();
129  void progressText(const QString& label);
130  void progressCanceled();
131  void userMessage(const QString& message);
132  void userInfo(const QString& message);
133  void userWarning(const QString& message, bool messageBox);
134  void userCommand(const QString& message);
135  void escape();
136  void drop(QDropEvent* event);
137  void dragEnter(QDragEnterEvent* event);
138 
139  void resumedTab(RMdiChildQt* mdiChild);
140 
141  void closeRequested();
142 
143 protected:
144  virtual void closeEvent(QCloseEvent* e);
145  virtual void dropEvent(QDropEvent* event);
146  virtual void dragEnterEvent(QDragEnterEvent* event);
147 
148  virtual bool event(QEvent* e);
149 
150 protected slots:
151  void updateGuiActions(QMdiSubWindow* mdiChild = NULL);
152  void updateScenes(QMdiSubWindow* mdiChild);
153  void notifyListenersSlot(QMdiSubWindow* mdiChild);
154  void suspendAndResume(QMdiSubWindow* mdiChild);
155 
156 protected:
157  QMdiArea* mdiArea;
158 
159 //private:
160 // bool objectWasDestroyed;
161 };
162 
164 
165 #endif