28
28
#include " qgsproject.h"
29
29
#include " qgssymbollayerv2utils.h" // for pointOnLineWithDistance
30
30
#include " qgssymbolv2.h" // for symbology
31
+ #include " qgsmarkersymbollayerv2.h"
31
32
#include " qgsrendercontext.h"
32
33
#include " qgsmapcanvas.h"
33
34
#include " qgsmaprenderer.h"
@@ -100,15 +101,16 @@ void QgsDecorationGrid::projectRead()
100
101
mMapUnits = ( QGis::UnitType ) QgsProject::instance ()->readNumEntry ( mNameConfig , " /MapUnits" ,
101
102
QGis::UnknownUnit );
102
103
mGridStyle = ( GridStyle ) QgsProject::instance ()->readNumEntry ( mNameConfig , " /Style" ,
103
- QgsDecorationGrid::Solid );
104
+ QgsDecorationGrid::Line );
104
105
mGridIntervalX = QgsProject::instance ()->readDoubleEntry ( mNameConfig , " /IntervalX" , 10 );
105
106
mGridIntervalY = QgsProject::instance ()->readDoubleEntry ( mNameConfig , " /IntervalY" , 10 );
106
107
mGridOffsetX = QgsProject::instance ()->readDoubleEntry ( mNameConfig , " /OffsetX" , 0 );
107
108
mGridOffsetY = QgsProject::instance ()->readDoubleEntry ( mNameConfig , " /OffsetY" , 0 );
108
- mCrossLength = QgsProject::instance ()->readDoubleEntry ( mNameConfig , " /CrossLength" , 3 );
109
+ // mCrossLength = QgsProject::instance()->readDoubleEntry( mNameConfig, "/CrossLength", 3 );
109
110
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
112
114
mGridAnnotationDirection = ( GridAnnotationDirection ) QgsProject::instance ()->readNumEntry ( mNameConfig ,
113
115
" /AnnotationDirection" , 0 );
114
116
QString fontStr = QgsProject::instance ()->readEntry ( mNameConfig , " /AnnotationFont" , " " );
@@ -152,7 +154,14 @@ void QgsDecorationGrid::projectRead()
152
154
mMarkerSymbol = dynamic_cast <QgsMarkerSymbolV2*>( QgsSymbolLayerV2Utils::loadSymbol ( elem ) );
153
155
}
154
156
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
+ }
156
165
}
157
166
158
167
void QgsDecorationGrid::saveToProject ()
@@ -165,10 +174,10 @@ void QgsDecorationGrid::saveToProject()
165
174
QgsProject::instance ()->writeEntry ( mNameConfig , " /IntervalY" , mGridIntervalY );
166
175
QgsProject::instance ()->writeEntry ( mNameConfig , " /OffsetX" , mGridOffsetX );
167
176
QgsProject::instance ()->writeEntry ( mNameConfig , " /OffsetX" , mGridOffsetY );
168
- QgsProject::instance ()->writeEntry ( mNameConfig , " /CrossLength" , mCrossLength );
177
+ // QgsProject::instance()->writeEntry( mNameConfig, "/CrossLength", mCrossLength );
169
178
// missing mGridPen, but should use styles anyway
170
179
QgsProject::instance ()->writeEntry ( mNameConfig , " /ShowAnnotation" , mShowGridAnnotation );
171
- QgsProject::instance ()->writeEntry ( mNameConfig , " /AnnotationPosition" , ( int ) mGridAnnotationPosition );
180
+ // QgsProject::instance()->writeEntry( mNameConfig, "/AnnotationPosition", ( int ) mGridAnnotationPosition );
172
181
QgsProject::instance ()->writeEntry ( mNameConfig , " /AnnotationDirection" , ( int ) mGridAnnotationDirection );
173
182
QgsProject::instance ()->writeEntry ( mNameConfig , " /AnnotationFont" , mGridAnnotationFont .toString () );
174
183
QgsProject::instance ()->writeEntry ( mNameConfig , " /AnnotationFrameDistance" , mAnnotationFrameDistance );
@@ -184,7 +193,7 @@ void QgsDecorationGrid::saveToProject()
184
193
// FIXME this works, but XML will not be valid as < is replaced by <
185
194
QgsProject::instance ()->writeEntry ( mNameConfig , " /LineSymbol" , doc.toString () );
186
195
}
187
- if ( mLineSymbol )
196
+ if ( mMarkerSymbol )
188
197
{
189
198
doc.setContent ( QString ( " " ) );
190
199
elem = QgsSymbolLayerV2Utils::saveSymbol ( " marker symbol" , mMarkerSymbol , doc );
@@ -223,7 +232,7 @@ void QgsDecorationGrid::render( QPainter * p )
223
232
// p->setClipRect( thisPaintRect );
224
233
225
234
// simpler approach: draw vertical lines first, then horizontal ones
226
- if ( mGridStyle == QgsDecorationGrid::Solid )
235
+ if ( mGridStyle == QgsDecorationGrid::Line )
227
236
{
228
237
if ( ! mLineSymbol )
229
238
return ;
@@ -252,6 +261,7 @@ void QgsDecorationGrid::render( QPainter * p )
252
261
253
262
mLineSymbol ->stopRender ( context );
254
263
}
264
+ #if 0
255
265
else if ( mGridStyle == QgsDecorationGrid::Cross )
256
266
{
257
267
QPointF intersectionPoint, crossEnd1, crossEnd2;
@@ -299,6 +309,7 @@ void QgsDecorationGrid::render( QPainter * p )
299
309
p->drawLine( hIt->second.p2(), crossEnd1 );
300
310
}
301
311
}
312
+ #endif
302
313
else // marker
303
314
{
304
315
if ( ! mMarkerSymbol )
@@ -308,7 +319,7 @@ void QgsDecorationGrid::render( QPainter * p )
308
319
context.setPainter ( p );
309
320
mMarkerSymbol ->startRender ( context, 0 );
310
321
311
- QPointF intersectionPoint, crossEnd1, crossEnd2 ;
322
+ QPointF intersectionPoint;
312
323
for ( ; vIt != verticalLines.constEnd (); ++vIt )
313
324
{
314
325
// test for intersection with every horizontal line
0 commit comments