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  virtual QWidget* getChildWidget(const QString& name);
108 
109 public slots:
110  void quit();
111  void currentTabChanged(int index);
112  void subWindowActivated(QMdiSubWindow* sw);
113  //void objectDestroyed(QObject *obj);
114 
115 signals:
119  void commandPrompt(const QString& text);
120 
124  void leftMouseTip(const QString& message);
125 
129  void rightMouseTip(const QString& message);
130 
131  void progress(int value);
132  void progressEnd();
133  void progressText(const QString& label);
134  void progressCanceled();
135  void userMessage(const QString& message);
136  void userInfo(const QString& message);
137  void userWarning(const QString& message, bool messageBox);
138  void userCommand(const QString& message);
139  void escape();
140  void drop(QDropEvent* event);
141  void dragEnter(QDragEnterEvent* event);
142 
143  void resumedTab(RMdiChildQt* mdiChild);
144 
145  void closeRequested();
146 
147 protected:
148  virtual void closeEvent(QCloseEvent* e);
149  virtual void dropEvent(QDropEvent* event);
150  virtual void dragEnterEvent(QDragEnterEvent* event);
151 
152  virtual bool event(QEvent* e);
153 
154 protected slots:
155  void updateGuiActions(QMdiSubWindow* mdiChild = NULL);
156  void initGuiActions();
157  void updateScenes(QMdiSubWindow* mdiChild);
158  void notifyListenersSlot(QMdiSubWindow* mdiChild);
159  void suspendAndResume(QMdiSubWindow* mdiChild);
160 
161 protected:
163 
164 //private:
165 // bool objectWasDestroyed;
166 };
167 
169 
170 #endif