31   , mMessageBar( messageBar )
    52   QHash<const char *, int> map = QHash<const char *, int>();
    53   map.insert( QgsRelationReferenceWidget::staticMetaObject.className(), 10 );
    60   return !relations.isEmpty() ? 21  : 5;
 QgsEditorConfigWidget * configWidget(QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const override
Override this in your implementation. 
 
QHash< const char *, int > supportedWidgetTypes() override
Returns a list of widget types which this editor widget supports. 
 
unsigned int fieldScore(const QgsVectorLayer *vl, int fieldIdx) const override
This method allows disabling this editor widget type for a certain field. 
 
A bar for displaying non-blocking messages to the user. 
 
QgsSearchWidgetWrapper * createSearchWidget(QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const override
By default a simple QgsFilterLineEdit is returned as search widget. 
 
Map canvas is a class for displaying all GIS data types on a canvas. 
 
QList< QgsRelation > referencingRelations(int idx) const
Returns the layer's relations, where the foreign key is on this layer. 
 
QgsRelationReferenceFactory(const QString &name, QgsMapCanvas *canvas, QgsMessageBar *messageBar)
 
Represents a vector layer which manages a vector based data sets. 
 
QgsEditorWidgetWrapper * create(QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent) const override
Override this in your implementation.