1 /*************************************************************************** 2 qgsvaluemapwidgetwrapper.h 3 -------------------------------------- 4 Date : 5.1.2014 5 Copyright : (C) 2014 Matthias Kuhn 6 Email : matthias at opengis dot ch 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 #ifndef QGSVALUEMAPWIDGETWRAPPER_H 17 #define QGSVALUEMAPWIDGETWRAPPER_H 18 19 #include "qgseditorwidgetwrapper.h" 20 21 #include <QComboBox> 22 #include "qgis_gui.h" 23 24 SIP_NO_FILE 25 26 27 /** 28 * \ingroup gui 29 * \brief Wraps a value map widget. 30 * 31 * Options: 32 * <ul> 33 * <li><b>[Key]</b> <i>Value</i></li> 34 * </ul> 35 * 36 * Any option will be treated as entry in the value map. 37 * \note not available in Python bindings 38 */ 39 40 class GUI_EXPORT QgsValueMapWidgetWrapper : public QgsEditorWidgetWrapper 41 { 42 Q_OBJECT 43 public: 44 45 /** 46 * Constructor for QgsValueMapWidgetWrapper. 47 * 48 * The \a layer and \a fieldIdx arguments specify the vector layer field associated with the wrapper. 49 * 50 * The \a editor argument indicates the editor widget to use with the wrapper. This can be NULLPTR if a 51 * new widget should be autogenerated. 52 * 53 * A \a parent widget for this widget wrapper and the created widget can also be specified. 54 */ 55 explicit QgsValueMapWidgetWrapper( QgsVectorLayer *layer, int fieldIdx, QWidget *editor = nullptr, QWidget *parent = nullptr ); 56 57 // QgsEditorWidgetWrapper interface 58 public: 59 QVariant value() const override; 60 void showIndeterminateState() override; 61 62 protected: 63 QWidget *createWidget( QWidget *parent ) override; 64 void initWidget( QWidget *editor ) override; 65 bool valid() const override; 66 67 private: 68 void updateValues( const QVariant &value, const QVariantList & = QVariantList() ) override; 69 70 QComboBox *mComboBox = nullptr; 71 72 }; 73 74 #endif // QGSVALUEMAPWIDGETWRAPPER_H 75