Skip to content

Commit e0e5f1a

Browse files
committedAug 10, 2012
Save scale by area/diameter setting
1 parent 468650b commit e0e5f1a

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed
 

‎src/app/qgsvectorlayerproperties.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1810,6 +1810,15 @@ void QgsVectorLayerProperties::initDiagramTab()
18101810
mIncreaseSmallDiagramsCheckBox->setChecked( settingList.at( 0 ).minimumSize != 0 );
18111811
mIncreaseMinimumSizeSpinBox->setValue( settingList.at( 0 ).minimumSize );
18121812

1813+
if ( settingList.at( 0 ).scaleByArea )
1814+
{
1815+
mScaleDependencyComboBox->setCurrentIndex( 0 );
1816+
}
1817+
else
1818+
{
1819+
mScaleDependencyComboBox->setCurrentIndex( 1 );
1820+
}
1821+
18131822
QList< QColor > categoryColors = settingList.at( 0 ).categoryColors;
18141823
QList< int > categoryIndices = settingList.at( 0 ).categoryIndices;
18151824
QList< int >::const_iterator catIt = categoryIndices.constBegin();

‎src/core/qgsdiagramrendererv2.cpp

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,16 @@ void QgsDiagramSettings::readXML( const QDomElement& elem )
9595
diagramOrientation = Up;
9696
}
9797

98+
// scale dependency
99+
if ( elem.attribute( "scaleDependency" ) == "Diameter" )
100+
{
101+
scaleByArea = false;
102+
}
103+
else
104+
{
105+
scaleByArea = true;
106+
}
107+
98108
barWidth = elem.attribute( "barWidth" ).toDouble();
99109

100110
minimumSize = elem.attribute( "minimumSize" ).toDouble();
@@ -144,11 +154,20 @@ void QgsDiagramSettings::writeXML( QDomElement& rendererElem, QDomDocument& doc
144154
// label placement method (text diagram)
145155
if ( labelPlacementMethod == Height )
146156
{
147-
categoryElem.setAttribute( "labelPlacementMethod", "Height" );
157+
categoryElem.setAttribute( "labelPlacementMethod", "Height" );
158+
}
159+
else
160+
{
161+
categoryElem.setAttribute( "labelPlacementMethod", "XHeight" );
162+
}
163+
164+
if ( scaleByArea )
165+
{
166+
categoryElem.setAttribute( "scaleDependency", "Area" );
148167
}
149168
else
150169
{
151-
categoryElem.setAttribute( "labelPlacementMethod", "XHeight" );
170+
categoryElem.setAttribute( "scaleDependency", "Diameter" );
152171
}
153172

154173
// orientation (histogram)

0 commit comments

Comments
 (0)
Please sign in to comment.