void CanvasMode_CopyProperties::enterEvent(QEvent *) { if (!m_canvas->m_viewMode.m_MouseButtonPressed) { setModeCursor(); } }
void CanvasMode_EditWeldPoint::activate(bool fromGesture) { m_canvas->m_viewMode.m_MouseButtonPressed = false; m_canvas->resetRenderMode(); m_doc->DragP = false; m_doc->leaveDrag = false; m_canvas->m_viewMode.operItemMoving = false; m_canvas->m_viewMode.operItemResizing = false; m_view->MidButt = false; m_keyRepeat = false; m_currItem = m_doc->m_Selection->itemAt(0); m_weldToList = m_currItem->itemsWeldedTo(); m_weldToList.append(m_currItem); m_Mxp = m_Myp = -1; m_selectedPoint = -1; setModeCursor(); if (fromGesture) { m_view->update(); } m_ModeDialog = new WeldEditDialog(m_ScMW); m_ModeDialog->show(); connect(m_ModeDialog, SIGNAL(endEdit()), this, SLOT(endEditing())); connect(m_ModeDialog, SIGNAL(paletteShown(bool)), this, SLOT(endEditing(bool))); connect(m_ModeDialog, SIGNAL(modeMoveWeld()), this, SLOT(setWeldMode())); connect(m_ModeDialog, SIGNAL(modeMoveObject()), this, SLOT(setObjectMode())); }
void CalligraphicMode::activate(bool flag) { Mxp = Myp = -1; Dxp = Dyp = -1; m_MouseButtonPressed = false; setModeCursor(); }
void CalligraphicMode::enterEvent(QEvent *) { if (!m_MouseButtonPressed) { setModeCursor(); } }
void BezierMode::enterEvent(QEvent *) { if (!m_MouseButtonPressed) { setModeCursor(); } }
void CanvasMode_Normal::activate(bool fromGesture) { // qDebug() << "CanvasMode_Normal::activate" << fromGesture; m_canvas->m_viewMode.m_MouseButtonPressed = false; m_canvas->resetRenderMode(); m_doc->DragP = false; m_doc->leaveDrag = false; m_canvas->m_viewMode.operItemMoving = false; m_canvas->m_viewMode.operItemResizing = false; m_view->MidButt = false; m_mousePressPoint.setXY(0, 0); m_mouseCurrentPoint.setXY(0, 0); m_mouseSavedPoint.setXY(0, 0); m_objectDeltaPos.setXY(0,0 ); GxM = GyM = -1; MoveGX = MoveGY = false; frameResizeHandle = -1; shiftSelItems = false; setModeCursor(); if (fromGesture) { m_canvas->m_viewMode.operItemResizeInEditMode = false; m_view->update(); } }
void CanvasMode_EditArc::enterEvent(QEvent *) { if (!m_canvas->m_viewMode.m_MouseButtonPressed) { setModeCursor(); } }
void CanvasMode_EditSpiral::activate(bool fromGesture) { m_VectorDialog = new SpiralVectorDialog(m_ScMW); m_canvas->m_viewMode.m_MouseButtonPressed = false; m_canvas->resetRenderMode(); m_doc->DragP = false; m_doc->leaveDrag = false; m_canvas->m_viewMode.operItemMoving = false; m_canvas->m_viewMode.operItemResizing = false; m_view->MidButt = false; m_Mxp = m_Myp = -1; PageItem *currItem = m_doc->m_Selection->itemAt(0); PageItem_Spiral* item = currItem->asSpiral(); m_startPoint = currItem->PoLine.pointQF(0); m_endPoint = currItem->PoLine.pointQF(currItem->PoLine.size() - 2); m_startAngle = item->spiralStartAngle; m_endAngle = item->spiralEndAngle; m_VectorDialog->setValues(computeRealAngle(m_startAngle, false), computeRealAngle(m_endAngle, false), item->spiralFactor); m_VectorDialog->show(); setModeCursor(); if (fromGesture) { m_view->update(); } connect(m_VectorDialog, SIGNAL(NewVectors(double, double, double)), this, SLOT(applyValues(double, double, double))); connect(m_VectorDialog, SIGNAL(endEdit()), this, SLOT(endEditing())); connect(m_VectorDialog, SIGNAL(paletteShown(bool)), this, SLOT(endEditing(bool))); connect(m_doc, SIGNAL(docChanged()), this, SLOT(updateFromItem())); }
void CanvasMode_EditArc::activate(bool fromGesture) { VectorDialog = new ArcVectorDialog(m_ScMW); m_canvas->m_viewMode.m_MouseButtonPressed = false; m_canvas->resetRenderMode(); m_doc->DragP = false; m_doc->leaveDrag = false; m_canvas->m_viewMode.operItemMoving = false; m_canvas->m_viewMode.operItemResizing = false; m_view->MidButt = false; Mxp = Myp = -1; PageItem *currItem = m_doc->m_Selection->itemAt(0); PageItem_Arc* item = currItem->asArc(); centerPoint = currItem->PoLine.pointQF(0); startPoint = currItem->PoLine.pointQF(3); endPoint = currItem->PoLine.pointQF(currItem->PoLine.size() - 4); widthPoint = QPointF(centerPoint.x() - item->arcWidth / 2.0, centerPoint.y()); heightPoint = QPointF(centerPoint.x(), centerPoint.y() - item->arcHeight / 2.0); startAngle = item->arcStartAngle; endAngle = startAngle + item->arcSweepAngle; QLineF res = QLineF(centerPoint, startPoint); QLineF swe = QLineF(centerPoint, endPoint); VectorDialog->setValues(res.angle(), swe.angle(), item->arcHeight, item->arcWidth); VectorDialog->show(); setModeCursor(); if (fromGesture) { m_view->update(); } connect(VectorDialog, SIGNAL(NewVectors(double, double, double, double)), this, SLOT(applyValues(double, double, double, double))); connect(VectorDialog, SIGNAL(endEdit()), this, SLOT(endEditing())); connect(VectorDialog, SIGNAL(paletteShown(bool)), this, SLOT(endEditing(bool))); connect(m_doc, SIGNAL(docChanged()), this, SLOT(updateFromItem())); }
void CanvasMode_ObjImport::enterEvent(QEvent *) { if (m_mimeData) { setModeCursor(); return; } }
void CanvasMode_ObjImport::enterEvent(QEvent *) { if (m_mimeData) { setModeCursor(); return; } qApp->changeOverrideCursor(QCursor(Qt::ArrowCursor)); }
void BezierMode::activate(bool flag) { // qDebug() << "DrawBezierMode::activate" << flag; Mxp = Myp = -1; MoveGX = MoveGY = false; inItemCreation = false; shiftSelItems = false; FirstPoly = true; setModeCursor(); }
void CanvasMode_Panning::activate(bool fromGesture) { m_canvas->m_viewMode.m_MouseButtonPressed = false; m_canvas->resetRenderMode(); m_doc->DragP = false; m_doc->leaveDrag = false; m_canvas->m_viewMode.operItemMoving = false; m_canvas->m_viewMode.operItemResizing = false; m_view->MidButt = false; setModeCursor(); if (fromGesture) { m_view->update(); } }
void BezierMode::activate(bool flag) { // qDebug() << "DrawBezierMode::activate" << flag; GxM = GyM = -1; Mxp = Myp = -1; Dxp = Dyp = -1; MoveGX = MoveGY = false; oldCp = Cp = -1; frameResizeHandle = -1; RotMode = 0; inItemCreation = false; shiftSelItems = false; FirstPoly = true; setModeCursor(); }
void CanvasMode_Rotate::activate(bool fromGesture) { m_canvas->m_viewMode.m_MouseButtonPressed = false; m_canvas->resetRenderMode(); m_doc->leaveDrag = false; m_view->MidButt = false; m_inItemRotation = false; m_canvasPressCoord.setXY(-1.0, -1.0); m_oldRotMode = m_rotMode = 0; m_oldRotCenter = m_rotCenter = FPoint(0.0, 0.0); m_startAngle = 0.0; setModeCursor(); if (fromGesture) { m_view->update(); } }
void CanvasMode_ObjImport::activate(bool fromGesture) { // qDebug() << "CanvasMode_ObjImport::activate" << fromGesture; m_canvas->m_viewMode.m_MouseButtonPressed = false; m_canvas->resetRenderMode(); m_doc->DragP = false; m_doc->leaveDrag = false; m_canvas->m_viewMode.operItemMoving = false; m_canvas->m_viewMode.operItemResizing = false; m_view->MidButt = false; Mxp = Myp = -1; setModeCursor(); if (fromGesture) { m_view->update(); } }
void CreateMode::activate(bool fromGesture) { PageItem* currItem; // qDebug() << "CreateMode::activate" << fromGesture; if (!fromGesture || !GetItem(&currItem) || !m_createTransaction) { if (m_createTransaction) { // qDebug() << "canceling left over create Transaction"; m_createTransaction.cancel(); m_createTransaction.reset(); } canvasPressCoord.setXY(-1.0, -1.0); mouseGlobalCoord.setXY(-1.0, -1.0); inItemCreation = false; } setModeCursor(); }
void CanvasMode_EditMeshGradient::activate(bool fromGesture) { m_canvas->m_viewMode.m_MouseButtonPressed = false; m_canvas->resetRenderMode(); m_doc->DragP = false; m_doc->leaveDrag = false; m_canvas->m_viewMode.operItemMoving = false; m_canvas->m_viewMode.operItemResizing = false; m_view->MidButt = false; m_selectedMeshPoints.clear(); m_keyRepeat = false; m_Mxp = m_Myp = -1; setModeCursor(); if (fromGesture) { m_view->update(); } }
void CanvasMode_EditPolygon::activate(bool fromGesture) { m_polygonPoint = noPointDefined; m_canvas->m_viewMode.m_MouseButtonPressed = false; m_canvas->resetRenderMode(); m_doc->DragP = false; m_doc->leaveDrag = false; m_canvas->m_viewMode.operItemMoving = false; m_canvas->m_viewMode.operItemResizing = false; m_view->MidButt = false; Mxp = Myp = -1; PageItem *currItem = m_doc->m_Selection->itemAt(0); PageItem_RegularPolygon* item = currItem->asRegularPolygon(); centerPoint = QPointF(currItem->width() / 2.0, currItem->height() / 2.0); startPoint = currItem->PoLine.pointQF(0); endPoint = currItem->PoLine.pointQF(2); polyCorners = item->polyCorners; polyUseFactor = item->polyUseFactor; polyFactor = item->polyFactor; polyRotation = item->polyRotation; polyCurvature = item->polyCurvature; polyInnerRot = item->polyInnerRot; polyOuterCurvature = item->polyOuterCurvature; VectorDialog = new PolyVectorDialog(m_ScMW, polyCorners, polyFactor, polyUseFactor, polyRotation, polyCurvature, polyInnerRot, polyOuterCurvature); VectorDialog->show(); uint cx = polyUseFactor ? polyCorners * 2 : polyCorners; double seg = 360.0 / cx; double trueLength = sqrt(pow(sin(seg / 180.0 * M_PI) * (item->width() / 2.0), 2) + pow(cos(seg / 180.0 * M_PI) * (item->height() / 2.0) + (item->height()/2.0) - item->height(), 2)); QLineF innerLine = QLineF(endPoint, centerPoint); innerLine.setAngle(innerLine.angle() + 90); innerLine.setLength(trueLength * polyCurvature); innerCPoint = innerLine.p2(); QLineF outerLine = QLineF(startPoint, currItem->PoLine.pointQF(6)); outerLine.setLength(outerLine.length() * polyOuterCurvature); outerCPoint = outerLine.p2(); setModeCursor(); if (fromGesture) m_view->update(); connect(m_doc, SIGNAL(docChanged()), this, SLOT(updateFromItem())); connect(VectorDialog, SIGNAL(NewVectors(int, double, bool, double, double, double, double)), this, SLOT(applyValues(int, double, bool, double, double, double, double))); connect(VectorDialog, SIGNAL(endEdit()), this, SLOT(endEditing())); connect(VectorDialog, SIGNAL(paletteShown(bool)), this, SLOT(endEditing(bool))); }
void CanvasMode_EyeDropper::enterEvent(QEvent *) { setModeCursor(); }
void CanvasMode_Rotate::mouseMoveEvent(QMouseEvent *m) { const FPoint mousePointDoc = m_canvas->globalToCanvas(m->globalPos()); m_canvasCurrCoord = mousePointDoc; m_angleConstrained = false; PageItem *currItem; QRect tx; m->accept(); if (GetItem(&currItem)) { m_angleConstrained = ((m->modifiers() & Qt::ControlModifier) != Qt::NoModifier); if (m_view->moveTimerElapsed() && m_canvas->m_viewMode.m_MouseButtonPressed) { m_canvas->repaint(); double itemRotation; FPoint itemPos; getNewItemPosition(currItem, itemPos, itemRotation); m_canvas->displayRotHUD(m->globalPos(), itemRotation); } if (!m_canvas->m_viewMode.m_MouseButtonPressed) { if (m_doc->m_Selection->isMultipleSelection()) { double gx, gy, gh, gw; m_doc->m_Selection->getVisualGroupRect(&gx, &gy, &gw, &gh); int how = m_canvas->frameHitTest(QPointF(mousePointDoc.x(),mousePointDoc.y()), QRectF(gx, gy, gw, gh)); if (how >= 0) { if (how > 0) { setResizeCursor(how); } qApp->changeOverrideCursor(QCursor(loadIcon("Rotieren2.png"))); } else { setModeCursor(); } return; } for (int a = 0; a < m_doc->m_Selection->count(); ++a) { currItem = m_doc->m_Selection->itemAt(a); if (currItem->locked()) break; QMatrix p; m_canvas->Transform(currItem, p); QRect mpo = QRect(m->x()-m_doc->guidesSettings.grabRad, m->y()-m_doc->guidesSettings.grabRad, m_doc->guidesSettings.grabRad*2, m_doc->guidesSettings.grabRad*2); if ((QRegion(p.map(QPolygon(QRect(-3, -3, static_cast<int>(currItem->width()+6), static_cast<int>(currItem->height()+6))))).contains(mpo))) { tx = p.mapRect(QRect(0, 0, static_cast<int>(currItem->width()), static_cast<int>(currItem->height()))); if ((tx.intersects(mpo)) && (!currItem->locked())) { qApp->changeOverrideCursor(QCursor(loadIcon("Rotieren2.png"))); if (!currItem->sizeLocked()) m_view->HandleCurs(currItem, mpo); } } else { // setModeCursor(); } } } } else { if ((m_canvas->m_viewMode.m_MouseButtonPressed) && (m->buttons() & Qt::LeftButton)) { QPoint startP = m_canvas->canvasToGlobal(m_canvasPressCoord); m_view->redrawMarker->setGeometry(QRect(startP, m->globalPos()).normalized()); if (!m_view->redrawMarker->isVisible()) m_view->redrawMarker->show(); m_view->HaveSelRect = true; return; } } }
void CalligraphicMode::mouseMoveEvent(QMouseEvent *m) { const FPoint mousePointDoc = m_canvas->globalToCanvas(m->globalPos()); double newX, newY; PageItem *currItem; QPoint np, np2, mop; FPoint npf, npf2; QRect tx; m->accept(); m_canvas->displayCorrectedXYHUD(m->globalPos(), mousePointDoc.x(), mousePointDoc.y()); if (commonMouseMove(m)) return; if (m_MouseButtonPressed && (m_doc->appMode == modeDrawCalligraphicLine)) { double newXF = mousePointDoc.x(); //m_view->translateToDoc(m->x(), m->y()).x(); double newYF = mousePointDoc.y(); //m_view->translateToDoc(m->x(), m->y()).y(); if (RecordP.size() > 0) { if (FPoint(newXF, newYF) != RecordP.point(RecordP.size()-1)) RecordP.addPoint(FPoint(newXF, newYF)); } else RecordP.addPoint(FPoint(newXF, newYF)); QPolygon& redrawPolygon(m_canvas->newRedrawPolygon()); double mx = sin(m_doc->itemToolPrefs().calligraphicPenAngle / 180.0 * M_PI) * (m_doc->itemToolPrefs().calligraphicPenWidth / 2.0); double my = cos(m_doc->itemToolPrefs().calligraphicPenAngle / 180.0 * M_PI) * (m_doc->itemToolPrefs().calligraphicPenWidth / 2.0); for (int px = 0; px < RecordP.size()-1; ++px) { FPoint clp = RecordP.point(px); redrawPolygon.append(QPoint(qRound(clp.x() - mx), qRound(clp.y() - my))); redrawPolygon.prepend(QPoint(qRound(clp.x() + mx), qRound(clp.y() + my))); } redrawPolygon.append(QPoint(qRound(RecordP.point(RecordP.size()-1).x() + mx), qRound(RecordP.point(RecordP.size()-1).y() + my))); //FIXME m_canvas->m_viewMode.operItemResizing = true; QRect bRect = m_canvas->redrawPolygon().boundingRect(); m_view->updateCanvas(bRect); return; } if (GetItem(&currItem)) { newX = qRound(mousePointDoc.x()); //m_view->translateToDoc(m->x(), m->y()).x()); newY = qRound(mousePointDoc.y()); //m_view->translateToDoc(m->x(), m->y()).y()); if (m_doc->DragP) return; if ((!m_MouseButtonPressed) && (m_doc->appMode != modeDrawBezierLine)) { if (m_doc->m_Selection->isMultipleSelection()) { setModeCursor(); return; } for (int a = 0; a < m_doc->m_Selection->count(); ++a) { currItem = m_doc->m_Selection->itemAt(a); if (currItem->locked()) break; setModeCursor(); } } } else { if ((m_MouseButtonPressed) && (m->buttons() & Qt::LeftButton)) { newX = qRound(mousePointDoc.x()); //m_view->translateToDoc(m->x(), m->y()).x()); newY = qRound(mousePointDoc.y()); //m_view->translateToDoc(m->x(), m->y()).y()); SeRx = newX; SeRy = newY; QPoint startP = m_canvas->canvasToGlobal(m_doc->appMode == modeDrawTable2 ? QPointF(Dxp, Dyp) : QPointF(Mxp, Myp)); m_view->redrawMarker->setGeometry(QRect(m_view->mapFromGlobal(startP), m_view->mapFromGlobal(m->globalPos())).normalized()); m_view->setRedrawMarkerShown(true); m_view->HaveSelRect = true; return; } } }