[QGIS Commit] r9714 - in branches/vector_overlay_branch/src: core plugins/diagram_overlay

svn_qgis at osgeo.org svn_qgis at osgeo.org
Fri Nov 28 04:55:09 EST 2008


Author: mhugent
Date: 2008-11-28 04:55:09 -0500 (Fri, 28 Nov 2008)
New Revision: 9714

Modified:
   branches/vector_overlay_branch/src/core/qgsmaprenderer.cpp
   branches/vector_overlay_branch/src/core/qgspalobjectpositionmanager.cpp
   branches/vector_overlay_branch/src/core/qgsvectoroverlay.h
   branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.cpp
   branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.h
Log:
Pass render context as parameter to create overlay objects

Modified: branches/vector_overlay_branch/src/core/qgsmaprenderer.cpp
===================================================================
--- branches/vector_overlay_branch/src/core/qgsmaprenderer.cpp	2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/core/qgsmaprenderer.cpp	2008-11-28 09:55:09 UTC (rev 9714)
@@ -368,7 +368,7 @@
             {
                 if((*overlayIt)->displayFlag())
                 {
-                    (*overlayIt)->createOverlayObjects(mRenderContext.extent());
+                    (*overlayIt)->createOverlayObjects(mRenderContext);
                     allOverlayList.push_back(*overlayIt);
                 }
             }

Modified: branches/vector_overlay_branch/src/core/qgspalobjectpositionmanager.cpp
===================================================================
--- branches/vector_overlay_branch/src/core/qgspalobjectpositionmanager.cpp	2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/core/qgspalobjectpositionmanager.cpp	2008-11-28 09:55:09 UTC (rev 9714)
@@ -99,7 +99,9 @@
   QgsRectangle viewExtent = renderContext.extent();
   double bbox[4]; bbox[0] = viewExtent.xMinimum(); bbox[1] = viewExtent.yMinimum(); bbox[2] = viewExtent.xMaximum(); bbox[3] = viewExtent.yMaximum();
   pal::PalStat* stat = 0;
+  qWarning("**********************************starting calculation of overlay positions*****************************");
   std::list<pal::Label*>* resultLabelList = mPositionEngine.labeller(renderContext.rendererScale(), bbox, &stat, true);
+  qWarning("**********************************calculation of overlay positions finished*****************************");
   delete stat;
 
   //and read the positions back to the overlay objects
@@ -119,13 +121,9 @@
       continue;
     }
 
-      //print out coordinates of position
-      qWarning("x, y:");
       //QGIS takes the coordinates of the middle points
       double x = ((*labelIt)->getX(0) + (*labelIt)->getX(1) + (*labelIt)->getX(2) + (*labelIt)->getX(3)) / 4;
       double y = ((*labelIt)->getY(0) + (*labelIt)->getY(1) + (*labelIt)->getY(2) + (*labelIt)->getY(3)) / 4;
-      //qWarning(QString::number(x).toLocal8Bit().data());
-      //qWarning(QString::number(y).toLocal8Bit().data());
       currentOverlayObject->addPosition(QgsPoint(x, y));
     }
 }

Modified: branches/vector_overlay_branch/src/core/qgsvectoroverlay.h
===================================================================
--- branches/vector_overlay_branch/src/core/qgsvectoroverlay.h	2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/core/qgsvectoroverlay.h	2008-11-28 09:55:09 UTC (rev 9714)
@@ -33,7 +33,7 @@
         virtual ~QgsVectorOverlay();
 
         /**Create the overlay objects contained in a view extent. Subclasses need to implement this method and assign                   width/height information to the overlay ovbjects*/
-        virtual void createOverlayObjects(const QgsRectangle& viewExtent) = 0;
+        virtual void createOverlayObjects(const QgsRenderContext& renderContext) = 0;
 
         /**Remove the overlay objects and release their memory*/
         void removeOverlayObjects();

Modified: branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.cpp
===================================================================
--- branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.cpp	2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.cpp	2008-11-28 09:55:09 UTC (rev 9714)
@@ -48,7 +48,7 @@
   mDiagramRenderer = r;
 }
 
-void QgsDiagramOverlay::createOverlayObjects(const QgsRectangle& viewExtent)
+void QgsDiagramOverlay::createOverlayObjects(const QgsRenderContext& renderContext)
 {
   //memory cleanup
   for(QMap<int, QgsOverlayObject*>::iterator it = mOverlayObjects.begin(); it != mOverlayObjects.end(); ++it)
@@ -64,7 +64,7 @@
       if(theProvider)
 	{
 	  //set spatial filter on data provider
-	  theProvider->select(mAttributes, viewExtent);
+      theProvider->select(mAttributes, renderContext.extent());
 
 	  QgsFeature currentFeature;
 	  int width, height;

Modified: branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.h
===================================================================
--- branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.h	2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.h	2008-11-28 09:55:09 UTC (rev 9714)
@@ -28,7 +28,7 @@
  public:
   QgsDiagramOverlay(QgsVectorLayer* vl);
   ~QgsDiagramOverlay();
-  void createOverlayObjects(const QgsRectangle& viewExtent);
+  void createOverlayObjects(const QgsRenderContext& renderContext);
   void drawOverlayObjects(QgsRenderContext& context) const;
 
   //setters and getters



More information about the QGIS-commit mailing list