Skip to content

Commit 9533cb2

Browse files
author
wonder
committedMar 3, 2007
Changed deque<QString> to QStringList in QgsMapRender, updated canvas and bindings appropriately.
git-svn-id: http://svn.osgeo.org/qgis/trunk@6749 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 82eb679 commit 9533cb2

File tree

7 files changed

+33
-50
lines changed

7 files changed

+33
-50
lines changed
 

‎python/core/qgsmaprender.sip

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,10 @@ class QgsMapRender : QObject
7272
QgsRect fullExtent();
7373

7474
//! returns current layer set
75-
// TODO: wrap
76-
//std::deque<QString>& layerSet();
75+
QStringList& layerSet();
7776

7877
//! change current layer set
79-
// TODO: wrap
80-
//void setLayerSet(const std::deque<QString>& layers);
81-
82-
//!Overloaded version of above menthod to change current layer set
83-
void setLayerSet(const QStringList layers);
78+
void setLayerSet(const QStringList& layers);
8479

8580
//! updates extent of the layer set
8681
void updateFullExtent();

‎python/gui/qgsmapoverviewcanvas.sip

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ class QgsMapOverviewCanvas : QWidget
2020
void setbgColor(const QColor& color);
2121

2222
//! updates layer set for overview
23-
// TODO void setLayerSet(std::deque<QString>& layerSet);
23+
void setLayerSet(const QStringList& layerSet);
2424

25-
// TODO std::deque<QString>& layerSet();
25+
QStringList& layerSet();
2626

2727
void enableAntiAliasing(bool flag);
2828

‎src/core/qgsmaprender.cpp

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -213,11 +213,14 @@ void QgsMapRender::render(QPainter* painter)
213213
#endif
214214

215215
// render all layers in the stack, starting at the base
216-
std::deque<QString>::reverse_iterator li = mLayerSet.rbegin();
216+
QListIterator<QString> li(mLayerSet);
217+
li.toBack();
217218

218-
while (li != mLayerSet.rend())
219+
while (li.hasPrevious())
219220
{
220-
QgsDebugMsg("Rendering at layer item " + (*li));
221+
QString layerId = li.previous();
222+
223+
QgsDebugMsg("Rendering at layer item " + layerId);
221224

222225
// This call is supposed to cause the progress bar to
223226
// advance. However, it seems that updating the progress bar is
@@ -228,12 +231,11 @@ void QgsMapRender::render(QPainter* painter)
228231
QgsDebugMsg("If there is a QPaintEngine error here, it is caused by an emit call");
229232

230233
//emit drawingProgress(myRenderCounter++, mLayerSet.size());
231-
QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(*li);
234+
QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(layerId);
232235

233236
if (!ml)
234237
{
235238
QgsLogger::warning("Layer not found in registry!");
236-
li++;
237239
continue;
238240
}
239241

@@ -283,20 +285,20 @@ void QgsMapRender::render(QPainter* painter)
283285
"visibility scale range");
284286
}
285287

286-
li++;
287-
288-
} // while (li != end)
288+
} // while (li.hasPrevious())
289289

290290
QgsDebugMsg("Done rendering map layers");
291291

292292
if (!mOverview)
293293
{
294294
// render all labels for vector layers in the stack, starting at the base
295-
li = mLayerSet.rbegin();
296-
while (li != mLayerSet.rend())
295+
li.toBack();
296+
while (li.hasPrevious())
297297
{
298+
QString layerId = li.previous();
299+
298300
// TODO: emit drawingProgress((myRenderCounter++),zOrder.size());
299-
QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(*li);
301+
QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(layerId);
300302

301303
if (ml && (ml->type() != QgsMapLayer::RASTER))
302304
{
@@ -324,7 +326,6 @@ void QgsMapRender::render(QPainter* painter)
324326
delete ct;
325327
}
326328
}
327-
li++;
328329
}
329330
} // if (!mOverview)
330331

@@ -555,7 +556,7 @@ void QgsMapRender::updateFullExtent()
555556

556557
// iterate through the map layers and test each layers extent
557558
// against the current min and max values
558-
std::deque<QString>::iterator it = mLayerSet.begin();
559+
QStringList::iterator it = mLayerSet.begin();
559560
while(it != mLayerSet.end())
560561
{
561562
QgsMapLayer * lyr = registry->mapLayer(*it);
@@ -587,25 +588,17 @@ QgsRect QgsMapRender::fullExtent()
587588
return mFullExtent;
588589
}
589590

590-
void QgsMapRender::setLayerSet(const std::deque<QString>& layers)
591+
void QgsMapRender::setLayerSet(const QStringList& layers)
591592
{
592593
mLayerSet = layers;
593594
updateFullExtent();
594595
}
595596

596-
void QgsMapRender::setLayerSet(const QStringList layers)
597+
QStringList& QgsMapRender::layerSet()
597598
{
598-
//convert the stringlist to a deque
599-
QListIterator<QString> i(layers);
600-
mLayerSet.clear();
601-
while (i.hasNext())
602-
{
603-
mLayerSet.push_back(i.next());
604-
}
605-
updateFullExtent();
599+
return mLayerSet;
606600
}
607601

608-
609602
bool QgsMapRender::readXML(QDomNode & theNode)
610603
{
611604
QDomNode myNode = theNode.namedItem("units");

‎src/core/qgsmaprender.h

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
#ifndef QGSMAPRENDER_H
1818
#define QGSMAPRENDER_H
1919

20-
#include <deque>
21-
#include <QString>
2220
#include <QStringList>
2321

2422
#include "qgis.h"
@@ -107,13 +105,10 @@ class CORE_EXPORT QgsMapRender : public QObject
107105
QgsRect fullExtent();
108106

109107
//! returns current layer set
110-
std::deque<QString>& layerSet() { return mLayerSet; }
108+
QStringList& layerSet();
111109

112110
//! change current layer set
113-
void setLayerSet(const std::deque<QString>& layers);
114-
115-
//!Overloaded version of above menthod to change current layer set
116-
void setLayerSet(const QStringList layers);
111+
void setLayerSet(const QStringList& layers);
117112

118113
//! updates extent of the layer set
119114
void updateFullExtent();
@@ -189,7 +184,7 @@ class CORE_EXPORT QgsMapRender : public QObject
189184
QgsSpatialRefSys* mDestSRS;
190185

191186
//! stores array of layers to be rendered (identified by string)
192-
std::deque<QString> mLayerSet;
187+
QStringList mLayerSet;
193188

194189
//! full extent of the layer set
195190
QgsRect mFullExtent;

‎src/gui/qgsmapcanvas.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ QgsMapRender* QgsMapCanvas::mapRender()
175175

176176
QgsMapLayer* QgsMapCanvas::getZpos(int index)
177177
{
178-
std::deque<QString>& layers = mMapRender->layerSet();
178+
QStringList& layers = mMapRender->layerSet();
179179
if (index >= 0 && index < (int) layers.size())
180180
return QgsMapLayerRegistry::instance()->mapLayer(layers[index]);
181181
else
@@ -223,7 +223,7 @@ void QgsMapCanvas::setLayerSet(QList<QgsMapCanvasLayer>& layers)
223223
int i;
224224

225225
// create layer set
226-
std::deque<QString> layerSet, layerSetOverview;
226+
QStringList layerSet, layerSetOverview;
227227

228228
for (i = 0; i < layers.size(); i++)
229229
{
@@ -238,7 +238,7 @@ void QgsMapCanvas::setLayerSet(QList<QgsMapCanvasLayer>& layers)
238238
}
239239
}
240240

241-
std::deque<QString>& layerSetOld = mMapRender->layerSet();
241+
QStringList& layerSetOld = mMapRender->layerSet();
242242

243243
bool layerSetChanged = (layerSetOld != layerSet);
244244

@@ -263,7 +263,7 @@ void QgsMapCanvas::setLayerSet(QList<QgsMapCanvasLayer>& layers)
263263

264264
if (mMapOverview)
265265
{
266-
std::deque<QString>& layerSetOvOld = mMapOverview->layerSet();
266+
QStringList& layerSetOvOld = mMapOverview->layerSet();
267267
if (layerSetOvOld != layerSetOverview)
268268
{
269269
mMapOverview->setLayerSet(layerSetOverview);

‎src/gui/qgsmapoverviewcanvas.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ void QgsMapOverviewCanvas::setbgColor(const QColor& color)
269269
setPalette(palette);
270270
}
271271

272-
void QgsMapOverviewCanvas::setLayerSet(std::deque<QString>& layerSet)
272+
void QgsMapOverviewCanvas::setLayerSet(const QStringList& layerSet)
273273
{
274274
mMapRender->setLayerSet(layerSet);
275275
}
@@ -290,7 +290,7 @@ void QgsMapOverviewCanvas::destinationSrsChanged()
290290
mMapRender->setDestinationSrs(srs);
291291
}
292292

293-
std::deque<QString>& QgsMapOverviewCanvas::layerSet()
293+
QStringList& QgsMapOverviewCanvas::layerSet()
294294
{
295295
return mMapRender->layerSet();
296296
}

‎src/gui/qgsmapoverviewcanvas.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
#include <QMouseEvent>
2525
#include <QWheelEvent>
2626
#include <QWidget>
27-
#include <deque>
27+
#include <QStringList>
2828
#include <QPixmap>
2929

3030
class QgsMapCanvas;
@@ -50,9 +50,9 @@ class GUI_EXPORT QgsMapOverviewCanvas : public QWidget
5050
void setbgColor(const QColor& color);
5151

5252
//! updates layer set for overview
53-
void setLayerSet(std::deque<QString>& layerSet);
53+
void setLayerSet(const QStringList& layerSet);
5454

55-
std::deque<QString>& layerSet();
55+
QStringList& layerSet();
5656

5757
void enableAntiAliasing(bool flag) { mAntiAliasing = flag; }
5858

0 commit comments

Comments
 (0)
Please sign in to comment.