void UBBoardView::mouseReleaseEvent (QMouseEvent *event) { UBStylusTool::Enum currentTool = (UBStylusTool::Enum)UBDrawingController::drawingController ()->stylusTool (); scene ()->setToolCursor (currentTool); setToolCursor (currentTool); // first propagate device release to the scene if (scene ()) scene ()->inputDeviceRelease (); if (currentTool == UBStylusTool::Selector) { QGraphicsView::mouseReleaseEvent (event); } else if (currentTool == UBStylusTool::Text) { if (mRubberBand) mRubberBand->hide (); if (scene () && mRubberBand && mIsCreatingTextZone) { QRect rubberRect = mRubberBand->geometry (); UBGraphicsTextItem* textItem = scene ()->addText ("", mapToScene (rubberRect.topLeft ())); event->accept (); UBDrawingController::drawingController ()->setStylusTool (UBStylusTool::Selector); textItem->setSelected (true); } else { QGraphicsView::mouseReleaseEvent (event); } mIsCreatingTextZone = false; } else if (currentTool == UBStylusTool::Capture) { if (mRubberBand) mRubberBand->hide (); if (scene () && mRubberBand && mIsCreatingSceneGrabZone && mRubberBand->geometry ().width () > 16) { QRect rect = mRubberBand->geometry (); QPointF sceneTopLeft = mapToScene (rect.topLeft ()); QPointF sceneBottomRight = mapToScene (rect.bottomRight ()); QRectF sceneRect (sceneTopLeft, sceneBottomRight); mController->grabScene (sceneRect); event->accept (); } else { QGraphicsView::mouseReleaseEvent (event); } mIsCreatingSceneGrabZone = false; } else { if (mPendingStylusReleaseEvent || mMouseButtonIsPressed) { event->accept (); } } mMouseButtonIsPressed = false; mPendingStylusReleaseEvent = false; mTabletStylusIsPressed = false; }
void UBGraphicsTextItem::copyItemParameters(UBItem *copy) const { UBGraphicsTextItem *cp = dynamic_cast<UBGraphicsTextItem*>(copy); if (cp) { cp->setHtml(toHtml()); cp->setPos(this->pos()); cp->setTransform(this->transform()); cp->setFlag(QGraphicsItem::ItemIsMovable, true); cp->setFlag(QGraphicsItem::ItemIsSelectable, true); cp->setData(UBGraphicsItemData::ItemLayerType, this->data(UBGraphicsItemData::ItemLayerType)); cp->setData(UBGraphicsItemData::ItemLocked, this->data(UBGraphicsItemData::ItemLocked)); cp->setData(UBGraphicsItemData::ItemEditable, data(UBGraphicsItemData::ItemEditable).toBool()); cp->setTextWidth(this->textWidth()); cp->setTextHeight(this->textHeight()); cp->setSourceUrl(this->sourceUrl()); } }
UBItem* UBGraphicsTextItem::deepCopy() const { UBGraphicsTextItem* copy = new UBGraphicsTextItem(); copy->setPlainText(this->toPlainText()); copy->setPos(this->pos()); copy->setZValue(this->zValue()); copy->setTransform(this->transform()); copy->setFlag(QGraphicsItem::ItemIsMovable, true); copy->setFlag(QGraphicsItem::ItemIsSelectable, true); copy->setData(UBGraphicsItemData::ItemLayerType, this->data(UBGraphicsItemData::ItemLayerType)); copy->setData(UBGraphicsItemData::ItemLocked, this->data(UBGraphicsItemData::ItemLocked)); copy->setDefaultTextColor(this->defaultTextColor()); copy->setFont(this->font()); copy->setColorOnDarkBackground(this->colorOnDarkBackground()); copy->setColorOnLightBackground(this->colorOnLightBackground()); copy->setTextWidth(this->textWidth()); copy->setTextHeight(this->textHeight()); copy->setSourceUrl(this->sourceUrl()); // TODO UB 4.7 ... complete all members ? return copy; }