@@ -81,7 +81,8 @@ void TestQgsMapCanvasDockWidget::testNoSync()
81
81
mainCanvas.setExtent ( QgsRectangle ( -14839703 , 2282029 , -7723928 , 6293534 ) );
82
82
mainCanvas.show ();
83
83
84
- QGSCOMPARENEAR ( mainCanvas.scale (), 44823779 , 10000 );
84
+ double testScalingFactor = 44823779 / mainCanvas.scale ();
85
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor, 44823779 , 10000 );
85
86
86
87
QgsMapCanvasDockWidget dock ( QStringLiteral ( " dock" ) );
87
88
dock.setMainCanvas ( &mainCanvas );
@@ -91,7 +92,7 @@ void TestQgsMapCanvasDockWidget::testNoSync()
91
92
dock.mapCanvas ()->setExtent ( QgsRectangle ( -14839703 , 2282029 , -7723928 , 6293534 ) );
92
93
dock.show ();
93
94
94
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 44823779 , 1000000 );
95
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 44823779 , 1000000 );
95
96
96
97
dock.setViewCenterSynchronized ( false );
97
98
dock.setViewScaleSynchronized ( false );
@@ -102,12 +103,13 @@ void TestQgsMapCanvasDockWidget::testNoSync()
102
103
mainCanvas.zoomScale ( 89647558 );
103
104
104
105
// dock should not inherit scale
105
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 44823779 , 1000000 );
106
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 44823779 , 1000000 );
106
107
107
108
// change scale in dock and check it is not synced to main canvas
108
109
dock.mapCanvas ()->zoomScale ( 1500000 );
109
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 1500000 , 1000 );
110
- QGSCOMPARENEAR ( mainCanvas.scale (), 89647558 , 1000 );
110
+ testScalingFactor = 1500000 / dock.mapCanvas ()->scale ();
111
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor, 1500000 , 1000 );
112
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor, 89647558 , 1000 );
111
113
112
114
// extent should NOT be synced
113
115
dock.mapCanvas ()->setCenter ( QgsPointXY ( -22329833 , 3515327 ) );
@@ -132,7 +134,8 @@ void TestQgsMapCanvasDockWidget::testScaleSync()
132
134
mainCanvas.setExtent ( QgsRectangle ( -14839703 , 2282029 , -7723928 , 6293534 ) );
133
135
mainCanvas.show ();
134
136
135
- QGSCOMPARENEAR ( mainCanvas.scale (), 44823779 , 10000 );
137
+ double testScalingFactor = 44823779 / mainCanvas.scale ();
138
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor, 44823779 , 10000 );
136
139
137
140
QgsMapCanvasDockWidget dock ( QStringLiteral ( " dock" ) );
138
141
dock.setMainCanvas ( &mainCanvas );
@@ -142,7 +145,7 @@ void TestQgsMapCanvasDockWidget::testScaleSync()
142
145
dock.mapCanvas ()->setExtent ( QgsRectangle ( -14839703 , 2282029 , -7723928 , 6293534 ) );
143
146
dock.show ();
144
147
145
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 44823779 , 1000000 );
148
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 44823779 , 1000000 );
146
149
147
150
dock.setViewCenterSynchronized ( false );
148
151
dock.setViewScaleSynchronized ( true );
@@ -152,43 +155,44 @@ void TestQgsMapCanvasDockWidget::testScaleSync()
152
155
resizeTimerSpy.wait ();
153
156
154
157
mainCanvas.zoomScale ( 89647558 );
158
+ testScalingFactor = 89647558 / mainCanvas.scale ();
155
159
156
160
// dock should inherit scale
157
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 89647558 , 1000000 );
161
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 89647558 , 1000000 );
158
162
159
163
// ensure scale is multiplied by factor
160
164
dock.setScaleFactor ( 2.5 );
161
165
mainCanvas.zoomScale ( 44823779 );
162
166
163
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 17929511 , 1000000 );
167
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 17929511 , 1000000 );
164
168
165
169
// change scale in dock and check it is respected by main canvas
166
170
dock.setScaleFactor ( 1.0 );
167
171
dock.mapCanvas ()->zoomScale ( 1500000 );
168
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 1500000 , 1000 );
169
- QGSCOMPARENEAR ( mainCanvas.scale (), 1500000 , 1000 );
172
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 1500000 , 1000 );
173
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor , 1500000 , 1000 );
170
174
171
175
dock.setScaleFactor ( 2.0 );
172
176
dock.mapCanvas ()->zoomScale ( 1000000 );
173
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 1000000 , 1000 );
174
- QGSCOMPARENEAR ( mainCanvas.scale (), 2000000 , 1000 );
177
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 1000000 , 1000 );
178
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor , 2000000 , 1000 );
175
179
176
180
// extent should NOT be synced, and scale should not change when extent changes
177
181
dock.mapCanvas ()->setCenter ( QgsPointXY ( -22329833 , 3515327 ) );
178
182
QGSCOMPARENEAR ( dock.mapCanvas ()->center ().x (), -22329833 , 1000 );
179
183
QGSCOMPARENEAR ( dock.mapCanvas ()->center ().y (), 3515327 , 1000 );
180
184
QGSCOMPARENEAR ( mainCanvas.center ().x (), -11281815 , 1000 );
181
185
QGSCOMPARENEAR ( mainCanvas.center ().y (), 4287781 , 1000 );
182
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 1000000 , 1000 );
186
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 1000000 , 1000 );
183
187
QGSCOMPARENEAR ( mainCanvas.scale (), 2000000 , 1000 );
184
188
185
189
mainCanvas.setCenter ( QgsPointXY ( -4467497 , -227904 ) );
186
190
QGSCOMPARENEAR ( dock.mapCanvas ()->center ().x (), -22329833 , 1000 );
187
191
QGSCOMPARENEAR ( dock.mapCanvas ()->center ().y (), 3515327 , 1000 );
188
192
QGSCOMPARENEAR ( mainCanvas.center ().x (), -4467497 , 1000 );
189
193
QGSCOMPARENEAR ( mainCanvas.center ().y (), -227904 , 1000 );
190
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 1000000 , 1000 );
191
- QGSCOMPARENEAR ( mainCanvas.scale (), 2000000 , 1000 );
194
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 1000000 , 1000 );
195
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor , 2000000 , 1000 );
192
196
193
197
dock.resize ( 1200 , 1200 );
194
198
resizeTimerSpy.wait ();
@@ -197,8 +201,8 @@ void TestQgsMapCanvasDockWidget::testScaleSync()
197
201
QGSCOMPARENEAR ( dock.mapCanvas ()->center ().y (), 3515327 , 1000 );
198
202
QGSCOMPARENEAR ( mainCanvas.center ().x (), -4467497 , 1000 );
199
203
QGSCOMPARENEAR ( mainCanvas.center ().y (), -227904 , 1000 );
200
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 500000 , 10000 );
201
- QGSCOMPARENEAR ( mainCanvas.scale (), 1000000 , 100000 );
204
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 500000 , 10000 );
205
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor , 1000000 , 100000 );
202
206
}
203
207
204
208
void TestQgsMapCanvasDockWidget::testCenterSync ()
@@ -211,7 +215,8 @@ void TestQgsMapCanvasDockWidget::testCenterSync()
211
215
mainCanvas.setExtent ( QgsRectangle ( -14839703 , 2282029 , -7723928 , 6293534 ) );
212
216
mainCanvas.show ();
213
217
214
- QGSCOMPARENEAR ( mainCanvas.scale (), 44823779 , 10000 );
218
+ double testScalingFactor = 44823779 / mainCanvas.scale ();
219
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor, 44823779 , 10000 );
215
220
216
221
QgsMapCanvasDockWidget dock ( QStringLiteral ( " dock" ) );
217
222
dock.setMainCanvas ( &mainCanvas );
@@ -221,7 +226,7 @@ void TestQgsMapCanvasDockWidget::testCenterSync()
221
226
dock.mapCanvas ()->setExtent ( QgsRectangle ( -14839703 , 2282029 , -7723928 , 6293534 ) );
222
227
dock.show ();
223
228
224
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 44823779 , 1000000 );
229
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 44823779 , 1000000 );
225
230
226
231
dock.setViewCenterSynchronized ( true );
227
232
dock.setViewScaleSynchronized ( false );
@@ -232,12 +237,13 @@ void TestQgsMapCanvasDockWidget::testCenterSync()
232
237
mainCanvas.zoomScale ( 89647558 );
233
238
234
239
// dock should not inherit scale
235
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 44823779 , 1000000 );
240
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 44823779 , 1000000 );
236
241
237
242
// change scale in dock and check it is not synced to main canvas
238
243
dock.mapCanvas ()->zoomScale ( 1500000 );
239
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 1500000 , 1000 );
240
- QGSCOMPARENEAR ( mainCanvas.scale (), 89647558 , 1000 );
244
+ testScalingFactor = 1500000 / dock.mapCanvas ()->scale ();
245
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor, 1500000 , 1000 );
246
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor, 89647558 , 1000 );
241
247
242
248
// center SHOULD be synced
243
249
dock.mapCanvas ()->setCenter ( QgsPointXY ( -22329833 , 3515327 ) );
@@ -259,8 +265,8 @@ void TestQgsMapCanvasDockWidget::testCenterSync()
259
265
QGSCOMPARENEAR ( dock.mapCanvas ()->center ().y (), -227904 , 1000 );
260
266
QGSCOMPARENEAR ( mainCanvas.center ().x (), -4467497 , 1000 );
261
267
QGSCOMPARENEAR ( mainCanvas.center ().y (), -227904 , 1000 );
262
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 744966 , 10000 );
263
- QGSCOMPARENEAR ( mainCanvas.scale (), 89647558 , 1000 );
268
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 744966 , 10000 );
269
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor , 89647558 , 1000 );
264
270
}
265
271
266
272
void TestQgsMapCanvasDockWidget::testScaleAndCenterSync ()
@@ -273,7 +279,8 @@ void TestQgsMapCanvasDockWidget::testScaleAndCenterSync()
273
279
mainCanvas.setExtent ( QgsRectangle ( -14839703 , 2282029 , -7723928 , 6293534 ) );
274
280
mainCanvas.show ();
275
281
276
- QGSCOMPARENEAR ( mainCanvas.scale (), 44823779 , 10000 );
282
+ double testScalingFactor = 44823779 / mainCanvas.scale ();
283
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor, 44823779 , 10000 );
277
284
278
285
QgsMapCanvasDockWidget dock ( QStringLiteral ( " dock" ) );
279
286
dock.setMainCanvas ( &mainCanvas );
@@ -283,7 +290,7 @@ void TestQgsMapCanvasDockWidget::testScaleAndCenterSync()
283
290
dock.mapCanvas ()->setExtent ( QgsRectangle ( -14839703 , 2282029 , -7723928 , 6293534 ) );
284
291
dock.show ();
285
292
286
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 44823779 , 1000000 );
293
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 44823779 , 1000000 );
287
294
288
295
dock.setViewCenterSynchronized ( true );
289
296
dock.setViewScaleSynchronized ( true );
@@ -292,26 +299,27 @@ void TestQgsMapCanvasDockWidget::testScaleAndCenterSync()
292
299
resizeTimerSpy.wait ();
293
300
294
301
mainCanvas.zoomScale ( 89647558 );
302
+ testScalingFactor = 89647558 / mainCanvas.scale ();
295
303
296
304
// dock should inherit scale
297
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 89647558 , 1000000 );
305
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 89647558 , 1000000 );
298
306
299
307
// ensure scale is multiplied by factor
300
308
dock.setScaleFactor ( 2.5 );
301
309
mainCanvas.zoomScale ( 44823779 );
302
310
303
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 17929511 , 1000000 );
311
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 17929511 , 1000000 );
304
312
305
313
// change scale in dock and check it is respected by main canvas
306
314
dock.setScaleFactor ( 1.0 );
307
315
dock.mapCanvas ()->zoomScale ( 1500000 );
308
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 1500000 , 1000 );
309
- QGSCOMPARENEAR ( mainCanvas.scale (), 1500000 , 1000 );
316
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 1500000 , 1000 );
317
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor , 1500000 , 1000 );
310
318
311
319
dock.setScaleFactor ( 2.0 );
312
320
dock.mapCanvas ()->zoomScale ( 1000000 );
313
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 1000000 , 1000 );
314
- QGSCOMPARENEAR ( mainCanvas.scale (), 2000000 , 1000 );
321
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 1000000 , 1000 );
322
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor , 2000000 , 1000 );
315
323
316
324
// center SHOULD be synced
317
325
dock.mapCanvas ()->setCenter ( QgsPointXY ( -22329833 , 3515327 ) );
@@ -333,11 +341,9 @@ void TestQgsMapCanvasDockWidget::testScaleAndCenterSync()
333
341
QGSCOMPARENEAR ( dock.mapCanvas ()->center ().y (), -227904 , 1000 );
334
342
QGSCOMPARENEAR ( mainCanvas.center ().x (), -4467497 , 1000 );
335
343
QGSCOMPARENEAR ( mainCanvas.center ().y (), -227904 , 1000 );
336
- QGSCOMPARENEAR ( dock.mapCanvas ()->scale (), 500000 , 10000 );
337
- QGSCOMPARENEAR ( mainCanvas.scale (), 1000000 , 100000 );
344
+ QGSCOMPARENEAR ( dock.mapCanvas ()->scale () * testScalingFactor , 500000 , 10000 );
345
+ QGSCOMPARENEAR ( mainCanvas.scale () * testScalingFactor , 1000000 , 100000 );
338
346
}
339
347
340
-
341
-
342
348
QGSTEST_MAIN ( TestQgsMapCanvasDockWidget )
343
349
#include " testqgsmapcanvasdockwidget.moc"
0 commit comments