16#ifndef QGSSETTINGSENTRY_H 
   17#define QGSSETTINGSENTRY_H 
   31static const inline QMetaEnum sSettingsTypeMetaEnum = QMetaEnum::fromType<Qgis::SettingsType>() 
SIP_SKIP;
 
   51      sipType = sipType_QgsSettingsEntryVariant;
 
   53      sipType = sipType_QgsSettingsEntryString;
 
   55      sipType = sipType_QgsSettingsEntryStringList;
 
   57      sipType = sipType_QgsSettingsEntryVariantMap;
 
   59      sipType = sipType_QgsSettingsEntryBool;
 
   61      sipType = sipType_QgsSettingsEntryInteger;
 
   63      sipType = sipType_QgsSettingsEntryDouble;
 
   65      sipType = sipType_QgsSettingsEntryColor;
 
   67      sipType = sipType_QgsSettingsEntryBase;
 
   79    static QStringList dynamicKeyPartToList( 
const QString &dynamicKeyPart );
 
   91                          const QString §ion,
 
   92                          const QVariant &defaultValue = QVariant(),
 
   93                          const QString &description = QString(),
 
   96      , mKey( QStringLiteral( 
"%1/%2" ).arg( section, 
key ) )
 
   97      , mDefaultValue( defaultValue )
 
   98      , mDescription( description )
 
 
  116                          const QVariant &defaultValue = QVariant(),
 
  117                          const QString &description = QString(),
 
  127    virtual QString typeId() const;
 
  133    QString name()
 const {
return mName;}
 
  140    QString 
key( 
const QString &dynamicKeyPart = QString() ) 
const;
 
  147    QString 
key( 
const QStringList &dynamicKeyPartList ) 
const;
 
  158    bool keyIsValid( 
const QString &
key ) 
const;
 
  165    QString definitionKey() 
const;
 
  170    bool hasDynamicKey() 
const;
 
  183    bool exists( 
const QString &dynamicKeyPart = QString() ) 
const;
 
  190    bool exists( 
const QStringList &dynamicKeyPartList ) 
const;
 
  204    void remove( 
const QString &dynamicKeyPart = QString() ) 
const;
 
  211    void remove( 
const QStringList &dynamicKeyPartList ) 
const;
 
  217    Q_DECL_DEPRECATED 
int section() 
const;
 
  225    bool setVariantValue( 
const QVariant &value, 
const QString &dynamicKeyPart = QString() ) 
const;
 
  233    bool setVariantValue( 
const QVariant &value, 
const QStringList &dynamicKeyPartList ) 
const;
 
  236    QVariant valueAsVariant( 
const QString &dynamicKeyPart = QString() ) 
const;
 
  239    QVariant valueAsVariant( 
const QStringList &dynamicKeyPartList ) 
const;
 
  245    QVariant valueAsVariantWithDefaultOverride( 
const QVariant &defaultValueOverride, 
const QString &dynamicKeyPart = QString() ) 
const;
 
  254    QVariant valueAsVariantWithDefaultOverride( 
const QVariant &defaultValueOverride, 
const QStringList &dynamicKeyPartList ) 
const;
 
  260    Q_DECL_DEPRECATED QVariant valueAsVariant( 
const QString &dynamicKeyPart, 
bool useDefaultValueOverride, 
const QVariant &defaultValueOverride ) 
const SIP_DEPRECATED;
 
  266    Q_DECL_DEPRECATED QVariant valueAsVariant( 
const QStringList &dynamicKeyPartList, 
bool useDefaultValueOverride, 
const QVariant &defaultValueOverride ) 
const SIP_DEPRECATED;
 
  272    QVariant defaultValueAsVariant() 
const;
 
  283    QString description() 
const;
 
  290    QVariant formerValueAsVariant( 
const QString &dynamicKeyPart ) 
const;
 
  297    QVariant formerValueAsVariant( 
const QStringList &dynamicKeyPartList ) 
const;
 
  316    bool copyValueFromKey( 
const QString &
key, 
const QStringList &dynamicKeyPartList, 
bool removeSettingAtKey = 
false ) 
const;
 
  324    void copyValueToKey( 
const QString &
key, 
const QStringList &dynamicKeyPartList = QStringList() ) 
const;
 
  334    void copyValueToKeyIfChanged( 
const QString &
key, 
const QStringList &dynamicKeyPartList = QStringList() ) 
const;
 
  357    QString formerValuekey( 
const QStringList &dynamicKeyPartList ) 
const;
 
  359    QString completeKeyPrivate( 
const QString &
key, 
const QStringList &dynamicKeyPartList ) 
const;
 
  364    QVariant mDefaultValue;
 
  365    QString mDescription;
 
  367    mutable bool mHasChanged = 
false;
 
 
  457    bool setValue( 
const T &
value, 
const QString &dynamicKeyPart = QString() )
 const 
 
  468    bool setValue( 
const T &
value, 
const QStringList &dynamicKeyPartList )
 const 
 
  509      return QVariant::fromValue( 
value );
 
 
 
SettingsType
Types of settings entries.
@ Custom
Custom implementation.
QFlags< SettingsOption > SettingsOptions
SettingsOrigin
The setting origin describes where a setting is stored.
Base abstract class for settings entries with typed get and set methods.
QgsSettingsEntryBaseTemplate(const QString &name, QgsSettingsTreeNode *parent, const QVariant &defaultValue, const QString &description=QString(), Qgis::SettingsOptions options=Qgis::SettingsOptions())
Constructor for QgsSettingsEntryByReference.
virtual bool setValuePrivate(const T &value, const QStringList &dynamicKeyPartList) const
Sets the settings value with an optional list of dynamic parts.
T valueWithDefaultOverride(const T &defaultValueOverride, const QString &dynamicKeyPart=QString()) const
Returns the settings value with a defaultValueOverride and with an optional dynamicKeyPart.
T defaultValue() const
Returns settings default value.
virtual T convertFromVariant(const QVariant &value) const =0
Converts the variant value to the value type of the setting.
virtual Qgis::SettingsType settingsType() const override=0
Returns the settings entry type.
T value(const QString &dynamicKeyPart=QString()) const
Returns settings value.
QgsSettingsEntryBaseTemplate(const QString &key, const QString §ion, const QVariant &defaultValue, const QString &description=QString(), Qgis::SettingsOptions options=Qgis::SettingsOptions())
Constructor for QgsSettingsEntryByReference.
virtual QVariant convertToVariant(const T &value) const
Converts the value to a variant.
bool checkValueVariant(const QVariant &value) const override
Returns true if the given value is valid towards the setting definition.
T value(const QStringList &dynamicKeyPartList) const
Returns settings value.
bool setValue(const T &value, const QString &dynamicKeyPart=QString()) const
Set settings value.
bool setValue(const T &value, const QStringList &dynamicKeyPartList) const
Set settings value.
virtual bool checkValuePrivate(const T &value) const
Check if the value is valid.
T formerValue(const QString &dynamicKeyPart=QString()) const
Returns the former value.
T valueWithDefaultOverride(const T &defaultValueOverride, const QStringList &dynamicKeyPartList) const
Returns the settings value with a defaultValueOverride for the dynamicKeyPartList.
T formerValue(const QStringList &dynamicKeyPartList) const
Returns the former value Returns the current value (or default) if there is no former value.
Represents a settings entry and provides methods for reading and writing settings values.
bool copyValueFromKey(const QString &key, bool removeSettingAtKey=false) const
Copies the value from a given key if it exists.
Qgis::SettingsOptions options() const
Returns the settings options.
bool hasChanged() const
Returns true if the setting was changed during the current QGIS session.
QVariant defaultValueAsVariant() const
Returns settings default value.
QString description() const
Returns the settings entry description.
QgsSettingsTreeNode * parent() const
Returns the parent tree element.
Q_DECL_DEPRECATED int section() const
Returns settings section.
virtual bool checkValueVariant(const QVariant &value) const
Returns true if the given value is valid towards the setting definition.
bool setVariantValue(const QVariant &value, const QString &dynamicKeyPart=QString()) const
Set settings value.
QString name() const
Returns the name of the settings.
QVariant formerValueAsVariant(const QString &dynamicKeyPart) const
Returns the former value of the settings if it has been enabled in the options.
QVariant valueAsVariant(const QString &dynamicKeyPart=QString()) const
Returns settings value with.
QString key(const QString &dynamicKeyPart=QString()) const
Returns settings entry key.
static QStringList dynamicKeyPartToList(const QString &dynamicKeyPart)
Transforms a dynamic key part string to list.
QVariant valueAsVariantWithDefaultOverride(const QVariant &defaultValueOverride, const QString &dynamicKeyPart=QString()) const
Returns settings value with a defaultValueOverride.
virtual Qgis::SettingsType settingsType() const
Returns the settings entry type.
QgsSettingsEntryBase(const QString &key, const QString §ion, const QVariant &defaultValue=QVariant(), const QString &description=QString(), Qgis::SettingsOptions options=Qgis::SettingsOptions())
Constructor for QgsSettingsEntryBase.
A boolean settings entry.
An integer settings entry.
A string list settings entry.
A string list settings entry.
A variant settings entry.
Custom exception class for settings related exceptions.
A tree node for the settings tree to help organizing and introspecting the tree.
QString key() const
Returns the key of the node (without its parents)
QgsSettingsTreeNode * parent() const
Returns the parent of the node or nullptr if it does not exists.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
#define SIP_THROW(name,...)