18
18
#include " qgscomposeritemwidget.h"
19
19
#include " qgscomposeritem.h"
20
20
#include " qgscomposermap.h"
21
+ #include " qgscomposition.h"
21
22
#include " qgspoint.h"
22
23
#include < QColorDialog>
23
24
#include < QPen>
@@ -46,6 +47,7 @@ QgsComposerItemWidget::QgsComposerItemWidget( QWidget* parent, QgsComposerItem*
46
47
mHeightLineEdit ->setValidator ( new QDoubleValidator ( 0 ) );
47
48
48
49
setValuesForGuiElements ();
50
+ connect ( mItem ->composition (), SIGNAL ( paperSizeChanged () ), this , SLOT ( setValuesForGuiPositionElements () ) );
49
51
connect ( mItem , SIGNAL ( sizeChanged () ), this , SLOT ( setValuesForGuiPositionElements () ) );
50
52
connect ( mItem , SIGNAL ( itemChanged () ), this , SLOT ( setValuesForGuiNonPositionElements () ) );
51
53
@@ -142,7 +144,7 @@ void QgsComposerItemWidget::changeItemPosition()
142
144
return ;
143
145
}
144
146
145
- mItem ->setItemPosition ( x, y, width, height, positionMode () );
147
+ mItem ->setItemPosition ( x, y, width, height, positionMode (), false , mPageSpinBox -> value () );
146
148
147
149
mItem ->update ();
148
150
mItem ->endCommand ();
@@ -270,73 +272,76 @@ void QgsComposerItemWidget::setValuesForGuiPositionElements()
270
272
mLowerLeftCheckBox ->blockSignals ( true );
271
273
mLowerMiddleCheckBox ->blockSignals ( true );
272
274
mLowerRightCheckBox ->blockSignals ( true );
275
+ mPageSpinBox ->blockSignals ( true );
273
276
277
+ QPointF pos = mItem ->pagePos ();
274
278
275
279
if ( mItem ->lastUsedPositionMode () == QgsComposerItem::UpperLeft )
276
280
{
277
281
mUpperLeftCheckBox ->setChecked ( true );
278
- mXLineEdit ->setText ( QString::number ( mItem -> pos () .x () ) );
279
- mYLineEdit ->setText ( QString::number ( mItem -> pos () .y () ) );
282
+ mXLineEdit ->setText ( QString::number ( pos.x () ) );
283
+ mYLineEdit ->setText ( QString::number ( pos.y () ) );
280
284
}
281
285
282
286
if ( mItem ->lastUsedPositionMode () == QgsComposerItem::UpperMiddle )
283
287
{
284
288
mUpperMiddleCheckBox ->setChecked ( true );
285
- mXLineEdit ->setText ( QString::number ( mItem -> pos () .x () + mItem ->rect ().width () / 2.0 ) );
286
- mYLineEdit ->setText ( QString::number ( mItem -> pos () .y () ) );
289
+ mXLineEdit ->setText ( QString::number ( pos.x () + mItem ->rect ().width () / 2.0 ) );
290
+ mYLineEdit ->setText ( QString::number ( pos.y () ) );
287
291
}
288
292
289
293
if ( mItem ->lastUsedPositionMode () == QgsComposerItem::UpperRight )
290
294
{
291
295
mUpperRightCheckBox ->setChecked ( true );
292
- mXLineEdit ->setText ( QString::number ( mItem -> pos () .x () + mItem ->rect ().width () ) );
293
- mYLineEdit ->setText ( QString::number ( mItem -> pos () .y () ) );
296
+ mXLineEdit ->setText ( QString::number ( pos.x () + mItem ->rect ().width () ) );
297
+ mYLineEdit ->setText ( QString::number ( pos.y () ) );
294
298
}
295
299
296
300
if ( mItem ->lastUsedPositionMode () == QgsComposerItem::MiddleLeft )
297
301
{
298
302
mMiddleLeftCheckBox ->setChecked ( true );
299
- mXLineEdit ->setText ( QString::number ( mItem -> pos () .x () ) );
300
- mYLineEdit ->setText ( QString::number ( mItem -> pos () .y () + mItem ->rect ().height () / 2.0 ) );
303
+ mXLineEdit ->setText ( QString::number ( pos.x () ) );
304
+ mYLineEdit ->setText ( QString::number ( pos.y () + mItem ->rect ().height () / 2.0 ) );
301
305
}
302
306
303
307
if ( mItem ->lastUsedPositionMode () == QgsComposerItem::Middle )
304
308
{
305
309
mMiddleCheckBox ->setChecked ( true );
306
- mXLineEdit ->setText ( QString::number ( mItem -> pos () .x () + mItem ->rect ().width () / 2.0 ) );
307
- mYLineEdit ->setText ( QString::number ( mItem -> pos () .y () + mItem ->rect ().height () / 2.0 ) );
310
+ mXLineEdit ->setText ( QString::number ( pos.x () + mItem ->rect ().width () / 2.0 ) );
311
+ mYLineEdit ->setText ( QString::number ( pos.y () + mItem ->rect ().height () / 2.0 ) );
308
312
}
309
313
310
314
if ( mItem ->lastUsedPositionMode () == QgsComposerItem::MiddleRight )
311
315
{
312
316
mMiddleRightCheckBox ->setChecked ( true );
313
- mXLineEdit ->setText ( QString::number ( mItem -> pos () .x () + mItem ->rect ().width () ) );
314
- mYLineEdit ->setText ( QString::number ( mItem -> pos () .y () + mItem ->rect ().height () / 2.0 ) );
317
+ mXLineEdit ->setText ( QString::number ( pos.x () + mItem ->rect ().width () ) );
318
+ mYLineEdit ->setText ( QString::number ( pos.y () + mItem ->rect ().height () / 2.0 ) );
315
319
}
316
320
317
321
if ( mItem ->lastUsedPositionMode () == QgsComposerItem::LowerLeft )
318
322
{
319
323
mLowerLeftCheckBox ->setChecked ( true );
320
- mXLineEdit ->setText ( QString::number ( mItem -> pos () .x () ) );
321
- mYLineEdit ->setText ( QString::number ( mItem -> pos () .y () + mItem ->rect ().height () ) );
324
+ mXLineEdit ->setText ( QString::number ( pos.x () ) );
325
+ mYLineEdit ->setText ( QString::number ( pos.y () + mItem ->rect ().height () ) );
322
326
}
323
327
324
328
if ( mItem ->lastUsedPositionMode () == QgsComposerItem::LowerMiddle )
325
329
{
326
330
mLowerMiddleCheckBox ->setChecked ( true );
327
- mXLineEdit ->setText ( QString::number ( mItem -> pos () .x () + mItem ->rect ().width () / 2.0 ) );
328
- mYLineEdit ->setText ( QString::number ( mItem -> pos () .y () + mItem ->rect ().height () ) );
331
+ mXLineEdit ->setText ( QString::number ( pos.x () + mItem ->rect ().width () / 2.0 ) );
332
+ mYLineEdit ->setText ( QString::number ( pos.y () + mItem ->rect ().height () ) );
329
333
}
330
334
331
335
if ( mItem ->lastUsedPositionMode () == QgsComposerItem::LowerRight )
332
336
{
333
337
mLowerRightCheckBox ->setChecked ( true );
334
- mXLineEdit ->setText ( QString::number ( mItem -> pos () .x () + mItem ->rect ().width () ) );
335
- mYLineEdit ->setText ( QString::number ( mItem -> pos () .y () + mItem ->rect ().height () ) );
338
+ mXLineEdit ->setText ( QString::number ( pos.x () + mItem ->rect ().width () ) );
339
+ mYLineEdit ->setText ( QString::number ( pos.y () + mItem ->rect ().height () ) );
336
340
}
337
341
338
342
mWidthLineEdit ->setText ( QString::number ( mItem ->rect ().width () ) );
339
343
mHeightLineEdit ->setText ( QString::number ( mItem ->rect ().height () ) );
344
+ mPageSpinBox ->setValue ( mItem ->page () );
340
345
341
346
342
347
mXLineEdit ->blockSignals ( false );
@@ -352,6 +357,7 @@ void QgsComposerItemWidget::setValuesForGuiPositionElements()
352
357
mLowerLeftCheckBox ->blockSignals ( false );
353
358
mLowerMiddleCheckBox ->blockSignals ( false );
354
359
mLowerRightCheckBox ->blockSignals ( false );
360
+ mPageSpinBox ->blockSignals ( false );
355
361
}
356
362
357
363
void QgsComposerItemWidget::setValuesForGuiNonPositionElements ()
0 commit comments