Skip to content

Commit dce914d

Browse files
committed
remove cross grid type and set default marker to cross; remove annotation position option
1 parent 52d9f3a commit dce914d

4 files changed

+158
-191
lines changed

src/app/qgsdecorationgrid.cpp

+21-10
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "qgsproject.h"
2929
#include "qgssymbollayerv2utils.h" //for pointOnLineWithDistance
3030
#include "qgssymbolv2.h" //for symbology
31+
#include "qgsmarkersymbollayerv2.h"
3132
#include "qgsrendercontext.h"
3233
#include "qgsmapcanvas.h"
3334
#include "qgsmaprenderer.h"
@@ -100,15 +101,16 @@ void QgsDecorationGrid::projectRead()
100101
mMapUnits = ( QGis::UnitType ) QgsProject::instance()->readNumEntry( mNameConfig, "/MapUnits",
101102
QGis::UnknownUnit );
102103
mGridStyle = ( GridStyle ) QgsProject::instance()->readNumEntry( mNameConfig, "/Style",
103-
QgsDecorationGrid::Solid );
104+
QgsDecorationGrid::Line );
104105
mGridIntervalX = QgsProject::instance()->readDoubleEntry( mNameConfig, "/IntervalX", 10 );
105106
mGridIntervalY = QgsProject::instance()->readDoubleEntry( mNameConfig, "/IntervalY", 10 );
106107
mGridOffsetX = QgsProject::instance()->readDoubleEntry( mNameConfig, "/OffsetX", 0 );
107108
mGridOffsetY = QgsProject::instance()->readDoubleEntry( mNameConfig, "/OffsetY", 0 );
108-
mCrossLength = QgsProject::instance()->readDoubleEntry( mNameConfig, "/CrossLength", 3 );
109+
// mCrossLength = QgsProject::instance()->readDoubleEntry( mNameConfig, "/CrossLength", 3 );
109110
mShowGridAnnotation = QgsProject::instance()->readBoolEntry( mNameConfig, "/ShowAnnotation", false );
110-
mGridAnnotationPosition = ( GridAnnotationPosition ) QgsProject::instance()->readNumEntry( mNameConfig,
111-
"/AnnotationPosition", 0 );
111+
// mGridAnnotationPosition = ( GridAnnotationPosition ) QgsProject::instance()->readNumEntry( mNameConfig,
112+
// "/AnnotationPosition", 0 );
113+
mGridAnnotationPosition = InsideMapFrame; // don't allow outside frame, doesn't make sense
112114
mGridAnnotationDirection = ( GridAnnotationDirection ) QgsProject::instance()->readNumEntry( mNameConfig,
113115
"/AnnotationDirection", 0 );
114116
QString fontStr = QgsProject::instance()->readEntry( mNameConfig, "/AnnotationFont", "" );
@@ -152,7 +154,14 @@ void QgsDecorationGrid::projectRead()
152154
mMarkerSymbol = dynamic_cast<QgsMarkerSymbolV2*>( QgsSymbolLayerV2Utils::loadSymbol( elem ) );
153155
}
154156
if ( ! mMarkerSymbol )
155-
mMarkerSymbol = new QgsMarkerSymbolV2();
157+
{
158+
// set default symbol : cross with width=20
159+
QgsSymbolLayerV2List symbolList;
160+
symbolList << new QgsSimpleMarkerSymbolLayerV2( "cross", DEFAULT_SIMPLEMARKER_COLOR,
161+
DEFAULT_SIMPLEMARKER_BORDERCOLOR, 20, 0 );
162+
mMarkerSymbol = new QgsMarkerSymbolV2( symbolList );
163+
// mMarkerSymbol = new QgsMarkerSymbolV2();
164+
}
156165
}
157166

158167
void QgsDecorationGrid::saveToProject()
@@ -165,10 +174,10 @@ void QgsDecorationGrid::saveToProject()
165174
QgsProject::instance()->writeEntry( mNameConfig, "/IntervalY", mGridIntervalY );
166175
QgsProject::instance()->writeEntry( mNameConfig, "/OffsetX", mGridOffsetX );
167176
QgsProject::instance()->writeEntry( mNameConfig, "/OffsetX", mGridOffsetY );
168-
QgsProject::instance()->writeEntry( mNameConfig, "/CrossLength", mCrossLength );
177+
// QgsProject::instance()->writeEntry( mNameConfig, "/CrossLength", mCrossLength );
169178
// missing mGridPen, but should use styles anyway
170179
QgsProject::instance()->writeEntry( mNameConfig, "/ShowAnnotation", mShowGridAnnotation );
171-
QgsProject::instance()->writeEntry( mNameConfig, "/AnnotationPosition", ( int ) mGridAnnotationPosition );
180+
// QgsProject::instance()->writeEntry( mNameConfig, "/AnnotationPosition", ( int ) mGridAnnotationPosition );
172181
QgsProject::instance()->writeEntry( mNameConfig, "/AnnotationDirection", ( int ) mGridAnnotationDirection );
173182
QgsProject::instance()->writeEntry( mNameConfig, "/AnnotationFont", mGridAnnotationFont.toString() );
174183
QgsProject::instance()->writeEntry( mNameConfig, "/AnnotationFrameDistance", mAnnotationFrameDistance );
@@ -184,7 +193,7 @@ void QgsDecorationGrid::saveToProject()
184193
// FIXME this works, but XML will not be valid as < is replaced by &lt;
185194
QgsProject::instance()->writeEntry( mNameConfig, "/LineSymbol", doc.toString() );
186195
}
187-
if ( mLineSymbol )
196+
if ( mMarkerSymbol )
188197
{
189198
doc.setContent( QString( "" ) );
190199
elem = QgsSymbolLayerV2Utils::saveSymbol( "marker symbol", mMarkerSymbol, doc );
@@ -223,7 +232,7 @@ void QgsDecorationGrid::render( QPainter * p )
223232
// p->setClipRect( thisPaintRect );
224233

225234
//simpler approach: draw vertical lines first, then horizontal ones
226-
if ( mGridStyle == QgsDecorationGrid::Solid )
235+
if ( mGridStyle == QgsDecorationGrid::Line )
227236
{
228237
if ( ! mLineSymbol )
229238
return;
@@ -252,6 +261,7 @@ void QgsDecorationGrid::render( QPainter * p )
252261

253262
mLineSymbol->stopRender( context );
254263
}
264+
#if 0
255265
else if ( mGridStyle == QgsDecorationGrid::Cross )
256266
{
257267
QPointF intersectionPoint, crossEnd1, crossEnd2;
@@ -299,6 +309,7 @@ void QgsDecorationGrid::render( QPainter * p )
299309
p->drawLine( hIt->second.p2(), crossEnd1 );
300310
}
301311
}
312+
#endif
302313
else //marker
303314
{
304315
if ( ! mMarkerSymbol )
@@ -308,7 +319,7 @@ void QgsDecorationGrid::render( QPainter * p )
308319
context.setPainter( p );
309320
mMarkerSymbol->startRender( context, 0 );
310321

311-
QPointF intersectionPoint, crossEnd1, crossEnd2;
322+
QPointF intersectionPoint;
312323
for ( ; vIt != verticalLines.constEnd(); ++vIt )
313324
{
314325
//test for intersection with every horizontal line

src/app/qgsdecorationgrid.h

+7-7
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ class QgsDecorationGrid: public QgsDecorationItem
4040

4141
enum GridStyle
4242
{
43-
Solid = 0, //solid lines
44-
Cross = 1, //only draw line crossings
45-
Marker = 2 //user-defined marker
43+
Line = 0, //solid lines
44+
// Cross = 1, //only draw line crossings
45+
Marker = 1 //user-defined marker
4646
};
4747

4848
enum GridAnnotationPosition
@@ -113,8 +113,8 @@ class QgsDecorationGrid: public QgsDecorationItem
113113
GridAnnotationDirection gridAnnotationDirection() const {return mGridAnnotationDirection;}
114114

115115
/**Sets length of the cros segments (if grid style is cross) */
116-
void setCrossLength( double l ) {mCrossLength = l;}
117-
double crossLength() {return mCrossLength;}
116+
/* void setCrossLength( double l ) {mCrossLength = l;} */
117+
/* double crossLength() {return mCrossLength;} */
118118

119119
/**Set symbol that is used to draw grid lines. Takes ownership*/
120120
void setLineSymbol( QgsLineSymbolV2* symbol );
@@ -164,7 +164,7 @@ class QgsDecorationGrid: public QgsDecorationItem
164164
Top
165165
};
166166

167-
/**Solid or crosses*/
167+
/** Line or Symbol */
168168
GridStyle mGridStyle;
169169
/**Grid line interval in x-direction (map units)*/
170170
double mGridIntervalX;
@@ -189,7 +189,7 @@ class QgsDecorationGrid: public QgsDecorationItem
189189
/**Annotation can be horizontal / vertical or different for axes*/
190190
GridAnnotationDirection mGridAnnotationDirection;
191191
/**The length of the cross sides for mGridStyle Cross*/
192-
double mCrossLength;
192+
/* double mCrossLength; */
193193

194194
QgsLineSymbolV2* mLineSymbol;
195195
QgsMarkerSymbolV2* mMarkerSymbol;

src/app/qgsdecorationgriddialog.cpp

+25-23
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ QgsDecorationGridDialog::QgsDecorationGridDialog( QgsDecorationGrid& deco, QWidg
4343

4444
// mXMinLineEdit->setValidator( new QDoubleValidator( mXMinLineEdit ) );
4545

46-
mGridTypeComboBox->insertItem( QgsDecorationGrid::Solid, tr( "Lines" ) );
47-
mGridTypeComboBox->insertItem( QgsDecorationGrid::Cross, tr( "Cross" ) );
46+
mGridTypeComboBox->insertItem( QgsDecorationGrid::Line, tr( "Line" ) );
47+
// mGridTypeComboBox->insertItem( QgsDecorationGrid::Cross, tr( "Cross" ) );
4848
mGridTypeComboBox->insertItem( QgsDecorationGrid::Marker, tr( "Marker" ) );
4949

50-
mAnnotationPositionComboBox->insertItem( QgsDecorationGrid::InsideMapFrame, tr( "Inside frame" ) );
50+
// mAnnotationPositionComboBox->insertItem( QgsDecorationGrid::InsideMapFrame, tr( "Inside frame" ) );
5151
// mAnnotationPositionComboBox->insertItem( QgsDecorationGrid::OutsideMapFrame, tr( "Outside frame" ) );
5252

5353
mAnnotationDirectionComboBox->insertItem( QgsDecorationGrid::Horizontal,
@@ -77,8 +77,8 @@ void QgsDecorationGridDialog::updateGuiElements()
7777
mOffsetYSpinBox->setValue( mDeco.gridOffsetY() );
7878

7979
mGridTypeComboBox->setCurrentIndex(( int ) mDeco.gridStyle() );
80-
mCrossWidthSpinBox->setValue( mDeco.crossLength() );
81-
mAnnotationPositionComboBox->setCurrentIndex(( int ) mDeco.gridAnnotationPosition() );
80+
// mCrossWidthSpinBox->setValue( mDeco.crossLength() );
81+
// mAnnotationPositionComboBox->setCurrentIndex(( int ) mDeco.gridAnnotationPosition() );
8282
mDrawAnnotationCheckBox->setChecked( mDeco.showGridAnnotation() );
8383
mAnnotationDirectionComboBox->setCurrentIndex(( int ) mDeco.gridAnnotationDirection() );
8484
mCoordinatePrecisionSpinBox->setValue( mDeco.gridAnnotationPrecision() );
@@ -118,28 +118,28 @@ void QgsDecorationGridDialog::updateDecoFromGui()
118118
mDeco.setGridOffsetX( mOffsetXSpinBox->value() );
119119
mDeco.setGridOffsetY( mOffsetYSpinBox->value() );
120120
// mDeco.setGridPenWidth( mLineWidthSpinBox->value() );
121-
if ( mGridTypeComboBox->currentText() == tr( "Cross" ) )
122-
{
123-
mDeco.setGridStyle( QgsDecorationGrid::Cross );
124-
}
125-
else if ( mGridTypeComboBox->currentText() == tr( "Marker" ) )
121+
// if ( mGridTypeComboBox->currentText() == tr( "Cross" ) )
122+
// {
123+
// mDeco.setGridStyle( QgsDecorationGrid::Cross );
124+
// }
125+
if ( mGridTypeComboBox->currentText() == tr( "Marker" ) )
126126
{
127127
mDeco.setGridStyle( QgsDecorationGrid::Marker );
128128
}
129-
else
129+
else if ( mGridTypeComboBox->currentText() == tr( "Line" ) )
130130
{
131-
mDeco.setGridStyle( QgsDecorationGrid::Solid );
131+
mDeco.setGridStyle( QgsDecorationGrid::Line );
132132
}
133-
mDeco.setCrossLength( mCrossWidthSpinBox->value() );
133+
// mDeco.setCrossLength( mCrossWidthSpinBox->value() );
134134
mDeco.setAnnotationFrameDistance( mDistanceToMapFrameSpinBox->value() );
135-
if ( mAnnotationPositionComboBox->currentText() == tr( "Inside frame" ) )
136-
{
137-
mDeco.setGridAnnotationPosition( QgsDecorationGrid::InsideMapFrame );
138-
}
139-
else
140-
{
141-
mDeco.setGridAnnotationPosition( QgsDecorationGrid::OutsideMapFrame );
142-
}
135+
// if ( mAnnotationPositionComboBox->currentText() == tr( "Inside frame" ) )
136+
// {
137+
// mDeco.setGridAnnotationPosition( QgsDecorationGrid::InsideMapFrame );
138+
// }
139+
// else
140+
// {
141+
// mDeco.setGridAnnotationPosition( QgsDecorationGrid::OutsideMapFrame );
142+
// }
143143
mDeco.setShowGridAnnotation( mDrawAnnotationCheckBox->isChecked() );
144144
QString text = mAnnotationDirectionComboBox->currentText();
145145
if ( text == tr( "Horizontal" ) )
@@ -218,8 +218,8 @@ void QgsDecorationGridDialog::on_buttonBox_rejected()
218218

219219
void QgsDecorationGridDialog::on_mGridTypeComboBox_currentIndexChanged( int index )
220220
{
221-
mLineSymbolButton->setEnabled( index == QgsDecorationGrid::Solid );
222-
mCrossWidthSpinBox->setEnabled( index == QgsDecorationGrid::Cross );
221+
mLineSymbolButton->setEnabled( index == QgsDecorationGrid::Line );
222+
// mCrossWidthSpinBox->setEnabled( index == QgsDecorationGrid::Cross );
223223
mMarkerSymbolButton->setEnabled( index == QgsDecorationGrid::Marker );
224224
}
225225

@@ -231,6 +231,7 @@ void QgsDecorationGridDialog::on_mLineSymbolButton_clicked()
231231

232232
QgsLineSymbolV2* lineSymbol = dynamic_cast<QgsLineSymbolV2*>( mLineSymbol->clone() );
233233
QgsSymbolV2PropertiesDialog dlg( lineSymbol, 0, this );
234+
// QgsSymbolV2SelectorDialog dlg( lineSymbol, 0, this );
234235
if ( dlg.exec() == QDialog::Rejected )
235236
{
236237
delete lineSymbol;
@@ -254,6 +255,7 @@ void QgsDecorationGridDialog::on_mMarkerSymbolButton_clicked()
254255

255256
QgsMarkerSymbolV2* markerSymbol = dynamic_cast<QgsMarkerSymbolV2*>( mMarkerSymbol->clone() );
256257
QgsSymbolV2PropertiesDialog dlg( markerSymbol, 0, this );
258+
// QgsSymbolV2SelectorDialog dlg( markerSymbol, 0, this );
257259
if ( dlg.exec() == QDialog::Rejected )
258260
{
259261
delete markerSymbol;

0 commit comments

Comments
 (0)