Skip to content

Commit 377b451

Browse files
committedApr 12, 2013
Keep item position constant if reference point changes (ticket #7519)
1 parent 71c45c0 commit 377b451

File tree

2 files changed

+116
-9
lines changed

2 files changed

+116
-9
lines changed
 

‎src/app/composer/qgscomposeritemwidget.cpp

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,3 +414,110 @@ void QgsComposerItemWidget::on_mItemIdLineEdit_editingFinished()
414414
mItem->endCommand();
415415
}
416416
}
417+
418+
void QgsComposerItemWidget::on_mUpperLeftCheckBox_stateChanged( int state )
419+
{
420+
if ( state != Qt::Checked )
421+
return;
422+
if ( mItem )
423+
{
424+
mItem->setItemPosition( mItem->transform().dx(), mItem->transform().dy(), QgsComposerItem::UpperLeft );
425+
}
426+
setValuesForGuiPositionElements();
427+
}
428+
429+
void QgsComposerItemWidget::on_mUpperMiddleCheckBox_stateChanged( int state )
430+
{
431+
if ( state != Qt::Checked )
432+
return;
433+
if ( mItem )
434+
{
435+
mItem->setItemPosition( mItem->transform().dx() + mItem->rect().width() / 2.0,
436+
mItem->transform().dy(), QgsComposerItem::UpperMiddle );
437+
}
438+
setValuesForGuiPositionElements();
439+
}
440+
441+
void QgsComposerItemWidget::on_mUpperRightCheckBox_stateChanged( int state )
442+
{
443+
if ( state != Qt::Checked )
444+
return;
445+
if ( mItem )
446+
{
447+
mItem->setItemPosition( mItem->transform().dx() + mItem->rect().width(),
448+
mItem->transform().dy(), QgsComposerItem::UpperRight );
449+
}
450+
setValuesForGuiPositionElements();
451+
}
452+
453+
void QgsComposerItemWidget::on_mMiddleLeftCheckBox_stateChanged( int state )
454+
{
455+
if ( state != Qt::Checked )
456+
return;
457+
if ( mItem )
458+
{
459+
mItem->setItemPosition( mItem->transform().dx(),
460+
mItem->transform().dy() + mItem->rect().height() / 2.0, QgsComposerItem::MiddleLeft );
461+
}
462+
setValuesForGuiPositionElements();
463+
}
464+
465+
void QgsComposerItemWidget::on_mMiddleCheckBox_stateChanged( int state )
466+
{
467+
if ( state != Qt::Checked )
468+
return;
469+
if ( mItem )
470+
{
471+
mItem->setItemPosition( mItem->transform().dx() + mItem->rect().width() / 2.0,
472+
mItem->transform().dy() + mItem->rect().height() / 2.0, QgsComposerItem::Middle );
473+
}
474+
setValuesForGuiPositionElements();
475+
}
476+
477+
void QgsComposerItemWidget::on_mMiddleRightCheckBox_stateChanged( int state )
478+
{
479+
if ( state != Qt::Checked )
480+
return;
481+
if ( mItem )
482+
{
483+
mItem->setItemPosition( mItem->transform().dx() + mItem->rect().width(),
484+
mItem->transform().dy() + mItem->rect().height() / 2.0, QgsComposerItem::MiddleRight );
485+
}
486+
setValuesForGuiPositionElements();
487+
}
488+
489+
void QgsComposerItemWidget::on_mLowerLeftCheckBox_stateChanged( int state )
490+
{
491+
if ( state != Qt::Checked )
492+
return;
493+
if ( mItem )
494+
{
495+
mItem->setItemPosition( mItem->transform().dx(),
496+
mItem->transform().dy() + mItem->rect().height(), QgsComposerItem::LowerLeft );
497+
}
498+
setValuesForGuiPositionElements();
499+
}
500+
501+
void QgsComposerItemWidget::on_mLowerMiddleCheckBox_stateChanged( int state )
502+
{
503+
if ( state != Qt::Checked )
504+
return;
505+
if ( mItem )
506+
{
507+
mItem->setItemPosition( mItem->transform().dx() + mItem->rect().width() / 2.0,
508+
mItem->transform().dy() + mItem->rect().height(), QgsComposerItem::LowerMiddle );
509+
}
510+
setValuesForGuiPositionElements();
511+
}
512+
513+
void QgsComposerItemWidget::on_mLowerRightCheckBox_stateChanged( int state )
514+
{
515+
if ( state != Qt::Checked )
516+
return;
517+
if ( mItem )
518+
{
519+
mItem->setItemPosition( mItem->transform().dx() + mItem->rect().width(),
520+
mItem->transform().dy() + mItem->rect().height(), QgsComposerItem::LowerRight );
521+
}
522+
setValuesForGuiPositionElements();
523+
}

‎src/app/composer/qgscomposeritemwidget.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,15 @@ class QgsComposerItemWidget: public QWidget, private Ui::QgsComposerItemWidgetBa
6060
void on_mWidthLineEdit_editingFinished() { changeItemPosition(); }
6161
void on_mHeightLineEdit_editingFinished() { changeItemPosition(); }
6262

63-
void on_mUpperLeftCheckBox_stateChanged( int state ) { Q_UNUSED( state ); changeItemPosition(); }
64-
void on_mUpperMiddleCheckBox_stateChanged( int state ) { Q_UNUSED( state ); changeItemPosition(); }
65-
void on_mUpperRightCheckBox_stateChanged( int state ) { Q_UNUSED( state ); changeItemPosition(); }
66-
void on_mMiddleLeftCheckBox_stateChanged( int state ) { Q_UNUSED( state ); changeItemPosition(); }
67-
void on_mMiddleCheckBox_stateChanged( int state ) { Q_UNUSED( state ); changeItemPosition(); }
68-
void on_mMiddleRightCheckBox_stateChanged( int state ) { Q_UNUSED( state ); changeItemPosition(); }
69-
void on_mLowerLeftCheckBox_stateChanged( int state ) { Q_UNUSED( state ); changeItemPosition(); }
70-
void on_mLowerMiddleCheckBox_stateChanged( int state ) { Q_UNUSED( state ); changeItemPosition(); }
71-
void on_mLowerRightCheckBox_stateChanged( int state ) { Q_UNUSED( state ); changeItemPosition(); }
63+
void on_mUpperLeftCheckBox_stateChanged( int state );
64+
void on_mUpperMiddleCheckBox_stateChanged( int state );
65+
void on_mUpperRightCheckBox_stateChanged( int state );
66+
void on_mMiddleLeftCheckBox_stateChanged( int state );
67+
void on_mMiddleCheckBox_stateChanged( int state );
68+
void on_mMiddleRightCheckBox_stateChanged( int state );
69+
void on_mLowerLeftCheckBox_stateChanged( int state );
70+
void on_mLowerMiddleCheckBox_stateChanged( int state );
71+
void on_mLowerRightCheckBox_stateChanged( int state );
7272

7373
void on_mBlendModeCombo_currentIndexChanged( int index );
7474
void on_mTransparencySlider_valueChanged( int value );

0 commit comments

Comments
 (0)