Exemple #1
0
void GraphWidget::draw(ITree<GuiNode>* tree)
{
    //Reset properties (only usefull when drawing more than one tree)
    resetCachedContent();
    resetMatrix();
    resetTransform();

    //Set Properties
    setCacheMode(CacheBackground);
    setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
    setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
    setDragMode(QGraphicsView::ScrollHandDrag);
    rotate(qreal(-90));


    //Create scene
    QGraphicsScene* scene;
    if (this->scene() != NULL)
    {
        scene = this->scene();
        QListIterator<QGraphicsItem*> items(scene->items());
        while (items.hasNext())
        {
            scene->removeItem(items.next());
        }
        delete scene;
    }
    scene = new QGraphicsScene(this);
    this->setScene(scene);
    this->tree = tree;
    drawTree(this->scene(), tree->getRoot());

    //Ensure visibility of the tree
    this->fitInView(this->scene()->itemsBoundingRect(), Qt::KeepAspectRatio);
}
void LiveSelectionIndicator::clear()
{
    if (!m_layerItem.isNull()) {
        QGraphicsScene *scene = m_layerItem.data()->scene();
        foreach (QGraphicsRectItem *item, m_indicatorShapeHash) {
            scene->removeItem(item);
            delete item;
        }
void QgsHtmlAnnotationDialog::deleteItem()
{
  QGraphicsScene* scene = mItem->scene();
  if ( scene )
  {
    scene->removeItem( mItem );
  }
  delete mItem;
  mItem = nullptr;
}
void QgsFormAnnotationDialog::deleteItem()
{
  QGraphicsScene* scene = mItem->scene();
  if ( scene )
  {
    scene->removeItem( mItem );
  }
  delete mItem;
  mItem = 0;
}
void UBGraphicsVideoItemDelegate::remove(bool canUndo)
{
    if (delegated() && delegated()->mediaObject())
        delegated()->mediaObject()->stop();

    QGraphicsScene* scene = mDelegated->scene();

    scene->removeItem(mVideoControl);

    UBGraphicsItemDelegate::remove(canUndo);
}
void HistogramView::draw( QSize sz )
{
    QGraphicsScene *sc = scene();
    assert(sc);

    m_xRatio = 1.0 * ( sz.width() - 4*m_Border ) / ( m_maxX - m_minX );
    m_yRatio = 1.0 * ( sz.height() - 2*m_Border ) / ( m_maxY - m_minY );

    // eleimino la vecchia scena
    if (m_histogramItems != NULL)
    {
        sc->removeItem(m_histogramItems);
        delete m_histogramItems;
        m_histogramItems = NULL;
    }
    m_histogramItems = new QGraphicsItemGroup;

    // inizio i disegni
    addAxis( sz );

    //texts on axes
    //addText( m_minY, QPointF( 0, PosY(m_minY,sz) ) );
    //addText( m_maxY, QPointF( 0, PosY(m_maxY,sz) ) );

    addGridLine( 0, H, sz );

    int nlines = 5;
    for (int i=0; i<nlines; i++)
        addGridLine(  AutoRound( m_minY + (m_maxY-m_minY)*i/nlines  ), H, sz );

    //vertical line histogram from zero
    const float y2 = PosY (0, sz);
    for (auto ih: m_histo)
    {
        const float x1 = PosX (ih.first);
        const float y1 = PosY (ih.second, sz);
        if (y1 != 0)
        {
            QGraphicsLineItem *pt = new QGraphicsLineItem( QLineF(x1, y2, x1, y1) );
            pt->setPen(m_measurePen);
            m_histogramItems->addToGroup(pt);
        }
    }

    sc->addItem(m_histogramItems);

    //update scene rectangle.
    QRectF rectSc = m_histogramItems->boundingRect();
    scene()->setSceneRect(rectSc);

    setRenderHint(QPainter::HighQualityAntialiasing, true);

    //assert(scene()->sceneRect() == sceneRect());
}
ResizeControllerData::~ResizeControllerData()
{
    if (layerItem) {
        QGraphicsScene *scene = layerItem->scene();
        scene->removeItem(topLeftItem.data());
        scene->removeItem(topRightItem.data());
        scene->removeItem(bottomLeftItem.data());
        scene->removeItem(bottomRightItem.data());
        scene->removeItem(topItem.data());
        scene->removeItem(leftItem.data());
        scene->removeItem(rightItem.data());
        scene->removeItem(bottomItem.data());
    }
}
Exemple #8
0
void CardDragItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
	setCursor(Qt::OpenHandCursor);
	QGraphicsScene *sc = scene();
	QPointF sp = pos();
	sc->removeItem(this);

	QList<CardDragItem *> dragItemList;
	CardZone *startZone = static_cast<CardItem *>(item)->getZone();
	if (currentZone && !(static_cast<CardItem *>(item)->getAttachedTo() && (startZone == currentZone))) {
		dragItemList.append(this);
		for (int i = 0; i < childDrags.size(); i++) {
			CardDragItem *c = static_cast<CardDragItem *>(childDrags[i]);
			if (!(static_cast<CardItem *>(c->item)->getAttachedTo() && (startZone == currentZone)) && !c->occupied)
				dragItemList.append(c);
			sc->removeItem(c);
		}
	}
	currentZone->handleDropEvent(dragItemList, startZone, (sp - currentZone->scenePos()).toPoint(), faceDown);

	event->accept();
}
Exemple #9
0
GraphWidget::~GraphWidget()
{
    QGraphicsScene* scene;
    if (this->scene() != NULL)
    {
        scene = this->scene();
        QListIterator<QGraphicsItem*> items(scene->items());
        while (items.hasNext())
        {
            scene->removeItem(items.next());
        }
    }
}
Exemple #10
0
void SnapMode::removeSign()
{

    if( m_SnappingSign != NULL ) 
    {
	QGraphicsScene * scene = m_SnappingSign->scene();
	if( scene )
	{
	    scene->removeItem( m_SnappingSign );
	    m_SnappingSign = NULL;
	}
    }
}
Exemple #11
0
void PheromoneItem::evaporatePheromone()
{
    if(pheromoneValue - evaporationRate > 0){
        decrementPheromoneValue(evaporationRate);
        update();
    }else{
//        canPaint = false;
        QGraphicsScene *esc = scene();
        if(esc){
            esc->removeItem(this);
//            lastPheromones.clear();
        }
        emit pheromoneDeleted(this);
        disconnect();
        delete this;
    }
}
void Ut_LockScreenStatusAreaView::testOrientationChangeUpdatesStatusBarGeometry()
{
    QGraphicsScene scene;
    QGraphicsView view;
    view.setScene(&scene);
    scene.addItem(statusArea);
    statusArea->setGeometry(QRectF(5, 10, 15, 20));
    m_subject->updateStatusBarGeometryProperty();

    testStatusBarGeometryProperty();

    // Setting the same geometry should do nothing
    m_subject->updateStatusBarGeometryProperty();
    QCOMPARE(xChangePropertyCallCount, 1);

    scene.removeItem(statusArea);
}
void Ut_LockScreenStatusAreaView::testSetGeometryConnectsOrientationChangeSignal()
{
    QRectF geometry(0, 0, 15, 20);
    statusArea->setGeometry(geometry);
    QVERIFY(!disconnect(statusArea->sceneManager(), SIGNAL(orientationChangeFinished(M::Orientation)), m_subject, SLOT(updateStatusBarGeometryProperty())));
    QCOMPARE(xChangePropertyCallCount, 0);

    MSceneManager manager;
    mWidgetSceneManager = &manager;
    QGraphicsScene scene;
    QGraphicsView view;
    view.setScene(&scene);
    scene.addItem(statusArea);
    statusArea->setGeometry(geometry);
    QVERIFY(disconnect(statusArea->sceneManager(), SIGNAL(orientationChangeFinished(M::Orientation)), m_subject, SLOT(updateStatusBarGeometryProperty())));
    testStatusBarGeometryProperty();
    scene.removeItem(statusArea);
}
void Ut_MPannableViewport::testExtendedRange()
{
    QFETCH(qreal, sipHeightExtension);
    QFETCH(bool, autoRange);
    QFETCH(qreal, verticalRange);
    QFETCH(qreal, expectedVerticalRange);

    QGraphicsScene scene;
    scene.addItem(subject);

    const QSizeF viewportSize(100, 100);
    subject->resize(viewportSize);
    subject->setMinimumSize(viewportSize);
    subject->setMaximumSize(viewportSize);
    subject->setAutoRange(autoRange);

    QGraphicsWidget *widget = new QGraphicsWidget();
    widget->setPreferredSize(1000,1000);

    subject->setWidget(widget);
    subject->adjustSize();
    subject->layout()->activate();

    subject->setRange(QRectF(QPointF(), QSizeF(0, verticalRange)));

    // Set area occupied by input method area.
    const QRect imArea(subject->geometry().adjusted(0, (viewportSize.height() - sipHeightExtension),
                                                    0, 0).toRect());
    subject->d_func()->setInputMethodArea(imArea);

    const qreal actualVerticalRange = subject->range().height();

    // Remove from scene before possible return/fail from QCOMPARE.
    scene.removeItem(subject);

    QCOMPARE(actualVerticalRange, expectedVerticalRange);
}
Exemple #15
0
void TransWidget::AcceptTrans()
{
    if(edited==NULL)
    {
        emit reportError(QString("Please, select a transition to edit, edit it and then press OK."));
        OKButton->setDisabled(true);
        sourceNameCombo->clear();
        destNameCombo->clear();
        return;
    }
    if(!mod->checkTransitonExists(edited))
    {
        emit reportError(QString("The Transition You have been editing has been deleted"));
        edited=NULL;
        OKButton->setDisabled(true);
        sourceNameCombo->clear();
        destNameCombo->clear();
        return;
    }
    if (edited->startItem()->getName()==sourceNameCombo->currentText() && edited->endItem()->getName()==destNameCombo->currentText())
    {
        if(mod->checkTransCondAvailabe(edited, conditionLineEdit->text()))
        {
            edited->setCondition(conditionLineEdit->text());
            edited->setSubtask(mod->getState(stateCombo->currentText()));
            OKButton->setDisabled(false);
            edited->setToolTip(QString().fromStdString(edited->Print()));
        }
        else //that condition is already used for the source state
        {
            emit reportError(QString("The condition you specified is already in use for the source state."));
        }
    }
    else if( ( edited->startItem()->getName() == sourceNameCombo->currentText() && mod->checkTransCondAvailabe(edited, conditionLineEdit->text()) )
            ||mod->checkTransCondAvailabe(mod->getState(sourceNameCombo->currentText()), conditionLineEdit->text()))
    {
        QString subtaskName = mod->getSubNameOfTrans(edited);
        QGraphicsScene * scene = edited->getScene();
        /*if(edited->startItem()->getName()!=sourceNameCombo->currentText())
        {
            mod->changeSourceStateofTrans(edited, sourceNameCombo->currentText());
        }else{}
        if(edited->endItem()->getName()!=destNameCombo->currentText())
        {
            mod->changeDestStateofTrans(edited, destNameCombo->currentText());
        }else{}
        edited->setCondition(conditionLineEdit->text());
        edited->setSubtask(mod->getState(stateCombo->currentText()));
        OKButton->setDisabled(false);
        edited->setToolTip(QString().fromStdString(edited->Print()));*/
Transition * todelete = edited;
        mod->deleteTransition(edited);
        scene->removeItem(todelete);
        delete todelete;//?

        Transition * tr = new Transition(mod->getState(sourceNameCombo->currentText(), subtaskName), mod->getState(destNameCombo->currentText(), subtaskName));
        tr->setScene(scene);
        tr->setCondition(conditionLineEdit->text());
        tr->setSubtask(mod->getState(stateCombo->currentText()));
        tr->startItem()->addTransition(tr);
        if(tr->startItem()!=tr->endItem())tr->endItem()->addTransition(tr);
        tr->setZValue(-1000.0);
        tr->updatePosition();

        tr->setToolTip(QString().fromStdString(tr->Print()));
        scene->addItem(tr);
        bool test = mod->tryInsertTransition(tr);

        this->TransSelected(tr);
    }
    else
    {
        emit reportError(QString("The condition you specified is already in use for the source state."));
    }
}
void QGraphicsCompositeImageItem::SetInteractionModeToNone() {
    QGraphicsScene* scene = this->scene();
    scene->removeItem(m_drawingImageItem);
    m_drawingImageItem = NULL;
}
QmlWindowRenderer::~QmlWindowRenderer()
{
    QGraphicsScene* scene = windowItem_->scene();
    scene->removeItem( windowItem_ );
    delete windowItem_;
}
void Techni::slotDeleteItem(){
    QGraphicsScene *scene = myCanvas->getScene();
    for (int i = 0; i < scene->selectedItems().length(); i++)
        scene->removeItem(scene->selectedItems().at(i));
}