21 #include <QDomElement>    22 #include <QTextStream>    26     , mOverriddenOriginalStyle( nullptr )
    34   mCurrentStyle.
clear();
    39   mCurrentStyle = mgrElement.
attribute( 
"current" );
    48     mStyles.
insert( name, style );
    63     mStyles[
name].writeXml( ch );
    70   return mStyles.
keys();
    75   if ( name == mCurrentStyle )
    83   return mStyles.
value( name );
    93   mStyles.
insert( name, style );
   109   if ( mStyles.
count() == 1 )
   113   if ( mCurrentStyle == name )
   117     if ( newCurrent == name )
   118       newCurrent = keys[1]; 
   132   if ( name == mCurrentStyle )
   133     mCurrentStyle = newName;
   135   mStyles[newName] = mStyles[
name];
   143   return mCurrentStyle;
   151   if ( mCurrentStyle == name )
   154   mStyles[mCurrentStyle].readFromLayer( mLayer ); 
   155   mCurrentStyle = 
name;
   156   mStyles[mCurrentStyle].writeToLayer( mLayer );
   157   mStyles[mCurrentStyle].
clear(); 
   166   if ( mOverriddenOriginalStyle )
   176     mStyles[styleDef].writeToLayer( mLayer );
   194   if ( !mOverriddenOriginalStyle )
   201   delete mOverriddenOriginalStyle;
   202   mOverriddenOriginalStyle = 
nullptr;
   214     : mXmlData( xmlData )
   240     QgsDebugMsg( 
"Failed to export style from layer: " + errorMsg );
   254     QgsDebugMsg( 
"Failed to parse XML of previously stored XML data - this should not happen!" );
   261     QgsDebugMsg( 
"Failed to import style to layer: " + errorMsg );
 bool restoreOverrideStyle()
Restore the original store after a call to setOverrideStyle() 
 
void clear()
Remove any stored style data (will get invalid) 
 
QgsMapLayerStyleManager(QgsMapLayer *layer)
Construct a style manager associated with a map layer (must not be null) 
 
Base class for all map layer types. 
 
QStringList styles() const
Return list of all defined style names. 
 
void currentStyleChanged(const QString ¤tName)
Emitted when the current style has been changed. 
 
void styleRenamed(const QString &oldName, const QString &newName)
Emitted when a style has been renamed. 
 
bool contains(const Key &key) const
 
QDomNode appendChild(const QDomNode &newChild)
 
void reset()
Reset the style manager to a basic state - with one default style which is set as current...
 
QString xmlData() const
Return XML content of the style. 
 
void readXml(const QDomElement &styleElement)
Read style configuration (for project file reading) 
 
QString attribute(const QString &name, const QString &defValue) const
 
QDomElement nextSiblingElement(const QString &tagName) const
 
bool isValid() const
Tell whether the style is valid (i.e. there is something stored in it) 
 
QDomElement documentElement() const
 
void styleAdded(const QString &name)
Emitted when a new style has been added. 
 
void readFromLayer(QgsMapLayer *layer)
Store layer's active style information in the instance. 
 
QList< Key > keys() const
 
Stores style information (renderer, transparency, labeling, diagrams etc.) applicable to a map layer...
 
const char * name() const
 
bool removeStyle(const QString &name)
Remove a stored style. 
 
QDomDocument ownerDocument() const
 
void setAttribute(const QString &name, const QString &value)
 
void readXml(const QDomElement &mgrElement)
Read configuration (for project loading) 
 
void styleRemoved(const QString &name)
Emitted when a style has been removed. 
 
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const
 
void triggerRepaint()
Will advice the map canvas (and any other interested party) that this layer requires to be repainted...
 
QgsMapLayerStyle style(const QString &name) const
Return data of a stored style - accessed by its unique name. 
 
virtual bool importNamedStyle(QDomDocument &doc, QString &errorMsg)
Import the properties of this layer from a QDomDocument. 
 
void writeToLayer(QgsMapLayer *layer) const
Apply stored layer's style information to the layer. 
 
bool addStyleFromLayer(const QString &name)
Add style by cloning the current one. 
 
bool blockSignals(bool block)
 
QgsMapLayerStyle()
construct invalid style 
 
QString currentStyle() const
Return name of the current style. 
 
virtual void exportNamedStyle(QDomDocument &doc, QString &errorMsg)
Export the properties of this layer as named style in a QDomDocument. 
 
bool renameStyle(const QString &name, const QString &newName)
Rename a stored style to a different name. 
 
void save(QTextStream &str, int indent) const
 
void writeXml(QDomElement &styleElement) const
Write style configuration (for project file writing) 
 
QDomElement firstChildElement(const QString &tagName) const
 
iterator insert(const Key &key, const T &value)
 
bool addStyle(const QString &name, const QgsMapLayerStyle &style)
Add a style with given name and data. 
 
bool setOverrideStyle(const QString &styleDef)
Temporarily apply a different style to the layer. 
 
QDomElement createElement(const QString &tagName)
 
void writeXml(QDomElement &mgrElement) const
Write configuration (for project saving) 
 
int count(const Key &key) const
 
bool setCurrentStyle(const QString &name)
Set a different style as the current style - will apply it to the layer. 
 
bool setContent(const QByteArray &data, bool namespaceProcessing, QString *errorMsg, int *errorLine, int *errorColumn)
 
const T value(const Key &key) const
 
int remove(const Key &key)