mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-27 00:33:48 -05:00
Fix for bug #1717
git-svn-id: http://svn.osgeo.org/qgis/trunk@10856 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
320759842b
commit
713bd190d7
@ -101,6 +101,7 @@ void QgsComposerView::mousePressEvent( QMouseEvent* e )
|
||||
{
|
||||
QTransform t;
|
||||
mRubberBandItem = new QGraphicsRectItem( 0, 0, 0, 0 );
|
||||
mRubberBandStartPos = QPointF(snappedScenePoint.x(), snappedScenePoint.y());
|
||||
t.translate( snappedScenePoint.x(), snappedScenePoint.y() );
|
||||
mRubberBandItem->setTransform( t );
|
||||
mRubberBandItem->setZValue( 100 );
|
||||
@ -235,10 +236,43 @@ void QgsComposerView::mouseMoveEvent( QMouseEvent* e )
|
||||
|
||||
case AddMap:
|
||||
//adjust rubber band item
|
||||
newWidth = scenePoint.x() - mRubberBandItem->transform().dx();
|
||||
newHeight = scenePoint.y() - mRubberBandItem->transform().dy();
|
||||
mRubberBandItem->setRect( 0, 0, newWidth, newHeight );
|
||||
break;
|
||||
{
|
||||
double x = 0;
|
||||
double y = 0;
|
||||
double width = 0;
|
||||
double height = 0;
|
||||
|
||||
double dx = scenePoint.x() - mRubberBandStartPos.x();
|
||||
double dy = scenePoint.y() - mRubberBandStartPos.y();
|
||||
|
||||
if(dx < 0)
|
||||
{
|
||||
x = scenePoint.x();
|
||||
width = -dx;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = mRubberBandStartPos.x();
|
||||
width = dx;
|
||||
}
|
||||
|
||||
if(dy < 0)
|
||||
{
|
||||
y = scenePoint.y();
|
||||
height = -dy;
|
||||
}
|
||||
else
|
||||
{
|
||||
y = mRubberBandStartPos.y();
|
||||
height = dy;
|
||||
}
|
||||
|
||||
mRubberBandItem->setRect( 0, 0, width, height );
|
||||
QTransform t;
|
||||
t.translate(x, y);
|
||||
mRubberBandItem->setTransform(t);
|
||||
break;
|
||||
}
|
||||
|
||||
case MoveItemContent:
|
||||
{
|
||||
|
@ -107,6 +107,8 @@ class GUI_EXPORT QgsComposerView: public QGraphicsView
|
||||
QgsComposerItem* mMoveContentItem;
|
||||
/**Start position of content move*/
|
||||
QPointF mMoveContentStartPos;
|
||||
/**Start of rubber band creation*/
|
||||
QPointF mRubberBandStartPos;
|
||||
|
||||
public slots:
|
||||
/**For QgsComposerItemGroup to send its signals to QgsComposer (or other classes that keep track of input widgets)*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user