Пример #1
0
 virtual void resizeEvent(QResizeEvent *event)
 {
     QGraphicsView::resizeEvent(event);
     MainWindow *main_window = qobject_cast<MainWindow *>(parentWidget());
     if (scene()->inherits("RoomScene")) {
         RoomScene *room_scene = qobject_cast<RoomScene *>(scene());
         QRectF newSceneRect(0, 0, event->size().width(), event->size().height());
         room_scene->setSceneRect(newSceneRect);
         room_scene->adjustItems();
         setSceneRect(room_scene->sceneRect());
         if (newSceneRect != room_scene->sceneRect())
             fitInView(room_scene->sceneRect(), Qt::KeepAspectRatio);
         else
             this->resetTransform();
         main_window->setBackgroundBrush(false);
         return;
     } else if (scene()->inherits("StartScene")) {
         StartScene *start_scene = qobject_cast<StartScene *>(scene());
         QRectF newSceneRect(-event->size().width() / 2, -event->size().height() / 2,
             event->size().width(), event->size().height());
         start_scene->setSceneRect(newSceneRect);
         setSceneRect(start_scene->sceneRect());
         if (newSceneRect != start_scene->sceneRect())
             fitInView(start_scene->sceneRect(), Qt::KeepAspectRatio);
     }
     if (main_window)
         main_window->setBackgroundBrush(true);
 }
Пример #2
0
bool Pane::eventFilter(QObject *obj, QEvent *event)
{
    switch (event->type()) {
    case QEvent::WindowActivate: {
        QRectF newSceneRect(QPointF(0.0, 0.0), maximumViewportSize());
        m_scene->setSceneRect(newSceneRect);
    }
        break;
    case QEvent::GraphicsSceneMousePress: {
        if (!m_active) {
            /* Clear everything */
            m_points.clear();
            m_angles.clear();
            QList<QGraphicsItem*> items = m_scene->items();
            foreach (QGraphicsItem *item, items) {
                m_scene->removeItem(item);
                delete item;
            }
            m_active = true;
        }
        QGraphicsSceneMouseEvent *mouseEvent =
            static_cast<QGraphicsSceneMouseEvent*>(event);

        Q_ASSERT(mouseEvent);

        QPointF point = mouseEvent->scenePos();
        m_out << point.x() << ","
              << point.y() << ","
              << QDateTime::currentMSecsSinceEpoch() << "\n";

        m_points << point;
    }
Пример #3
0
void QgsComposerItem::updatePagePos( double newPageWidth, double newPageHeight )
{
  Q_UNUSED( newPageWidth )
  QPointF curPagePos = pagePos();
  int curPage = page() - 1;

  double y = curPage * ( newPageHeight + composition()->spaceBetweenPages() ) + curPagePos.y();
  QRectF newSceneRect( pos().x(), y, rect().width(), rect().height() );

  setSceneRect( evalItemRect( newSceneRect ) );
  emit sizeChanged();
}
Пример #4
0
void MainView::resizeEvent(QResizeEvent *event)
{
//    qDebug() << "resize event, new size: " << event->size();
    QRect newSceneRect( 0, 0, event->size().width(), event->size().height() );
    scene()->setSceneRect( 0, 0, event->size().width(), event->size().height() );
    if ( m_mainWindow )
    {
        m_mainWindow->resize( event->size() );
    }

    QGraphicsView::resizeEvent( event );
}
void QgsComposerPictureWidget::on_mHeightLineEdit_editingFinished()
{
  if ( mPicture )
  {
    QRectF pictureRect = mPicture->rect();

    bool conversionOk;
    double newHeight = mHeightLineEdit->text().toDouble( &conversionOk );
    if ( conversionOk )
    {
      mPicture->beginCommand( tr( "Picture height changed" ) );
      QRectF newSceneRect( mPicture->transform().dx(), mPicture->transform().dy(), pictureRect.width(), newHeight );
      mPicture->setSceneRect( newSceneRect );
      mPicture->endCommand();
    }
  }
}
    virtual void resizeEvent(QResizeEvent *event) {
        QGraphicsView::resizeEvent(event);
        QGraphicsScene *scene = this->scene();
        if (scene) {
            QRectF newSceneRect(0, 0, event->size().width(), event->size().height());
            scene->setSceneRect(newSceneRect);
            if (scene->sceneRect().size() != event->size()) {
                QSizeF from(scene->sceneRect().size());
                QSizeF to(event->size());
                QTransform transform;
                transform.scale(to.width() / from.width(), to.height() / from.height());
                setTransform(transform);
            } else {
                resetTransform();
            }
            setSceneRect(scene->sceneRect());
        }

        MainWindow *main_window = qobject_cast<MainWindow *>(parentWidget());
        if (main_window)
            main_window->fitBackgroundBrush();
    }
Пример #7
0
	virtual void resizeEvent(QResizeEvent *event) {
		QGraphicsView::resizeEvent(event);
		setSceneRect(Config.Rect);
		if(Config.FitInView)
			fitInView(sceneRect(), Qt::KeepAspectRatio);
		if(matrix().m11() > 1)
			setMatrix(QMatrix());

		MainWindow *main_window = qobject_cast<MainWindow *>(parentWidget());
		if(scene()->inherits("RoomScene")){
			RoomScene *room_scene = qobject_cast<RoomScene *>(scene());
			QRectF newSceneRect(0, 0, event->size().width(), event->size().height());
			room_scene->setSceneRect(newSceneRect);
			room_scene->adjustItems();
			setSceneRect(room_scene->sceneRect());
			if(Config.FitInView)
				fitInView(room_scene->sceneRect(), Qt::KeepAspectRatio);
			main_window->setBackgroundBrush(false);
			return;
		}

		if(main_window)
			main_window->setBackgroundBrush(true);
	}
Пример #8
0
void QgsComposerItem::move( double dx, double dy )
{
  QRectF newSceneRect( pos().x() + dx, pos().y() + dy, rect().width(), rect().height() );
  setSceneRect( evalItemRect( newSceneRect ) );
}
Пример #9
0
void QgsComposerItem::move( double dx, double dy )
{
    QTransform t = transform();
    QRectF newSceneRect( t.dx() + dx, t.dy() + dy, rect().width(), rect().height() );
    setSceneRect( newSceneRect );
}