26 #include <QDomDocument>
27 #include <QDomElement>
47 int numRows = rowCount();
49 for (
int i = 0; i < numRows; ++i )
97 QDomElement vectorClassElem = doc.createElement(
"VectorClassificationItem" );
102 vectorClassElem.setAttribute(
"text", text() );
103 vectorClassElem.setAttribute(
"layerId",
mLayerID );
105 elem.appendChild( vectorClassElem );
110 if ( itemElem.isNull() )
114 setText( itemElem.attribute(
"text",
"" ) );
115 setLayerID( itemElem.attribute(
"layerId",
"" ) );
120 QDomElement symbolElem = itemElem.firstChildElement(
"symbol" );
121 if ( !symbolElem.isNull() )
124 symbol->
readXML( symbolElem, vLayer );
126 if ( !xServerAvailable )
132 switch ( symbol->
type() )
188 QDomElement vectorClassElem = doc.createElement(
"VectorClassificationItemNg" );
192 saveSymbolMap.insert(
"classificationSymbol",
mSymbolV2 );
194 vectorClassElem.appendChild( symbolsElem );
196 vectorClassElem.setAttribute(
"text", text() );
197 elem.appendChild( vectorClassElem );
202 if ( itemElem.isNull() )
207 setText( itemElem.attribute(
"text",
"" ) );
208 QDomElement symbolsElem = itemElem.firstChildElement(
"symbols" );
209 if ( !symbolsElem.isNull() )
213 QgsSymbolV2Map::iterator mapIt = loadSymbolMap.begin();
214 if ( mapIt != loadSymbolMap.end() )
220 if ( xServerAvailable )
263 QDomElement rasterClassElem = doc.createElement(
"RasterClassificationItem" );
264 rasterClassElem.setAttribute(
"layerId",
mLayerID );
265 rasterClassElem.setAttribute(
"text", text() );
266 rasterClassElem.setAttribute(
"color",
mColor.name() );
267 elem.appendChild( rasterClassElem );
272 if ( itemElem.isNull() )
276 setText( itemElem.attribute(
"text",
"" ) );
277 setLayerID( itemElem.attribute(
"layerId",
"" ) );
278 setColor( QColor( itemElem.attribute(
"color" ) ) );
280 if ( xServerAvailable )
282 QPixmap itemPixmap( 20, 20 );
283 itemPixmap.fill(
mColor );
284 setIcon( QIcon( itemPixmap ) );
312 QDomElement layerItemElem = doc.createElement(
"LayerItem" );
313 layerItemElem.setAttribute(
"layerId",
mLayerID );
314 layerItemElem.setAttribute(
"text", text() );
316 elem.appendChild( layerItemElem );
321 if ( itemElem.isNull() )
325 setText( itemElem.attribute(
"text",
"" ) );
326 setLayerID( itemElem.attribute(
"layerId",
"" ) );
329 QDomNodeList childList = itemElem.childNodes();
330 QDomNode currentNode;
331 QDomElement currentElem;
334 int nChildItems = childList.count();
335 for (
int i = 0; i < nChildItems; ++i )
337 currentNode = childList.at( i );
338 if ( !currentNode.isElement() )
343 currentElem = currentNode.toElement();
344 QString elemTag = currentElem.tagName();
345 if ( elemTag ==
"VectorClassificationItem" )
349 else if ( elemTag ==
"VectorClassificationItemNg" )
353 else if ( elemTag ==
"RasterClassificationItem" )
361 currentChildItem->
readXML( currentElem, xServerAvailable );
362 appendRow( currentChildItem );
389 QDomElement layerGroupElem = doc.createElement(
"GroupItem" );
390 layerGroupElem.setAttribute(
"text", text() );
392 elem.appendChild( layerGroupElem );
397 if ( itemElem.isNull() )
401 setText( itemElem.attribute(
"text",
"" ) );
404 QDomNodeList childList = itemElem.childNodes();
405 QDomNode currentNode;
406 QDomElement currentElem;
409 int nChildItems = childList.count();
410 for (
int i = 0; i < nChildItems; ++i )
412 currentNode = childList.at( i );
413 if ( !currentNode.isElement() )
418 currentElem = currentNode.toElement();
419 QString elemTag = currentElem.tagName();
421 if ( elemTag ==
"GroupItem" )
425 else if ( elemTag ==
"LayerItem" )
433 currentChildItem->
readXML( currentElem, xServerAvailable );
434 appendRow( currentChildItem );