QGIS API Documentation  3.4.15-Madeira (e83d02e274)
qgsexternalresourcewidgetfactory.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgsexternalresourcewidgetfactory.cpp
3 
4  ---------------------
5  begin : 16.12.2015
6  copyright : (C) 2015 by Denis Rouzaud
7  email : [email protected]
8  ***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 
18 #include "qgsfilewidget.h"
21 
23  : QgsEditorWidgetFactory( name )
24 {
25 }
26 
27 QgsEditorWidgetWrapper *QgsExternalResourceWidgetFactory::create( QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent ) const
28 {
29  return new QgsExternalResourceWidgetWrapper( vl, fieldIdx, editor, parent );
30 }
31 
33 {
34  return new QgsExternalResourceConfigDlg( vl, fieldIdx, parent );
35 }
36 
37 unsigned int QgsExternalResourceWidgetFactory::fieldScore( const QgsVectorLayer *vl, int fieldIdx ) const
38 {
39  if ( vl->fields().at( fieldIdx ).type() == QVariant::String )
40  return 5;
41 
42  return 0;
43 }
This class should be subclassed for every configurable editor widget type.
Manages an editor widget Widget and wrapper share the same parent.
QgsField at(int i) const
Gets field at particular index (must be in range 0..N-1)
Definition: qgsfields.cpp:163
QgsEditorConfigWidget * configWidget(QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const override
Override this in your implementation.
QgsFields fields() const FINAL
Returns the list of fields of this layer.
Every attribute editor widget needs a factory, which inherits this class.
unsigned int fieldScore(const QgsVectorLayer *vl, int fieldIdx) const override
This method allows disabling this editor widget type for a certain field.
QgsEditorWidgetWrapper * create(QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent) const override
Override this in your implementation.
Represents a vector layer which manages a vector based data sets.
QVariant::Type type
Definition: qgsfield.h:55