Skip to content

Commit 738faa1

Browse files
author
jef
committedMar 16, 2011
exclude pal headers from API and install qgsdiagramrendererv2.h
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@15511 c8812cc2-4d05-0410-92ff-de0c093fc19c

File tree

12 files changed

+72
-59
lines changed

12 files changed

+72
-59
lines changed
 

‎src/app/qgsmaptoollabel.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "qgsmaplayerregistry.h"
2121
#include "qgsrubberband.h"
2222
#include "qgsvectorlayer.h"
23+
#include "qgsdiagramrendererv2.h"
2324
#include <QMouseEvent>
2425

2526
QgsMapToolLabel::QgsMapToolLabel( QgsMapCanvas* canvas ): QgsMapTool( canvas ), mLabelRubberBand( 0 ), mFeatureRubberBand( 0 ), mFixPointRubberBand( 0 )
@@ -394,11 +395,11 @@ bool QgsMapToolLabel:: diagramMoveable( const QgsMapLayer* ml, int& xCol, int& y
394395
const QgsVectorLayer* vlayer = dynamic_cast<const QgsVectorLayer*>( ml );
395396
if ( vlayer && vlayer->diagramRenderer() )
396397
{
397-
QgsDiagramLayerSettings dls = vlayer->diagramLayerSettings();
398-
if ( dls.xPosColumn >= 0 && dls.yPosColumn >= 0 )
398+
const QgsDiagramLayerSettings *dls = vlayer->diagramLayerSettings();
399+
if ( dls && dls->xPosColumn >= 0 && dls->yPosColumn >= 0 )
399400
{
400-
xCol = dls.xPosColumn;
401-
yCol = dls.yPosColumn;
401+
xCol = dls->xPosColumn;
402+
yCol = dls->yPosColumn;
402403
return true;
403404
}
404405
}

‎src/app/qgsvectorlayerproperties.cpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1628,7 +1628,7 @@ void QgsVectorLayerProperties::initDiagramTab()
16281628
break;
16291629
case QGis::UnknownGeometry:
16301630
case QGis::NoGeometry:
1631-
break;
1631+
break;
16321632
}
16331633
mBackgroundColorButton->setColor( QColor( 255, 255, 255, 255 ) );
16341634
}
@@ -1689,13 +1689,16 @@ void QgsVectorLayerProperties::initDiagramTab()
16891689
}
16901690
}
16911691

1692-
QgsDiagramLayerSettings dls = layer->diagramLayerSettings();
1693-
mDiagramDistanceSpinBox->setValue( dls.dist );
1694-
mPrioritySlider->setValue( dls.priority );
1695-
mDataDefinedXComboBox->setCurrentIndex( mDataDefinedXComboBox->findData( dls.xPosColumn ) );
1696-
mDataDefinedYComboBox->setCurrentIndex( mDataDefinedYComboBox->findData( dls.yPosColumn ) );
1697-
mPlacementComboBox->setCurrentIndex( mPlacementComboBox->findData( dls.placement ) );
1698-
mLineOptionsComboBox->setCurrentIndex( mLineOptionsComboBox->findData( dls.placementFlags ) );
1692+
const QgsDiagramLayerSettings *dls = layer->diagramLayerSettings();
1693+
if ( dls )
1694+
{
1695+
mDiagramDistanceSpinBox->setValue( dls->dist );
1696+
mPrioritySlider->setValue( dls->priority );
1697+
mDataDefinedXComboBox->setCurrentIndex( mDataDefinedXComboBox->findData( dls->xPosColumn ) );
1698+
mDataDefinedYComboBox->setCurrentIndex( mDataDefinedYComboBox->findData( dls->yPosColumn ) );
1699+
mPlacementComboBox->setCurrentIndex( mPlacementComboBox->findData( dls->placement ) );
1700+
mLineOptionsComboBox->setCurrentIndex( mLineOptionsComboBox->findData( dls->placementFlags ) );
1701+
}
16991702

17001703
if ( dr->diagram() )
17011704
{

‎src/core/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,7 @@ SET(QGIS_CORE_HDRS
472472
symbology-ng/qgssymbologyv2conversion.h
473473
symbology-ng/qgssymbolv2.h
474474
symbology-ng/qgsvectorcolorrampv2.h
475+
qgsdiagramrendererv2.h
475476

476477
spatialindex/qgsspatialindex.h
477478
)

‎src/core/qgsdiagram.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include "qgsrendercontext.h"
44

55
#include <QPainter>
6+
#include <QBrush>
67

78
void QgsDiagram::setPenWidth( QPen& pen, const QgsDiagramSettings& s, const QgsRenderContext& c )
89
{

‎src/core/qgsdiagramrendererv2.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
#include <QList>
77
#include <QPointF>
88
#include <QSizeF>
9-
#include "pal/layer.h" //pal::Layer
109
#include "qgsfeature.h"
1110
#include "qgspallabeling.h"
1211

@@ -15,6 +14,7 @@ class QgsDiagramRendererV2;
1514
class QgsFeature;
1615
class QgsRenderContext;
1716
class QDomElement;
17+
namespace pal { class Layer; }
1818

1919
struct CORE_EXPORT QgsDiagramLayerSettings
2020
{

‎src/core/qgspallabeling.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -753,18 +753,18 @@ int QgsPalLabeling::prepareLayer( QgsVectorLayer* layer, QSet<int>& attrIndices,
753753
return 1; // init successful
754754
}
755755

756-
int QgsPalLabeling::addDiagramLayer( QgsVectorLayer* layer, QgsDiagramLayerSettings& s )
756+
int QgsPalLabeling::addDiagramLayer( QgsVectorLayer* layer, QgsDiagramLayerSettings *s )
757757
{
758-
Layer* l = mPal->addLayer( layer->id().append( "d" ).toLocal8Bit().data(), -1, -1, pal::Arrangement( s.placement ), METER, s.priority, s.obstacle, true, true );
759-
l->setArrangementFlags( s.placementFlags );
758+
Layer* l = mPal->addLayer( layer->id().append( "d" ).toLocal8Bit().data(), -1, -1, pal::Arrangement( s->placement ), METER, s->priority, s->obstacle, true, true );
759+
l->setArrangementFlags( s->placementFlags );
760760

761-
s.palLayer = l;
761+
s->palLayer = l;
762762
if ( mMapRenderer->hasCrsTransformEnabled() )
763-
s.ct = new QgsCoordinateTransform( layer->crs(), mMapRenderer->destinationCrs() );
763+
s->ct = new QgsCoordinateTransform( layer->crs(), mMapRenderer->destinationCrs() );
764764
else
765-
s.ct = NULL;
766-
s.xform = mMapRenderer->coordinateTransform();
767-
mActiveDiagramLayers.insert( layer, s );
765+
s->ct = NULL;
766+
s->xform = mMapRenderer->coordinateTransform();
767+
mActiveDiagramLayers.insert( layer, *s );
768768
return 1;
769769
}
770770

‎src/core/qgspallabeling.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ class CORE_EXPORT QgsPalLabeling : public QgsLabelingEngineInterface
200200
//! hook called when drawing layer before issuing select()
201201
virtual int prepareLayer( QgsVectorLayer* layer, QSet<int>& attrIndices, QgsRenderContext& ctx );
202202
//! adds a diagram layer to the labeling engine
203-
virtual int addDiagramLayer( QgsVectorLayer* layer, QgsDiagramLayerSettings& s );
203+
virtual int addDiagramLayer( QgsVectorLayer* layer, QgsDiagramLayerSettings *s );
204204
//! hook called when drawing for every feature in a layer
205205
virtual void registerFeature( QgsVectorLayer* layer, QgsFeature& feat, const QgsRenderContext& context = QgsRenderContext() );
206206
virtual void registerDiagramFeature( QgsVectorLayer* layer, QgsFeature& feat, const QgsRenderContext& context = QgsRenderContext() );

‎src/core/qgsvectorlayer.cpp

Lines changed: 39 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
#include "qgssymbolv2.h"
7979
#include "qgssymbollayerv2.h"
8080
#include "qgssinglesymbolrendererv2.h"
81+
#include "qgsdiagramrendererv2.h"
8182

8283
#ifdef TESTPROVIDERLIB
8384
#include <dlfcn.h>
@@ -95,24 +96,25 @@ QgsVectorLayer::QgsVectorLayer( QString vectorLayerPath,
9596
QString baseName,
9697
QString providerKey,
9798
bool loadDefaultStyleFlag )
98-
: QgsMapLayer( VectorLayer, baseName, vectorLayerPath ),
99-
mUpdateThreshold( 0 ), // XXX better default value?
100-
mDataProvider( NULL ),
101-
mProviderKey( providerKey ),
102-
mEditable( false ),
103-
mReadOnly( false ),
104-
mModified( false ),
105-
mMaxUpdatedIndex( -1 ),
106-
mActiveCommand( NULL ),
107-
mRenderer( 0 ),
108-
mRendererV2( NULL ),
109-
mUsingRendererV2( false ),
110-
mLabel( 0 ),
111-
mLabelOn( false ),
112-
mVertexMarkerOnlyForSelection( false ),
113-
mFetching( false ),
114-
mJoinBuffer( 0 ),
115-
mDiagramRenderer( 0 )
99+
: QgsMapLayer( VectorLayer, baseName, vectorLayerPath )
100+
, mUpdateThreshold( 0 ) // XXX better default value?
101+
, mDataProvider( NULL )
102+
, mProviderKey( providerKey )
103+
, mEditable( false )
104+
, mReadOnly( false )
105+
, mModified( false )
106+
, mMaxUpdatedIndex( -1 )
107+
, mActiveCommand( NULL )
108+
, mRenderer( 0 )
109+
, mRendererV2( NULL )
110+
, mUsingRendererV2( false )
111+
, mLabel( 0 )
112+
, mLabelOn( false )
113+
, mVertexMarkerOnlyForSelection( false )
114+
, mFetching( false )
115+
, mJoinBuffer( 0 )
116+
, mDiagramRenderer( 0 )
117+
, mDiagramLayerSettings( 0 )
116118
{
117119
mActions = new QgsAttributeAction( this );
118120

@@ -187,6 +189,7 @@ QgsVectorLayer::~QgsVectorLayer()
187189
delete mDataProvider;
188190
delete mJoinBuffer;
189191
delete mLabel;
192+
delete mDiagramLayerSettings;
190193

191194
// Destroy any cached geometries and clear the references to them
192195
deleteCachedGeometries();
@@ -2960,7 +2963,8 @@ bool QgsVectorLayer::readSymbology( const QDomNode& node, QString& errorMessage
29602963
QDomElement diagramSettingsElem = node.firstChildElement( "DiagramLayerSettings" );
29612964
if ( !diagramSettingsElem.isNull() )
29622965
{
2963-
mDiagramLayerSettings.readXML( diagramSettingsElem );
2966+
mDiagramLayerSettings = new QgsDiagramLayerSettings();
2967+
mDiagramLayerSettings->readXML( diagramSettingsElem );
29642968
}
29652969
}
29662970
}
@@ -3139,7 +3143,8 @@ bool QgsVectorLayer::writeSymbology( QDomNode& node, QDomDocument& doc, QString&
31393143
if ( mDiagramRenderer )
31403144
{
31413145
mDiagramRenderer->writeXML( mapLayerNode, doc );
3142-
mDiagramLayerSettings.writeXML( mapLayerNode, doc );
3146+
if ( mDiagramLayerSettings )
3147+
mDiagramLayerSettings->writeXML( mapLayerNode, doc );
31433148
}
31443149
}
31453150

@@ -5183,10 +5188,10 @@ void QgsVectorLayer::prepareLabelingAndDiagrams( QgsRenderContext& rendererConte
51835188
}
51845189

51855190
//register diagram layers
5186-
if ( mDiagramRenderer )
5191+
if ( mDiagramRenderer && mDiagramLayerSettings )
51875192
{
5188-
mDiagramLayerSettings.renderer = mDiagramRenderer;
5189-
rendererContext.labelingEngine()->addDiagramLayer( this, mDiagramLayerSettings );
5193+
mDiagramLayerSettings->renderer = mDiagramRenderer;
5194+
rendererContext.labelingEngine()->addDiagramLayer( this, *mDiagramLayerSettings );
51905195
//add attributes needed by the diagram renderer
51915196
QList<int> att = mDiagramRenderer->diagramAttributes();
51925197
QList<int>::const_iterator attIt = att.constBegin();
@@ -5198,14 +5203,21 @@ void QgsVectorLayer::prepareLabelingAndDiagrams( QgsRenderContext& rendererConte
51985203
}
51995204
}
52005205
//and the ones needed for data defined diagram positions
5201-
if ( mDiagramLayerSettings.xPosColumn >= 0 && !attributes.contains( mDiagramLayerSettings.xPosColumn ) )
5206+
if ( mDiagramLayerSettings->xPosColumn >= 0 && !attributes.contains( mDiagramLayerSettings->xPosColumn ) )
52025207
{
5203-
attributes << mDiagramLayerSettings.xPosColumn;
5208+
attributes << mDiagramLayerSettings->xPosColumn;
52045209
}
5205-
if ( mDiagramLayerSettings.yPosColumn >= 0 && !attributes.contains( mDiagramLayerSettings.yPosColumn ) )
5210+
if ( mDiagramLayerSettings->yPosColumn >= 0 && !attributes.contains( mDiagramLayerSettings->yPosColumn ) )
52065211
{
5207-
attributes << mDiagramLayerSettings.yPosColumn;
5212+
attributes << mDiagramLayerSettings->yPosColumn;
52085213
}
52095214
}
52105215
}
52115216
}
5217+
5218+
void QgsVectorLayer::setDiagramLayerSettings( const QgsDiagramLayerSettings& s )
5219+
{
5220+
if ( !mDiagramLayerSettings )
5221+
mDiagramLayerSettings = new QgsDiagramLayerSettings();
5222+
*mDiagramLayerSettings = s;
5223+
}

‎src/core/qgsvectorlayer.h

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,12 @@
2424
#include <QList>
2525
#include <QStringList>
2626

27-
28-
2927
#include "qgis.h"
30-
#include "qgsdiagramrendererv2.h"
3128
#include "qgsmaplayer.h"
3229
#include "qgsfeature.h"
3330
#include "qgssnapper.h"
3431
#include "qgsfield.h"
3532

36-
3733
class QPainter;
3834
class QImage;
3935

@@ -52,6 +48,8 @@ class QgsSingleSymbolRendererV2;
5248
class QgsRectangle;
5349
class QgsVectorLayerJoinBuffer;
5450
class QgsFeatureRendererV2;
51+
class QgsDiagramRendererV2;
52+
class QgsDiagramLayerSettings;
5553

5654
typedef QList<int> QgsAttributeList;
5755
typedef QSet<int> QgsFeatureIds;
@@ -214,8 +212,8 @@ class CORE_EXPORT QgsVectorLayer : public QgsMapLayer
214212
void setDiagramRenderer( QgsDiagramRendererV2* r );
215213
const QgsDiagramRendererV2* diagramRenderer() const { return mDiagramRenderer; }
216214

217-
void setDiagramLayerSettings( const QgsDiagramLayerSettings& s ) { mDiagramLayerSettings = s; }
218-
QgsDiagramLayerSettings diagramLayerSettings() const { return mDiagramLayerSettings; }
215+
void setDiagramLayerSettings( const QgsDiagramLayerSettings& s );
216+
const QgsDiagramLayerSettings *diagramLayerSettings() const { return mDiagramLayerSettings; }
219217

220218
/** Return renderer V2.
221219
* @note added in 1.4 */
@@ -951,7 +949,7 @@ class CORE_EXPORT QgsVectorLayer : public QgsMapLayer
951949
QgsDiagramRendererV2* mDiagramRenderer;
952950

953951
//stores infos about diagram placement (placement type, priority, position distance)
954-
QgsDiagramLayerSettings mDiagramLayerSettings;
952+
QgsDiagramLayerSettings *mDiagramLayerSettings;
955953
};
956954

957955
#endif

‎src/plugins/dxf2shp_converter/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ INCLUDE_DIRECTORIES(
3939
../../core/symbology
4040
../../gui
4141
..
42-
${GEOS_INCLUDE_DIR}
4342
)
4443

4544
TARGET_LINK_LIBRARIES(dxf2shpconverterplugin

‎src/plugins/oracle_raster/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ INCLUDE_DIRECTORIES(
3838
../../gui
3939
..
4040
${GDAL_INCLUDE_DIR}
41-
${GEOS_INCLUDE_DIR}
4241
)
4342

4443
TARGET_LINK_LIBRARIES(oracleplugin

‎src/plugins/sqlanywhere/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ INCLUDE_DIRECTORIES(
5959
../../app
6060
..
6161
../../providers/sqlanywhere/sqlanyconnection
62-
${GEOS_INCLUDE_DIR}
6362
)
6463

6564
TARGET_LINK_LIBRARIES(sqlanywhereplugin

0 commit comments

Comments
 (0)
Please sign in to comment.