23 #ifndef ABSTRACTDOCKWIDGET_H
24 #define ABSTRACTDOCKWIDGET_H
26 #include "../global.h"
27 #include "../common/sharedStructures.h"
28 #include "shortcutAction.h"
30 #include <qmainwindow.h>
31 #include <qdockwidget.h>
39 #include <qshortcut.h>
59 Q_PROPERTY(
bool visible READ isVisible WRITE setVisible DESIGNABLE
false)
60 Q_PROPERTY(
bool enabled READ isEnabled WRITE setEnabled)
62 Q_PROPERTY(QRect geometry READ geometry WRITE setGeometry)
63 Q_PROPERTY(QRect frameGeometry READ frameGeometry)
64 Q_PROPERTY(QRect normalGeometry READ normalGeometry)
65 Q_PROPERTY(
int x READ x)
66 Q_PROPERTY(
int y READ y)
67 Q_PROPERTY(QPoint pos READ pos WRITE move DESIGNABLE
false STORED
false)
68 Q_PROPERTY(QSize frameSize READ frameSize)
69 Q_PROPERTY(QSize size READ size WRITE resize DESIGNABLE
false STORED
false)
70 Q_PROPERTY(
int width READ width)
71 Q_PROPERTY(
int height READ height)
72 Q_PROPERTY(QRect rect READ rect)
73 Q_PROPERTY(QRect childrenRect READ childrenRect)
74 Q_PROPERTY(QRegion childrenRegion READ childrenRegion)
75 Q_PROPERTY(QString windowTitle READ windowTitle WRITE setWindowTitle)
118 Toolbar() : section(0), key(
""), tb(NULL) {}
119 Qt::ToolBarArea area;
131 void setParent ( QWidget * parent ) {
m_overallParent = parent; QDockWidget::setParent(parent); }
133 QWidget *getActiveInstance()
143 #define QWIDGETPROPGETTER(gettername) if(m_docked && m_dockAvailable) { return QDockWidget::gettername(); } else { return m_pWindow->gettername(); }
145 #define QWIDGETPROPSETTER(settername,...) \
148 QDockWidget::settername(__VA_ARGS__); \
152 if (m_floatingStyle == floatingWindow) \
154 m_pWindow->settername(__VA_ARGS__); \
155 QDockWidget::settername(__VA_ARGS__); \
159 QDockWidget::settername(__VA_ARGS__); \
163 #define QWIDGETPROPSETTERSPECIAL(settername,...) \
166 QDockWidget::settername(__VA_ARGS__); \
170 if (m_floatingStyle == floatingWindow) \
172 m_pWindow->settername(__VA_ARGS__); \
176 QDockWidget::settername(__VA_ARGS__); \
180 QRect frameGeometry()
const;
181 const QRect &geometry()
const;
182 QRect normalGeometry()
const;
187 QSize frameSize()
const;
192 QRect childrenRect()
const;
193 QRegion childrenRegion()
const;
195 void move(
int x,
int y);
196 void move(
const QPoint &);
197 void resize(
int w,
int h);
198 void resize(
const QSize &);
199 void setGeometry(
int x,
int y,
int w,
int h);
200 void setGeometry(
const QRect &);
201 void setMinimumSize(
const QSize &size);
203 QString windowTitle();
204 void setWindowTitle(
const QString &title);
205 bool isEnabled()
const;
206 bool isVisible()
const;
208 void saveState(
const QString &iniName)
const;
209 void restoreState(
const QString &iniName);
213 virtual QSize sizeHint()
const;
214 virtual QSize minimumSizeHint()
const;
218 friend class ShortcutAction;
228 if (event->type() == QEvent::Close)
231 if(testAttribute(Qt::WA_DeleteOnClose) && event->isAccepted() )
240 return QObject::eventFilter(obj,event);
248 virtual void createActions() = 0;
249 virtual void createMenus() = 0;
250 virtual void createToolBars() = 0;
251 virtual void createStatusBar() = 0;
252 virtual void updateActions() {}
253 virtual void updatePythonActions() = 0;
255 Qt::WindowFlags modifyFlags(
const Qt::WindowFlags &flags,
const Qt::WindowFlags &setFlags,
const Qt::WindowFlags &unsetFlags);
257 virtual void windowStateChanged(
bool ) {}
261 inline QMainWindow* getCanvas() {
return m_pWindow; }
270 inline QMenuBar* getMenuBar()
const {
return (m_pWindow == NULL) ? NULL : m_pWindow->menuBar(); }
272 RetVal
addToolBar(QToolBar *tb,
const QString &key, Qt::ToolBarArea area = Qt::TopToolBarArea,
int section = 1);
273 RetVal removeToolBar(
const QString &key);
275 QAction *m_actStayOnTop;
276 QAction *m_actStayOnTopOfApp;
280 void contextMenuEvent(QContextMenuEvent *e)
283 qDebug() <<
"context menu of abstractDockWidget clicked. [placeholder for (un)docking feature.] pos: " << e->pos();
286 QMainWindow *m_pWindow;
296 QList<Toolbar> m_toolbars;
302 QToolBar* m_dockToolbar;
304 QAction* m_actUndock;
311 QRect m_lastUndockedSize;
312 QByteArray m_pendingGeometryState;
315 void setEnabled(
bool);
316 virtual void setVisible(
bool visible);
323 void setDockSize(
int newWidth,
int newHeight);
331 void mnuStayOnTop(
bool checked);
332 void mnuStayOnTopOfApp(
bool checked);
334 void returnToOldMinMaxSizes();
Class for managing status values (like errors or warning)
Definition: retVal.h:54
Definition: apiFunctionsGraph.cpp:39