17#include "moc_qgsmapviewsmanager.cpp"
33 QDomElement elem3DMaps = element.firstChildElement( QStringLiteral(
"mapViewDocks3D" ) );
34 if ( !elem3DMaps.isNull() )
36 QDomElement elem3DMap = elem3DMaps.firstChildElement( QStringLiteral(
"view" ) );
37 while ( !elem3DMap.isNull() )
39 QString mapName = elem3DMap.attribute( QStringLiteral(
"name" ) );
40 m3DMapViewsDom.insert( mapName, elem3DMap );
42 elem3DMap = elem3DMap.nextSiblingElement( QStringLiteral(
"view" ) );
51 QDomElement dom = doc.createElement(
"mapViewDocks3D" );
52 for ( QDomElement d : m3DMapViewsDom )
59 m3DMapViewsDom.clear();
65 return m3DMapViewsDom.value( name, QDomElement() );
70 return m3DMapViewsDom.values();
75 m3DMapViewsDom.insert( name, dom );
81 return m3DMapViewsDom.keys();
86 m3DMapViewsDom.remove( name );
92 QDomElement elem = m3DMapViewsDom.value( oldTitle );
93 m3DMapViewsDom.remove( oldTitle );
94 m3DMapViewsDom[ newTitle ] = elem;
95 m3DMapViewsDom[ newTitle ].setAttribute( QStringLiteral(
"name" ), newTitle );
101 if ( m3DMapViewsDom.contains( name ) )
103 m3DMapViewsDom[ name ].setAttribute( QStringLiteral(
"isOpen" ), visible );
109 return m3DMapViewsDom.value( name, QDomElement() ).attribute( QStringLiteral(
"isOpen" ), QStringLiteral(
"1" ) ).toInt() == 1;
bool is3DViewOpen(const QString &name)
Returns whether the 3D view named name will is opened.
QDomElement writeXml(QDomDocument &doc) const
Returns a DOM element representing the state of the manager.
void remove3DView(const QString &name)
Removes the configuration of the 3D view named name.
void clear()
Removes and deletes all views from the manager.
QStringList get3DViewsNames() const
Returns the names of all 3D views added to the manager.
void rename3DView(const QString &oldTitle, const QString &newTitle)
Renames the 3D view named oldTitle to newTitle.
QList< QDomElement > get3DViews() const
Returns the list of configurations of 3D views added to the manager.
void views3DListChanged()
Emitted when the views list has changed (whenever a view was removed, added, renamed....
bool readXml(const QDomElement &element, const QDomDocument &doc)
Reads the manager's state from a DOM element, restoring all views present in the XML document.
void register3DViewSettings(const QString &name, const QDomElement &dom)
Adds a new 3D view named name to the manager with the configuration DOM dom.
QgsMapViewsManager(QgsProject *project)
Constructor for QgsMapViewsManager.
void set3DViewInitiallyVisible(const QString &name, bool visible)
Sets whether the 3D view named name will be initially visible when the project is opened.
QDomElement get3DViewSettings(const QString &name) const
Returns the DOM element representing the settings of the 3D view named name.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
static QgsProject * instance()
Returns the QgsProject singleton instance.
The class is used as a container of context for various read/write operations on other objects.
void setPathResolver(const QgsPathResolver &resolver)
Sets up path resolver for conversion between relative and absolute paths.