16#ifndef QGSVALUERELATIONWIDGETWRAPPER_H 
   17#define QGSVALUERELATIONWIDGETWRAPPER_H 
   19#include <QTableWidget> 
   40class QgsFilteredTableWidget : 
public QWidget
 
   51    QgsFilteredTableWidget( QWidget *parent, 
bool showSearch, 
bool displayGroupName );
 
   53    bool eventFilter( QObject *watched, QEvent *event ) 
override;
 
   58    QStringList selection() 
const;
 
   63    void checkItems( 
const QStringList &checked );
 
   73    void setIndeterminateState();
 
   78    void setEnabledTable( 
const bool enabled );
 
   83    void setColumnCount( 
const int count );
 
   88    int rowCount()
 const { 
return mTableWidget->rowCount(); }
 
   95    void itemChanged( QTableWidgetItem *item );
 
   98    void onTableWidgetCustomContextMenuRequested( 
const QPoint &pos );
 
   99    void onTableWidgetMenuActionSelectAllTriggered();
 
  100    void onTableWidgetMenuActionDeselectAllTriggered();
 
  103    void filterStringChanged( 
const QString &filterString );
 
  104    void itemChanged_p( QTableWidgetItem *item );
 
  105    QTableWidgetItem *item( 
const int row, 
const int column )
 const { 
return mTableWidget->item( row, column ); }
 
  107    int mColumnCount = 1;
 
  109    QTableWidget *mTableWidget = 
nullptr;
 
  110    bool mEnabledTable = 
true;
 
  111    QVector<QPair<QgsValueRelationFieldFormatter::ValueRelationItem, Qt::CheckState>> mCache;
 
  112    bool mDisplayGroupName = 
false;
 
  114    friend class TestQgsValueRelationWidgetWrapper;
 
  157    QVariant 
value() 
const override;
 
  170    bool valid() 
const override;
 
  184    void widgetValueChanged( 
const QString &attribute, 
const QVariant &newValue, 
bool attributeChanged );
 
  197    void emitValueChangedInternal( 
const QString &value );
 
  200    void updateValues( 
const QVariant &value, 
const QVariantList & = QVariantList() ) 
override;
 
  212    void updateValue( 
const QVariant &value, 
bool forceComboInsertion );
 
  218    int columnCount() 
const;
 
  221    QMetaType::Type fkType() 
const;
 
  226    QComboBox *mComboBox = 
nullptr;
 
  227    QgsFilteredTableWidget *mTableWidget = 
nullptr;
 
  228    QLineEdit *mLineEdit = 
nullptr;
 
  229    int mSubWidgetSignalBlocking = 0; 
 
  233    bool mEnabled = 
true;
 
  237    friend class TestQgsValueRelationWidgetWrapper;
 
 
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
 
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
 
Represents a vector layer which manages a vector based dataset.