QGIS API Documentation  3.8.0-Zanzibar (11aff65)
qgsuserinputwidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsuserinputwidget.h
3  --------------------------------------
4  Date : 04.2015
5  Copyright : (C) 2015 Denis Rouzaud
6  Email : [email protected]
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 
27 class QBoxLayout;
28 class QFrame;
29 
30 
40 class 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
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:46
A QWidget subclass for creating widgets which float outside of the normal Qt layout system...
The QgsUserInputWidget class is a floating widget that shall be used to display widgets for user inpu...
void paintEvent(QPaintEvent *e) override