|
|
|
@ -145,18 +145,16 @@ void QgsLegend::selectAll( bool select )
|
|
|
|
|
bool renderFlagState = mMapCanvas->renderFlag();
|
|
|
|
|
mMapCanvas->setRenderFlag( false );
|
|
|
|
|
|
|
|
|
|
QTreeWidgetItem* theItem = firstItem();
|
|
|
|
|
|
|
|
|
|
while ( theItem )
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
QgsLegendItem* litem = dynamic_cast<QgsLegendItem *>( theItem );
|
|
|
|
|
if ( litem && litem->type() == QgsLegendItem::LEGEND_LAYER_FILE )
|
|
|
|
|
if ( litem && litem->type() == QgsLegendItem::LEGEND_LAYER )
|
|
|
|
|
{
|
|
|
|
|
theItem->setCheckState( 0, ( select ? Qt::Checked : Qt::Unchecked ) );
|
|
|
|
|
handleItemChange( theItem, 0 );
|
|
|
|
|
}
|
|
|
|
|
theItem = nextItem( theItem );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Turn on rendering (if it was on previously)
|
|
|
|
|
mMapCanvas->setRenderFlag( renderFlagState );
|
|
|
|
|
}
|
|
|
|
@ -168,10 +166,9 @@ void QgsLegend::removeLayer( QString layer_key )
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QTreeWidgetItem* theItem = firstItem();
|
|
|
|
|
QgsDebugMsg( "called." );
|
|
|
|
|
|
|
|
|
|
while ( theItem )
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
QgsLegendItem *li = dynamic_cast<QgsLegendItem *>( theItem );
|
|
|
|
|
if ( li )
|
|
|
|
@ -188,7 +185,6 @@ void QgsLegend::removeLayer( QString layer_key )
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
theItem = nextItem( theItem );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
updateMapCanvasLayerSet();
|
|
|
|
@ -468,16 +464,17 @@ void QgsLegend::initPixmaps()
|
|
|
|
|
int QgsLegend::getItemPos( QTreeWidgetItem* item )
|
|
|
|
|
{
|
|
|
|
|
int counter = 1;
|
|
|
|
|
QTreeWidgetItem* theItem = firstItem();
|
|
|
|
|
while ( theItem )
|
|
|
|
|
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
if ( theItem == item )
|
|
|
|
|
{
|
|
|
|
|
return counter;
|
|
|
|
|
}
|
|
|
|
|
theItem = nextItem( theItem );
|
|
|
|
|
|
|
|
|
|
++counter;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -568,6 +565,16 @@ QgsMapLayer* QgsLegend::currentLayer()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool QgsLegend::setCurrentLayer( QgsMapLayer *layer )
|
|
|
|
|
{
|
|
|
|
|
QgsLegendLayer *ll = findLegendLayer( layer );
|
|
|
|
|
if ( !ll )
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
setCurrentItem( ll );
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QgsLegend::legendGroupRemove()
|
|
|
|
|
{
|
|
|
|
|
if ( !mMapCanvas || mMapCanvas->isDrawing() )
|
|
|
|
@ -755,21 +762,17 @@ void QgsLegend::legendLayerShowInOverview()
|
|
|
|
|
|
|
|
|
|
void QgsLegend::expandAll()
|
|
|
|
|
{
|
|
|
|
|
QTreeWidgetItem* theItem = firstItem();
|
|
|
|
|
while ( theItem )
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
setExpanded( indexFromItem( theItem ), true );
|
|
|
|
|
theItem = nextItem( theItem );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QgsLegend::collapseAll()
|
|
|
|
|
{
|
|
|
|
|
QTreeWidgetItem* theItem = firstItem();
|
|
|
|
|
while ( theItem )
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
setExpanded( indexFromItem( theItem ), false );
|
|
|
|
|
theItem = nextItem( theItem );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -784,108 +787,106 @@ bool QgsLegend::writeXML( QDomNode & legendnode, QDomDocument & document )
|
|
|
|
|
QDomElement legendlayerfilenode;
|
|
|
|
|
Qt::CheckState cstate; //check state for legend layers and legend groups
|
|
|
|
|
|
|
|
|
|
QTreeWidgetItem* currentItem = firstItem();
|
|
|
|
|
while ( currentItem )
|
|
|
|
|
for ( QTreeWidgetItem* currentItem = firstItem(); currentItem; currentItem = nextItem( currentItem ) )
|
|
|
|
|
{
|
|
|
|
|
QgsLegendItem *item = dynamic_cast<QgsLegendItem *>( currentItem );
|
|
|
|
|
if ( item )
|
|
|
|
|
if ( !item )
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
switch ( item->type() )
|
|
|
|
|
{
|
|
|
|
|
switch ( item->type() )
|
|
|
|
|
{
|
|
|
|
|
case QgsLegendItem::LEGEND_GROUP:
|
|
|
|
|
//make sure the legendnode is 'legend' again after a legend group
|
|
|
|
|
if ( !( item->parent() ) )
|
|
|
|
|
{
|
|
|
|
|
legendnode = tmplegendnode;
|
|
|
|
|
}
|
|
|
|
|
legendgroupnode = document.createElement( "legendgroup" );
|
|
|
|
|
legendgroupnode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
legendgroupnode.setAttribute( "name", item->text( 0 ) );
|
|
|
|
|
cstate = item->checkState( 0 );
|
|
|
|
|
if ( cstate == Qt::Checked )
|
|
|
|
|
{
|
|
|
|
|
legendgroupnode.setAttribute( "checked", "Qt::Checked" );
|
|
|
|
|
}
|
|
|
|
|
else if ( cstate == Qt::Unchecked )
|
|
|
|
|
{
|
|
|
|
|
legendgroupnode.setAttribute( "checked", "Qt::Unchecked" );
|
|
|
|
|
}
|
|
|
|
|
else if ( cstate == Qt::PartiallyChecked )
|
|
|
|
|
{
|
|
|
|
|
legendgroupnode.setAttribute( "checked", "Qt::PartiallyChecked" );
|
|
|
|
|
}
|
|
|
|
|
legendnode.appendChild( legendgroupnode );
|
|
|
|
|
tmplegendnode = legendnode;
|
|
|
|
|
legendnode = legendgroupnode;
|
|
|
|
|
break;
|
|
|
|
|
case QgsLegendItem::LEGEND_GROUP:
|
|
|
|
|
//make sure the legendnode is 'legend' again after a legend group
|
|
|
|
|
if ( !( item->parent() ) )
|
|
|
|
|
{
|
|
|
|
|
legendnode = tmplegendnode;
|
|
|
|
|
}
|
|
|
|
|
legendgroupnode = document.createElement( "legendgroup" );
|
|
|
|
|
legendgroupnode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
legendgroupnode.setAttribute( "name", item->text( 0 ) );
|
|
|
|
|
cstate = item->checkState( 0 );
|
|
|
|
|
if ( cstate == Qt::Checked )
|
|
|
|
|
{
|
|
|
|
|
legendgroupnode.setAttribute( "checked", "Qt::Checked" );
|
|
|
|
|
}
|
|
|
|
|
else if ( cstate == Qt::Unchecked )
|
|
|
|
|
{
|
|
|
|
|
legendgroupnode.setAttribute( "checked", "Qt::Unchecked" );
|
|
|
|
|
}
|
|
|
|
|
else if ( cstate == Qt::PartiallyChecked )
|
|
|
|
|
{
|
|
|
|
|
legendgroupnode.setAttribute( "checked", "Qt::PartiallyChecked" );
|
|
|
|
|
}
|
|
|
|
|
legendnode.appendChild( legendgroupnode );
|
|
|
|
|
tmplegendnode = legendnode;
|
|
|
|
|
legendnode = legendgroupnode;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case QgsLegendItem::LEGEND_LAYER:
|
|
|
|
|
//make sure the legendnode is 'legend' again after a legend group
|
|
|
|
|
if ( !( item->parent() ) )
|
|
|
|
|
{
|
|
|
|
|
legendnode = tmplegendnode;
|
|
|
|
|
}
|
|
|
|
|
legendlayernode = document.createElement( "legendlayer" );
|
|
|
|
|
legendlayernode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
cstate = item->checkState( 0 );
|
|
|
|
|
if ( cstate == Qt::Checked )
|
|
|
|
|
{
|
|
|
|
|
legendlayernode.setAttribute( "checked", "Qt::Checked" );
|
|
|
|
|
}
|
|
|
|
|
else if ( cstate == Qt::Unchecked )
|
|
|
|
|
{
|
|
|
|
|
legendlayernode.setAttribute( "checked", "Qt::Unchecked" );
|
|
|
|
|
}
|
|
|
|
|
else if ( cstate == Qt::PartiallyChecked )
|
|
|
|
|
{
|
|
|
|
|
legendlayernode.setAttribute( "checked", "Qt::PartiallyChecked" );
|
|
|
|
|
}
|
|
|
|
|
legendlayernode.setAttribute( "name", item->text( 0 ) );
|
|
|
|
|
legendnode.appendChild( legendlayernode );
|
|
|
|
|
case QgsLegendItem::LEGEND_LAYER:
|
|
|
|
|
//make sure the legendnode is 'legend' again after a legend group
|
|
|
|
|
if ( !( item->parent() ) )
|
|
|
|
|
{
|
|
|
|
|
legendnode = tmplegendnode;
|
|
|
|
|
}
|
|
|
|
|
legendlayernode = document.createElement( "legendlayer" );
|
|
|
|
|
legendlayernode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
cstate = item->checkState( 0 );
|
|
|
|
|
if ( cstate == Qt::Checked )
|
|
|
|
|
{
|
|
|
|
|
legendlayernode.setAttribute( "checked", "Qt::Checked" );
|
|
|
|
|
}
|
|
|
|
|
else if ( cstate == Qt::Unchecked )
|
|
|
|
|
{
|
|
|
|
|
legendlayernode.setAttribute( "checked", "Qt::Unchecked" );
|
|
|
|
|
}
|
|
|
|
|
else if ( cstate == Qt::PartiallyChecked )
|
|
|
|
|
{
|
|
|
|
|
legendlayernode.setAttribute( "checked", "Qt::PartiallyChecked" );
|
|
|
|
|
}
|
|
|
|
|
legendlayernode.setAttribute( "name", item->text( 0 ) );
|
|
|
|
|
legendnode.appendChild( legendlayernode );
|
|
|
|
|
|
|
|
|
|
// save the information about layer
|
|
|
|
|
// emulate a legend layer file group and a legend layer file
|
|
|
|
|
// to keep it compatible with older projects
|
|
|
|
|
{
|
|
|
|
|
QgsLegendLayer *ll = dynamic_cast<QgsLegendLayer *>( item );
|
|
|
|
|
QgsMapLayer* layer = ll->layer();
|
|
|
|
|
// save the information about layer
|
|
|
|
|
// emulate a legend layer file group and a legend layer file
|
|
|
|
|
// to keep it compatible with older projects
|
|
|
|
|
{
|
|
|
|
|
QgsLegendLayer *ll = dynamic_cast<QgsLegendLayer *>( item );
|
|
|
|
|
QgsMapLayer* layer = ll->layer();
|
|
|
|
|
|
|
|
|
|
layerfilegroupnode = document.createElement( "filegroup" );
|
|
|
|
|
layerfilegroupnode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
layerfilegroupnode.setAttribute( "hidden", isItemHidden( item ) ? "true" : "false" );
|
|
|
|
|
legendlayernode.appendChild( layerfilegroupnode );
|
|
|
|
|
layerfilegroupnode = document.createElement( "filegroup" );
|
|
|
|
|
layerfilegroupnode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
layerfilegroupnode.setAttribute( "hidden", isItemHidden( item ) ? "true" : "false" );
|
|
|
|
|
legendlayernode.appendChild( layerfilegroupnode );
|
|
|
|
|
|
|
|
|
|
legendlayerfilenode = document.createElement( "legendlayerfile" );
|
|
|
|
|
legendlayerfilenode = document.createElement( "legendlayerfile" );
|
|
|
|
|
|
|
|
|
|
// layer id
|
|
|
|
|
legendlayerfilenode.setAttribute( "layerid", layer->getLayerID() );
|
|
|
|
|
layerfilegroupnode.appendChild( legendlayerfilenode );
|
|
|
|
|
// layer id
|
|
|
|
|
legendlayerfilenode.setAttribute( "layerid", layer->getLayerID() );
|
|
|
|
|
layerfilegroupnode.appendChild( legendlayerfilenode );
|
|
|
|
|
|
|
|
|
|
// visible flag
|
|
|
|
|
legendlayerfilenode.setAttribute( "visible", ll->isVisible() );
|
|
|
|
|
// visible flag
|
|
|
|
|
legendlayerfilenode.setAttribute( "visible", ll->isVisible() );
|
|
|
|
|
|
|
|
|
|
// show in overview flag
|
|
|
|
|
legendlayerfilenode.setAttribute( "isInOverview", ll->isInOverview() );
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
// show in overview flag
|
|
|
|
|
legendlayerfilenode.setAttribute( "isInOverview", ll->isInOverview() );
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case QgsLegendItem::LEGEND_PROPERTY_GROUP:
|
|
|
|
|
legendpropertynode = document.createElement( "propertygroup" );
|
|
|
|
|
legendpropertynode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
legendlayernode.appendChild( legendpropertynode );
|
|
|
|
|
break;
|
|
|
|
|
case QgsLegendItem::LEGEND_PROPERTY_GROUP:
|
|
|
|
|
legendpropertynode = document.createElement( "propertygroup" );
|
|
|
|
|
legendpropertynode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
legendlayernode.appendChild( legendpropertynode );
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case QgsLegendItem::LEGEND_SYMBOL_GROUP:
|
|
|
|
|
legendsymbolnode = document.createElement( "symbolgroup" );
|
|
|
|
|
legendsymbolnode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
legendlayernode.appendChild( legendsymbolnode );
|
|
|
|
|
break;
|
|
|
|
|
case QgsLegendItem::LEGEND_SYMBOL_GROUP:
|
|
|
|
|
legendsymbolnode = document.createElement( "symbolgroup" );
|
|
|
|
|
legendsymbolnode.setAttribute( "open", isItemExpanded( item ) ? "true" : "false" );
|
|
|
|
|
legendlayernode.appendChild( legendsymbolnode );
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default: //do nothing for the leaf nodes
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
default: //do nothing for the leaf nodes
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
currentItem = nextItem( currentItem );
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
@ -1118,8 +1119,7 @@ void QgsLegend::resetToInitialPosition( QTreeWidgetItem* li )
|
|
|
|
|
QgsLegendLayer* QgsLegend::findLegendLayer( const QString& layerKey )
|
|
|
|
|
{
|
|
|
|
|
QgsLegendLayer* theLegendLayer = 0;
|
|
|
|
|
QTreeWidgetItem* theItem = firstItem();
|
|
|
|
|
do
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
theLegendLayer = dynamic_cast<QgsLegendLayer *>( theItem );
|
|
|
|
|
if ( theLegendLayer ) //item is a legend layer
|
|
|
|
@ -1130,10 +1130,29 @@ QgsLegendLayer* QgsLegend::findLegendLayer( const QString& layerKey )
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
while (( theItem = nextItem( theItem ) ) );
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QgsLegendLayer* QgsLegend::findLegendLayer( const QgsMapLayer *layer )
|
|
|
|
|
{
|
|
|
|
|
QgsLegendLayer* theLegendLayer = 0;
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
theLegendLayer = dynamic_cast<QgsLegendLayer *>( theItem );
|
|
|
|
|
if ( theLegendLayer ) //item is a legend layer
|
|
|
|
|
{
|
|
|
|
|
if ( theLegendLayer->layer() == layer )
|
|
|
|
|
{
|
|
|
|
|
return theLegendLayer;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void QgsLegend::adjustIconSize()
|
|
|
|
|
{
|
|
|
|
|
if ( mPixmapWidthValues.size() > 0 && mPixmapHeightValues.size() > 0 )
|
|
|
|
@ -1338,17 +1357,15 @@ void QgsLegend::updateMapCanvasLayerSet()
|
|
|
|
|
QList<QgsMapCanvasLayer> layers;
|
|
|
|
|
|
|
|
|
|
// create list of the layers
|
|
|
|
|
QTreeWidgetItem* theItem = firstItem();
|
|
|
|
|
while ( theItem )
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
QgsLegendItem *li = dynamic_cast<QgsLegendItem *>( theItem );
|
|
|
|
|
QgsLegendLayer* ll = qobject_cast<QgsLegendLayer *>( li );
|
|
|
|
|
QgsLegendLayer *ll = qobject_cast<QgsLegendLayer *>( li );
|
|
|
|
|
if ( ll )
|
|
|
|
|
{
|
|
|
|
|
QgsMapCanvasLayer& lyr = ll->canvasLayer();
|
|
|
|
|
layers.append( lyr );
|
|
|
|
|
}
|
|
|
|
|
theItem = nextItem( theItem );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// set layers in canvas
|
|
|
|
@ -1362,15 +1379,14 @@ void QgsLegend::updateOverview()
|
|
|
|
|
|
|
|
|
|
void QgsLegend::enableOverviewModeAllLayers( bool isInOverview )
|
|
|
|
|
{
|
|
|
|
|
QTreeWidgetItem* theItem = firstItem();
|
|
|
|
|
while ( theItem )
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer *>( theItem );
|
|
|
|
|
if ( ll )
|
|
|
|
|
{
|
|
|
|
|
ll->setInOverview( isInOverview );
|
|
|
|
|
}
|
|
|
|
|
theItem = nextItem( theItem );
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
updateMapCanvasLayerSet();
|
|
|
|
|
updateOverview();
|
|
|
|
@ -1379,8 +1395,7 @@ void QgsLegend::enableOverviewModeAllLayers( bool isInOverview )
|
|
|
|
|
std::deque<QString> QgsLegend::layerIDs()
|
|
|
|
|
{
|
|
|
|
|
std::deque<QString> layers;
|
|
|
|
|
QTreeWidgetItem* theItem = firstItem();
|
|
|
|
|
while ( theItem )
|
|
|
|
|
for ( QTreeWidgetItem* theItem = firstItem(); theItem; theItem = nextItem( theItem ) )
|
|
|
|
|
{
|
|
|
|
|
QgsLegendItem *li = dynamic_cast<QgsLegendItem *>( theItem );
|
|
|
|
|
QgsLegendLayer* ll = qobject_cast<QgsLegendLayer *>( li );
|
|
|
|
@ -1389,7 +1404,6 @@ std::deque<QString> QgsLegend::layerIDs()
|
|
|
|
|
QgsMapLayer *lyr = ll->layer();
|
|
|
|
|
layers.push_front( lyr->getLayerID() );
|
|
|
|
|
}
|
|
|
|
|
theItem = nextItem( theItem );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifdef QGISDEBUG
|
|
|
|
@ -1581,7 +1595,7 @@ void QgsLegend::makeToTopLevelItem()
|
|
|
|
|
|
|
|
|
|
void QgsLegend::legendLayerZoom()
|
|
|
|
|
{
|
|
|
|
|
if(!mMapCanvas)
|
|
|
|
|
if ( !mMapCanvas )
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -1595,12 +1609,12 @@ void QgsLegend::legendLayerZoom()
|
|
|
|
|
QgsRectangle extent = theLayer->extent();
|
|
|
|
|
|
|
|
|
|
//transform extent if otf-projection is on
|
|
|
|
|
if(mMapCanvas->hasCrsTransformEnabled())
|
|
|
|
|
if ( mMapCanvas->hasCrsTransformEnabled() )
|
|
|
|
|
{
|
|
|
|
|
QgsMapRenderer* renderer = mMapCanvas->mapRenderer();
|
|
|
|
|
if(renderer)
|
|
|
|
|
if ( renderer )
|
|
|
|
|
{
|
|
|
|
|
extent = renderer->layerExtentToOutputExtent(theLayer, extent);
|
|
|
|
|
extent = renderer->layerExtentToOutputExtent( theLayer, extent );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|