16#ifndef QGSRELATIONREFERENCEWIDGET_H 
   17#define QGSRELATIONREFERENCEWIDGET_H 
   28#include <QStandardItemModel> 
   62    if ( qobject_cast<QgsRelationReferenceWidget *>( sipCpp ) )
 
   63      sipType = sipType_QgsRelationReferenceWidget;
 
   70    Q_PROPERTY( 
bool openFormButtonVisible READ openFormButtonVisible WRITE setOpenFormButtonVisible )
 
   85    void setRelation( 
const QgsRelation &relation, 
bool allowNullValue );
 
   87    void setRelationEditable( 
bool editable );
 
   93    Q_DECL_DEPRECATED 
void setForeignKey( 
const QVariant &value ) 
SIP_DEPRECATED;
 
   99    void setForeignKeys( 
const QVariantList &values );
 
  113    QVariantList foreignKeys() const;
 
  123    bool embedForm() { 
return mEmbedForm; }
 
  124    void setEmbedForm( 
bool display );
 
  128    void setReadOnlySelector( 
bool readOnly );
 
  132    void setAllowMapIdentification( 
bool allowMapIdentification );
 
  135    void setFilterFields( 
const QStringList &filterFields );
 
  139    void setOpenFormButtonVisible( 
bool openFormButtonVisible );
 
  154    void setChainFilters( 
bool chainFilters );
 
  165    void setFilterExpression( 
const QString &filterExpression );
 
  177    void showIndeterminateState();
 
  184    bool allowAddFeatures() 
const;
 
  191    void setAllowAddFeatures( 
bool allowAddFeatures );
 
  204    void setFormFeature( 
const QgsFeature &formFeature );
 
  210    QString referencedLayerDataSource() 
const;
 
  216    void setReferencedLayerDataSource( 
const QString &referencedLayerDataSource );
 
  222    QString referencedLayerProviderKey() 
const;
 
  228    void setReferencedLayerProviderKey( 
const QString &referencedLayerProviderKey );
 
  234    QString referencedLayerId() 
const;
 
  240    void setReferencedLayerId( 
const QString &referencedLayerId );
 
  246    QString referencedLayerName() 
const;
 
  252    void setReferencedLayerName( 
const QString &referencedLayerName );
 
  272    void mapIdentification();
 
  275    void deleteForeignKeys();
 
  278    void showEvent( QShowEvent *e ) 
override;
 
  297    void highlightActionTriggered( QAction *action );
 
  298    void deleteHighlight();
 
  299    void comboReferenceChanged();
 
  300    void featureIdentified( 
const QgsFeature &feature );
 
  303    void mapToolDeactivated();
 
  304    void filterChanged();
 
  306    void updateAddEntryButton();
 
  308    void onKeyPressed( QKeyEvent *e );
 
  312    void updateAttributeEditorFrame( 
const QgsFeature &feature );
 
  313    void disableChainedComboBoxes( 
const QComboBox *cb );
 
  314    void emitForeignKeysChanged( 
const QVariantList &foreignKeys, 
bool force = 
false );
 
  320    QVariantList mForeignKeys;
 
  324    QStringList mReferencedFields;
 
  325    bool mAllowNull = 
true;
 
  335    QList<QComboBox *> mFilterComboBoxes;
 
  336    QString mFilterExpression;
 
  337    QWidget *mWindowWidget = 
nullptr;
 
  340    bool mIsEditable = 
true;
 
  341    QStringList mFilterFields;
 
  342    QMap<QString, QMap<QString, QSet<QString> > > mFilterCache;
 
  343    bool mInitialized = 
false;
 
  347    bool mEmbedForm = 
false;
 
  348    bool mReadOnlySelector = 
false;
 
  349    bool mAllowMapIdentification = 
false;
 
  350    bool mOpenFormButtonVisible = 
true;
 
  351    bool mChainFilters = 
false;
 
  352    bool mAllowAddFeatures = 
false;
 
  353    QString mReferencedLayerId;
 
  354    QString mReferencedLayerName;
 
  355    QString mReferencedLayerDataSource;
 
  356    QString mReferencedLayerProviderKey;
 
  359    QVBoxLayout *mTopLayout = 
nullptr;
 
  360    QToolButton *mMapIdentificationButton = 
nullptr;
 
  361    QToolButton *mRemoveFKButton = 
nullptr;
 
  362    QToolButton *mOpenFormButton = 
nullptr;
 
  363    QToolButton *mHighlightFeatureButton = 
nullptr;
 
  364    QToolButton *mAddEntryButton = 
nullptr;
 
  365    QAction *mHighlightFeatureAction = 
nullptr;
 
  366    QAction *mScaleHighlightFeatureAction = 
nullptr;
 
  367    QAction *mPanHighlightFeatureAction = 
nullptr;
 
  368    QWidget *mChooserContainer = 
nullptr;
 
  369    QWidget *mFilterContainer = 
nullptr;
 
  370    QHBoxLayout *mFilterLayout = 
nullptr;
 
  372    QVBoxLayout *mAttributeEditorLayout = 
nullptr;
 
  373    QLabel *mInvalidLabel = 
nullptr;
 
  375    friend class TestQgsRelationReferenceWidget;
 
This class contains context information for attribute editor widgets.
 
A groupbox that collapses/expands when toggled and can save its collapsed and checked states.
 
This offers a combobox with autocompleter that allows selecting features from a layer.
 
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
 
A class for highlight features on the map.
 
Map canvas is a class for displaying all GIS data types on a canvas.
 
Represents an item shown within a QgsMessageBar widget.
 
A bar for displaying non-blocking messages to the user.
 
Represents a vector layer which manages a vector based data sets.
 
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)