Quantum GIS API Documentation
1.7.4
|
00001 /*************************************************************************** 00002 qgspalobjectpositionmanager.h - description 00003 --------------------------------- 00004 begin : October 2008 00005 copyright : (C) 2008 by Marco Hugentobler 00006 email : marco dot hugentobler at karto dot baug dot ethz dot ch 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef QGSPALOBJECTPOSITIONMANAGER_H 00019 #define QGSPALOBJECTPOSITIONMANAGER_H 00020 00021 #include "qgsoverlayobjectpositionmanager.h" 00022 #include "pal.h" 00023 00024 class QgsPALGeometry; 00025 00029 class QgsPALObjectPositionManager: public QgsOverlayObjectPositionManager 00030 { 00031 public: 00032 QgsPALObjectPositionManager(); 00033 ~QgsPALObjectPositionManager(); 00034 void addLayer( QgsVectorLayer* vl, QList<QgsVectorOverlay*>& overlays ); 00035 void findObjectPositions( const QgsRenderContext& renderContext, QGis::UnitType unitType ); 00036 void removeLayers(); 00037 00040 void setPlacementAlgorithm( const QString& algorithmName ); 00041 00042 private: 00043 pal::Pal mPositionEngine; 00044 int mNumberOfLayers; 00046 QList<QgsPALGeometry*> mPALGeometries; 00047 00048 void deletePALGeometries(); 00049 }; 00050 #endif