QGIS API Documentation 3.32.0-Lima (311a8cb8a6)
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
40class GUI_EXPORT QgsUserInputWidget : public QgsFloatingWidget
41{
42 Q_OBJECT
43 public:
44
46 QgsUserInputWidget( QWidget *parent SIP_TRANSFERTHIS = nullptr );
47
52 void addUserInputWidget( QWidget *widget );
53
54 protected:
55 // will not display the dock if it contains no widget
56 void paintEvent( QPaintEvent *event ) override;
57
58 private slots:
59 void widgetDestroyed( QObject *obj );
60
61 private:
63 void setLayoutDirection( QBoxLayout::Direction direction );
64
65 // list of widget with their corresponding line separator
66 QMap<QWidget *, QFrame *> mWidgetList;
67
68 bool mLayoutHorizontal = true;
69 QBoxLayout *mLayout = nullptr;
70};
71
72#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