QGIS API Documentation 3.29.0-Master (19d7edcfed)
qgsdockwidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsdockwidget.h
3 ---------------
4 begin : June 2016
5 copyright : (C) 2016 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17#ifndef QGSDOCKWIDGET_H
18#define QGSDOCKWIDGET_H
19
20#include <QDockWidget>
21#include "qgis_gui.h"
22#include "qgis_sip.h"
23
31class GUI_EXPORT QgsDockWidget : public QDockWidget
32{
33 Q_OBJECT
34
35 public:
36
42 explicit QgsDockWidget( QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags flags = Qt::WindowFlags() );
43
50 explicit QgsDockWidget( const QString &title, QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags flags = Qt::WindowFlags() );
51
58 bool isUserVisible() const;
59
67 void setToggleVisibilityAction( QAction *action );
68
75 QAction *toggleVisibilityAction();
76
77 public slots:
78
95 void setUserVisible( bool visible );
96
106 void toggleUserVisible();
107
108 protected:
109
110 void closeEvent( QCloseEvent * ) override;
111 void showEvent( QShowEvent *event ) override;
112
113 signals:
114
120 void closed();
121
128 void closedStateChanged( bool wasClosed );
129
135 void opened();
136
143 void openedStateChanged( bool wasOpened );
144
145 private slots:
146
147 void handleVisibilityChanged( bool visible );
148
149 private:
150
151 bool mVisibleAndActive = false;
152
153 QAction *mAction = nullptr;
154
155};
156#endif //QGSDOCKWIDGET_H
QgsDockWidget subclass with more fine-grained control over how the widget is closed or opened.
Definition: qgsdockwidget.h:32
void closed()
Emitted when dock widget is closed.
void closedStateChanged(bool wasClosed)
Emitted when dock widget is closed (or opened).
void opened()
Emitted when dock widget is opened.
void openedStateChanged(bool wasOpened)
Emitted when dock widget is opened (or closed).
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53