QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsuserinputwidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsuserinputwidget.h
3 --------------------------------------
4 Date : 04.2015
5 Copyright : (C) 2015 Denis Rouzaud
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16
17#ifndef QGSUSERINPUTWIDGET_H
18#define QGSUSERINPUTWIDGET_H
19
20#include "qgis_sip.h"
21#include "qgis_gui.h"
22#include "qgsfloatingwidget.h"
23
24#include <QMap>
25#include <QBoxLayout>
26
27class QBoxLayout;
28class QFrame;
29
30
39class GUI_EXPORT QgsUserInputWidget : public QgsFloatingWidget
40{
41 Q_OBJECT
42 public:
43
45 QgsUserInputWidget( QWidget *parent SIP_TRANSFERTHIS = nullptr );
46
51 void addUserInputWidget( QWidget *widget );
52
53 protected:
54 // will not display the dock if it contains no widget
55 void paintEvent( QPaintEvent *event ) override;
56
57 private slots:
58 void widgetDestroyed( QObject *obj );
59
60 private:
62 void setLayoutDirection( QBoxLayout::Direction direction );
63
64 // list of widget with their corresponding line separator
65 QMap<QWidget *, QFrame *> mWidgetList;
66
67 bool mLayoutHorizontal = true;
68 QBoxLayout *mLayout = nullptr;
69};
70
71#endif // QGSUSERINPUTWIDGET_H
A QWidget subclass for creating widgets which float outside of the normal Qt layout system.
void paintEvent(QPaintEvent *e) override
The QgsUserInputWidget class is a floating widget that shall be used to display widgets for user inpu...
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53