QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgssettingseditorwidgetwrapper.h
Go to the documentation of this file.
1/***************************************************************************
2 qgssettingseditorwidgetwrapper.h
3 --------------------------------------
4 Date : February 2023
5 Copyright : (C) 2023 by Denis Rouzaud
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 QGSSETTINGSEDITORWIDGETWRAPPER_H
17#define QGSSETTINGSEDITORWIDGETWRAPPER_H
18
19#include <QVariant>
20
21#include "qgis_sip.h"
22#include "qgis_gui.h"
23
25
32class GUI_EXPORT QgsSettingsEditorWidgetWrapper : public QObject
33{
34 Q_OBJECT
35 public:
37 static QgsSettingsEditorWidgetWrapper *fromWidget( const QWidget *widget ) SIP_FACTORY;
38
40 QgsSettingsEditorWidgetWrapper( QObject *parent = nullptr );
41
43
48 virtual QString id() const = 0;
49
51 virtual QgsSettingsEditorWidgetWrapper *createWrapper( QObject *parent = nullptr ) const = 0;
52
54 QWidget *createEditor( const QgsSettingsEntryBase *setting, const QStringList &dynamicKeyPartList = QStringList(), QWidget *parent = nullptr );
55
57 bool configureEditor( QWidget *editor, const QgsSettingsEntryBase *setting, const QStringList &dynamicKeyPartList = QStringList() );
58
63 virtual bool setWidgetFromSetting() const = 0;
64
69 virtual bool setSettingFromWidget() const = 0;
70
75 virtual QVariant variantValueFromWidget() const = 0;
76
81 virtual void setWidgetFromVariant( const QVariant &value ) const = 0;
82
83
84 protected:
86 virtual QWidget *createEditorPrivate( QWidget *parent = nullptr ) const = 0;
87
89 virtual bool configureEditorPrivate( QWidget *editor, const QgsSettingsEntryBase *setting ) = 0;
90
92};
93
94
95
96#endif // QGSSETTINGSEDITORWIDGETWRAPPER_H
Base class for settings editor wrappers.
virtual bool setWidgetFromSetting() const =0
Sets the widget value from the setting value The wrapper must be configured before calling this medth...
virtual bool setSettingFromWidget() const =0
Sets the setting value from the widget value The wrapper must be configured before calling this medth...
virtual QgsSettingsEditorWidgetWrapper * createWrapper(QObject *parent=nullptr) const =0
Creates a new instance of the editor wrapper so it can be configured for a widget and a setting.
virtual void setWidgetFromVariant(const QVariant &value) const =0
Sets the value of the widget The wrapper must be configured before calling this medthod.
virtual QWidget * createEditorPrivate(QWidget *parent=nullptr) const =0
Creates the widgets.
virtual bool configureEditorPrivate(QWidget *editor, const QgsSettingsEntryBase *setting)=0
Configures an existing editor widget.
virtual QString id() const =0
This id of the type of settings it handles.
virtual QVariant variantValueFromWidget() const =0
Returns the value from the widget as a variant The wrapper must be configured before calling this med...
virtual ~QgsSettingsEditorWidgetWrapper()=default
Represent settings entry and provides methods for reading and writing settings values.
#define SIP_FACTORY
Definition: qgis_sip.h:76