QGIS API Documentation  3.23.0-Master (7c4a6de034)
qgsbinarywidgetfactory.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsbinarywidgetfactory.h
3  -----------------------
4  Date : November 2018
5  Copyright : (C) 2018 Nyall Dawson
6  Email : nyall dot dawson at gmail dot com
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 QGSBINARYWIDGETFACTORY_H
17 #define QGSBINARYWIDGETFACTORY_H
18 
19 #include "qgseditorwidgetfactory.h"
20 #include "qgis_gui.h"
21 
22 class QgsMessageBar;
23 
25 
35 {
36  public:
37 
45  explicit QgsBinaryWidgetFactory( const QString &name, QgsMessageBar *messageBar );
46 
47  // QgsEditorWidgetFactory interface
48  public:
49  QgsEditorWidgetWrapper *create( QgsVectorLayer *vl, int fieldIdx, QWidget *editor, QWidget *parent ) const override;
50  QgsEditorConfigWidget *configWidget( QgsVectorLayer *vl, int fieldIdx, QWidget *parent ) const override;
51 
52  unsigned int fieldScore( const QgsVectorLayer *vl, int fieldIdx ) const override;
53 
54  private:
55 
56  QgsMessageBar *mMessageBar = nullptr;
57 };
58 
59 #endif // QGSBINARYWIDGETFACTORY_H
Editor widget factory for binary (BLOB) widgets.
This class should be subclassed for every configurable editor widget type.
Every attribute editor widget needs a factory, which inherits this class.
virtual QgsEditorWidgetWrapper * create(QgsVectorLayer *vl, int fieldIdx, QWidget *editor, 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.
virtual QgsEditorConfigWidget * configWidget(QgsVectorLayer *vl, int fieldIdx, QWidget *parent) const =0
Override this in your implementation.
Manages an editor widget Widget and wrapper share the same parent.
A bar for displaying non-blocking messages to the user.
Definition: qgsmessagebar.h:61
Represents a vector layer which manages a vector based data sets.
#define SIP_NO_FILE