QCAD Application Framework
CAD Application Development and Automation.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RMainWindowQt.h
Go to the documentation of this file.
1 #ifndef RMAINWINDOWQT_H
2 #define RMAINWINDOWQT_H
3 
4 #include <QMainWindow>
5 #include <QKeyEvent>
6 
7 #include "RMainWindow.h"
8 
9 class QMdiArea;
10 class QMdiSubWindow;
11 
13 class RDocument;
14 class RDocumentInterface;
15 class RFocusListener;
16 class RLayerListener;
17 class RBlockListener;
18 class RViewListener;
19 class RMdiChildQt;
20 class RPropertyListener;
21 class RSelectionListener;
22 class RSnapListener;
23 class RUcsListener;
24 class RPenListener;
25 
33 class RMainWindowQt: public QMainWindow, public RMainWindow {
34 Q_OBJECT
35 
36 public:
37  RMainWindowQt(QWidget* parent = 0, bool hasMdiArea = true);
38  static RMainWindowQt* getMainWindow();
39  virtual int getWidth();
40  virtual int getHeight();
41  virtual int getPositionX();
42  virtual int getPositionY();
43  virtual void resize(int width, int height);
44  virtual void move(int x, int y);
45  virtual void close();
46  virtual RDocument* getDocument();
48 
49  virtual void handleUserMessage(const QString& message);
50  virtual void handleUserInfo(const QString& message);
51  virtual void handleUserWarning(const QString& message, bool messageBox =
52  false);
53  virtual void handleUserCommand(const QString& message);
54 
55  virtual void postSelectionChangedEvent();
56  virtual void postTransactionEvent(
57  bool onlyChanges=false,
58  RS::EntityType entityTypeFilter = RS::EntityAll
59  );
60  virtual void postCloseEvent();
61 
63  QTabBar* getTabBar();
64  QMdiArea* getMdiArea();
65 
66  virtual void cancelProgress();
67  virtual void setProgress(int value);
68  virtual void setProgressEnd();
69  virtual void setProgressText(const QString& text = "");
70 
71  virtual void setCommandPrompt(const QString& text = "");
72  virtual void setLeftMouseTip(const QString& text = "");
73  virtual void setRightMouseTip(const QString& text = "");
74 
75  virtual void escapeEvent();
76 
77  virtual void setGraphicsViewCursor(const QCursor& cursor);
78 
79  virtual bool readSettings();
80  virtual void writeSettings();
81 
82 public slots:
83  void currentTabChanged(int index);
84  void subWindowActivated(QMdiSubWindow* sw);
85  void objectDestroyed(QObject *obj);
86 
87 signals:
91  void commandPrompt(const QString& text);
92 
96  void leftMouseTip(const QString& message);
97 
101  void rightMouseTip(const QString& message);
102 
103  void progress(int value);
104  void progressEnd();
105  void progressText(const QString& label);
106  void progressCanceled();
107  void userMessage(const QString& message);
108  void userInfo(const QString& message);
109  void userWarning(const QString& message, bool messageBox);
110  void userCommand(const QString& message);
111  void escape();
112  void drop(QDropEvent* event);
113  void dragEnter(QDragEnterEvent* event);
114 
115  void resumedTab(RMdiChildQt* mdiChild);
116 
117 protected:
118  virtual void closeEvent(QCloseEvent* e);
119  //virtual void keyPressEvent(QKeyEvent* e);
120  virtual void dropEvent(QDropEvent* event);
121  virtual void dragEnterEvent(QDragEnterEvent* event);
122 
123  virtual bool event(QEvent* e);
124 
125 protected slots:
126 // void disableTabBar(QMdiSubWindow* mdiChild);
127 // void enableTabBar(QMdiSubWindow* mdiChild);
128  void updateGuiActions(QMdiSubWindow* mdiChild = NULL);
129  void updateScenes(QMdiSubWindow* mdiChild);
130  void notifyListenersSlot(QMdiSubWindow* mdiChild);
131  void suspendAndResume(QMdiSubWindow* mdiChild);
132 
133 protected:
134  QMdiArea* mdiArea;
135 
136 private:
138 };
139 
141 
142 #endif