/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/settings/qgssettingseditorwidgetwrapperimpl.h                *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/








template<T,V,U>
class QgsSettingsEditorWidgetWrapperTemplate : QgsSettingsEditorWidgetWrapper
{
%Docstring(signature="appended")
This class is a base factory of editor for settings

.. versionadded:: 3.32
%End

%TypeHeaderCode
#include "qgssettingseditorwidgetwrapperimpl.h"
%End
  public:
    QgsSettingsEditorWidgetWrapperTemplate( QObject *parent = 0 );
%Docstring
Constructor
%End
    virtual QString id() const = 0;

    virtual bool setWidgetFromSetting() const;

    virtual bool setSettingFromWidget() const = 0;

    virtual bool setWidgetFromVariant( const QVariant &value ) const;

    virtual bool setWidgetValue( const U &value ) const = 0;
%Docstring
Sets the widget value
%End

    virtual QVariant variantValueFromWidget() const;

    virtual U valueFromWidget() const = 0;
%Docstring
Returns the widget value
%End

    V *editor() const;
%Docstring
Returns the editor
%End

    const T *setting() const;
%Docstring
Returns the setting
%End

    virtual QgsSettingsEditorWidgetWrapper *createWrapper( QObject *parent = 0 ) const = 0;

  protected:
    virtual QWidget *createEditorPrivate( QWidget *parent = 0 ) const;

    virtual bool configureEditorPrivate( QWidget *editor, const QgsSettingsEntryBase *setting );

    virtual void configureEditorPrivateImplementation();
%Docstring
To be re-implemented to implemeent type specific configuration (e.g.
opacity for colors)
%End

};



typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryString,QLineEdit,QString> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryStringQLineEditQStringBase;

class QgsSettingsStringLineEditWrapper : QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryStringQLineEditQStringBase
{
%Docstring(signature="appended")
This class is a factory of editor for string settings with a line edit

.. versionadded:: 3.32
%End

%TypeHeaderCode
#include "qgssettingseditorwidgetwrapperimpl.h"
typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryString,QLineEdit,QString> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryStringQLineEditQStringBase;
%End
  public:
    QgsSettingsStringLineEditWrapper( QObject *parent = 0 );
%Docstring
Constructor of the factory
%End

    QgsSettingsStringLineEditWrapper( QWidget *editor, const QgsSettingsEntryBase *setting, const QStringList &dynamicKeyPartList = QStringList() );
%Docstring
Constructor of the wrapper for a given ``setting`` and its widget
``editor``
%End


    virtual QgsSettingsEditorWidgetWrapper *createWrapper( QObject *parent = 0 ) const;

    virtual QString id() const;


    virtual bool setSettingFromWidget() const;


    virtual QString valueFromWidget() const;


    virtual bool setWidgetValue( const QString &value ) const;


    virtual void enableAutomaticUpdatePrivate();

};



typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryString,QComboBox,QString> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryStringQComboBoxQStringBase;

class QgsSettingsStringComboBoxWrapper : QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryStringQComboBoxQStringBase
{
%Docstring(signature="appended")
This class is a factory of editor for string settings with a combo box

.. versionadded:: 3.40
%End

%TypeHeaderCode
#include "qgssettingseditorwidgetwrapperimpl.h"
typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryString,QComboBox,QString> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryStringQComboBoxQStringBase;
%End
  public:
    enum class Mode /BaseType=IntEnum/
    {
      Text,
      Data
    };

    QgsSettingsStringComboBoxWrapper( QObject *parent = 0 );
%Docstring
Constructor of the factory
%End

    QgsSettingsStringComboBoxWrapper( QWidget *editor, const QgsSettingsEntryBase *setting, const QStringList &dynamicKeyPartList = QStringList() );
%Docstring
Constructor of the wrapper for a given ``setting`` and its widget
``editor``
%End

    QgsSettingsStringComboBoxWrapper( QWidget *editor, const QgsSettingsEntryBase *setting, Mode mode, const QStringList &dynamicKeyPartList = QStringList() );
%Docstring
Constructor of the wrapper for a given ``setting`` and its widget
``editor``
%End

    virtual QgsSettingsEditorWidgetWrapper *createWrapper( QObject *parent = 0 ) const;

    virtual QString id() const;


    virtual bool setSettingFromWidget() const;


    virtual QString valueFromWidget() const;


    virtual bool setWidgetValue( const QString &value ) const;


    virtual void enableAutomaticUpdatePrivate();


};



typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryBool,QCheckBox,bool> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryBoolQCheckBoxboolBase;

class QgsSettingsBoolCheckBoxWrapper : QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryBoolQCheckBoxboolBase
{
%Docstring(signature="appended")
This class is a factory of editor for boolean settings with a checkbox

.. versionadded:: 3.32
%End

%TypeHeaderCode
#include "qgssettingseditorwidgetwrapperimpl.h"
typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryBool,QCheckBox,bool> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryBoolQCheckBoxboolBase;
%End
  public:
    QgsSettingsBoolCheckBoxWrapper( QObject *parent = 0 );
%Docstring
Constructor of the factory
%End

    QgsSettingsBoolCheckBoxWrapper( QWidget *editor, const QgsSettingsEntryBase *setting, const QStringList &dynamicKeyPartList = QStringList() );
%Docstring
Constructor of the wrapper for a given ``setting`` and its widget
``editor``
%End

    virtual QgsSettingsEditorWidgetWrapper *createWrapper( QObject *parent = 0 ) const;

    virtual QString id() const;


    virtual bool setSettingFromWidget() const;


    virtual bool valueFromWidget() const;


    virtual bool setWidgetValue( const bool &value ) const;


    virtual void enableAutomaticUpdatePrivate();

};


typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryInteger,QSpinBox,int> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryIntegerQSpinBoxintBase;

class QgsSettingsIntegerSpinBoxWrapper : QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryIntegerQSpinBoxintBase
{
%Docstring(signature="appended")
This class is a factory of editor for integer settings with a spin box

.. versionadded:: 3.32
%End

%TypeHeaderCode
#include "qgssettingseditorwidgetwrapperimpl.h"
typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryInteger,QSpinBox,int> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryIntegerQSpinBoxintBase;
%End
  public:
    QgsSettingsIntegerSpinBoxWrapper( QObject *parent = 0 );
%Docstring
Constructor of the factory
%End

    QgsSettingsIntegerSpinBoxWrapper( QWidget *editor, const QgsSettingsEntryBase *setting, const QStringList &dynamicKeyPartList = QStringList() );
%Docstring
Constructor of the wrapper for a given ``setting`` and its widget
``editor``
%End

    virtual QgsSettingsEditorWidgetWrapper *createWrapper( QObject *parent = 0 ) const;

    virtual QString id() const;


    virtual bool setSettingFromWidget() const;


    virtual int valueFromWidget() const;


    virtual bool setWidgetValue( const int &value ) const;


    virtual void enableAutomaticUpdatePrivate();

};



typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryDouble,QDoubleSpinBox,double> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryDoubleQDoubleSpinBoxdoubleBase;

class QgsSettingsDoubleSpinBoxWrapper : QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryDoubleQDoubleSpinBoxdoubleBase
{
%Docstring(signature="appended")
This class is a factory of editor for double settings with a double spin
box

.. versionadded:: 3.32
%End

%TypeHeaderCode
#include "qgssettingseditorwidgetwrapperimpl.h"
typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryDouble,QDoubleSpinBox,double> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryDoubleQDoubleSpinBoxdoubleBase;
%End
  public:
    QgsSettingsDoubleSpinBoxWrapper( QObject *parent = 0 );
%Docstring
Constructor of the factory
%End

    QgsSettingsDoubleSpinBoxWrapper( QWidget *editor, const QgsSettingsEntryBase *setting, const QStringList &dynamicKeyPartList = QStringList() );
%Docstring
Constructor of the wrapper for a given ``setting`` and its widget
``editor``
%End

    virtual QgsSettingsEditorWidgetWrapper *createWrapper( QObject *parent = 0 ) const;

    virtual QString id() const;


    virtual bool setSettingFromWidget() const;


    virtual double valueFromWidget() const;


    virtual bool setWidgetValue( const double &value ) const;


    virtual void enableAutomaticUpdatePrivate();

};



typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryColor,QgsColorButton,QColor> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryColorQgsColorButtonQColorBase;

class QgsSettingsColorButtonWrapper : QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryColorQgsColorButtonQColorBase
{
%Docstring(signature="appended")
This class is a factory of editor for color settings with a color button

.. versionadded:: 3.32
%End

%TypeHeaderCode
#include "qgssettingseditorwidgetwrapperimpl.h"
typedef QgsSettingsEditorWidgetWrapperTemplate<QgsSettingsEntryColor,QgsColorButton,QColor> QgsSettingsEditorWidgetWrapperTemplateQgsSettingsEntryColorQgsColorButtonQColorBase;
%End
  public:
    QgsSettingsColorButtonWrapper( QObject *parent = 0 );
%Docstring
Constructor of the factory
%End

    QgsSettingsColorButtonWrapper( QWidget *editor, const QgsSettingsEntryBase *setting, const QStringList &dynamicKeyPartList = QStringList() );
%Docstring
Constructor of the wrapper for a given ``setting`` and its widget
``editor``
%End

    virtual QgsSettingsEditorWidgetWrapper *createWrapper( QObject *parent = 0 ) const;

    virtual QString id() const;


    virtual bool setSettingFromWidget() const;


    virtual QColor valueFromWidget() const;


    virtual bool setWidgetValue( const QColor &value ) const;


    virtual void configureEditorPrivateImplementation();


    virtual void enableAutomaticUpdatePrivate();

};









/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/settings/qgssettingseditorwidgetwrapperimpl.h                *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
