QGIS API Documentation  3.17.0-Master (a035f434f4)
qgsrelationreferencefactory.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsrelationreferencefactory.h
3  --------------------------------------
4  Date : 29.5.2013
5  Copyright : (C) 2013 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 QGSRELATIONREFERENCEFACTORY_H
17 #define QGSRELATIONREFERENCEFACTORY_H
18 
20 #include "qgseditorwidgetfactory.h"
21 #include "qgis_gui.h"
22 
24 
25 class QgsMapCanvas;
26 class QgsMessageBar;
27 
35 {
36  public:
37  QgsRelationReferenceFactory( const QString &name, QgsMapCanvas *canvas, QgsMessageBar *messageBar );
38 
51  QgsEditorWidgetWrapper *create( QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent ) const override;
52 
53  QgsSearchWidgetWrapper *createSearchWidget( QgsVectorLayer *vl, int fieldIdx, QWidget *parent ) const override;
54 
65  QgsEditorConfigWidget *configWidget( QgsVectorLayer *vl, int fieldIdx, QWidget *parent ) const override;
66 
67  QHash<const char *, int> supportedWidgetTypes() override;
68 
69  unsigned int fieldScore( const QgsVectorLayer *vl, int fieldIdx ) const override;
70 
71  private:
72  QgsAttributeEditorContext mEditorContext;
73  QgsMapCanvas *mCanvas = nullptr;
74  QgsMessageBar *mMessageBar = nullptr;
75 };
76 
77 #endif // QGSRELATIONREFERENCEFACTORY_H
Shows a search widget on a filter form.
This class should be subclassed for every configurable editor widget type.
This class contains context information for attribute editor widgets.
Manages an editor widget Widget and wrapper share the same parent.
A bar for displaying non-blocking messages to the user.
Definition: qgsmessagebar.h:60
virtual QHash< const char *, int > supportedWidgetTypes()
Returns a list of widget types which this editor widget supports.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:84
Every attribute editor widget needs a factory, which inherits this class.
#define SIP_NO_FILE
Definition: qgis_sip.h:23
virtual QgsSearchWidgetWrapper * createSearchWidget(QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const
By default a simple QgsFilterLineEdit is returned as search widget.
virtual QgsEditorWidgetWrapper * create(QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent) const =0
Override this in your implementation.
virtual QgsEditorConfigWidget * configWidget(QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const =0
Override this in your implementation.
virtual unsigned int fieldScore(const QgsVectorLayer *vl, int fieldIdx) const
This method allows disabling this editor widget type for a certain field.
Represents a vector layer which manages a vector based data sets.