git-svn-id: http://svn.osgeo.org/qgis/trunk@10856 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
mhugent 2009-05-28 17:59:35 +00:00
parent 320759842b
commit 713bd190d7
2 changed files with 40 additions and 4 deletions

View File

@ -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:
{

View File

@ -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)*/