Sketcher: DrawSketchHandler - add getViewer function to drawsketchHandler to simplify code.

This commit is contained in:
Paddle
2023-10-13 14:49:14 +02:00
committed by abdullahtahiriyo
parent 5ad7548340
commit c6f42e1b68
2 changed files with 27 additions and 17 deletions

View File

@@ -423,10 +423,8 @@ void DrawSketchHandler::setSvgCursor(const QString& cursorName,
void DrawSketchHandler::setCursor(const QPixmap& p, int x, int y, bool autoScale)
{
Gui::MDIView* view = Gui::getMainWindow()->activeWindow();
if (view && view->isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
Gui::View3DInventorViewer* viewer = static_cast<Gui::View3DInventor*>(view)->getViewer();
Gui::View3DInventorViewer* viewer = getViewer();
if (viewer) {
QCursor cursor;
QPixmap p1(p);
// TODO remove autoScale after all cursors are SVG-based
@@ -529,18 +527,16 @@ void DrawSketchHandler::applyCursor()
void DrawSketchHandler::applyCursor(QCursor& newCursor)
{
Gui::MDIView* view = Gui::getMainWindow()->activeWindow();
if (view && view->isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
Gui::View3DInventorViewer* viewer = static_cast<Gui::View3DInventor*>(view)->getViewer();
Gui::View3DInventorViewer* viewer = getViewer();
if (viewer) {
viewer->getWidget()->setCursor(newCursor);
}
}
void DrawSketchHandler::unsetCursor()
{
Gui::MDIView* view = Gui::getMainWindow()->activeWindow();
if (view && view->isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
Gui::View3DInventorViewer* viewer = static_cast<Gui::View3DInventor*>(view)->getViewer();
Gui::View3DInventorViewer* viewer = getViewer();
if (viewer) {
viewer->getWidget()->setCursor(oldCursor);
}
}
@@ -548,9 +544,8 @@ void DrawSketchHandler::unsetCursor()
qreal DrawSketchHandler::devicePixelRatio()
{
qreal pixelRatio = 1;
Gui::MDIView* view = Gui::getMainWindow()->activeWindow();
if (view && view->isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
Gui::View3DInventorViewer* viewer = static_cast<Gui::View3DInventor*>(view)->getViewer();
Gui::View3DInventorViewer* viewer = getViewer();
if (viewer) {
pixelRatio = viewer->devicePixelRatio();
}
return pixelRatio;
@@ -586,10 +581,8 @@ DrawSketchHandler::suggestedConstraintsPixmaps(std::vector<AutoConstraint>& sugg
}
if (!iconType.isEmpty()) {
qreal pixelRatio = 1;
Gui::MDIView* view = Gui::getMainWindow()->activeWindow();
if (view && view->isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
Gui::View3DInventorViewer* viewer =
static_cast<Gui::View3DInventor*>(view)->getViewer();
Gui::View3DInventorViewer* viewer = getViewer();
if (viewer) {
pixelRatio = viewer->devicePixelRatio();
}
int iconWidth = 16 * pixelRatio;
@@ -1171,3 +1164,12 @@ void DrawSketchHandler::signalToolChanged() const
{
ViewProviderSketchDrawSketchHandlerAttorney::signalToolChanged(*sketchgui, this->getToolName());
}
Gui::View3DInventorViewer* DrawSketchHandler::getViewer()
{
Gui::MDIView* view = Gui::getMainWindow()->activeWindow();
if (view && view->isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
return static_cast<Gui::View3DInventor*>(view)->getViewer();
}
return nullptr;
}

View File

@@ -41,6 +41,11 @@ class Sketch;
class SketchObject;
} // namespace Sketcher
namespace Gui
{
class View3DInventorViewer;
}
namespace SketcherGui
{
@@ -246,6 +251,8 @@ protected:
void signalToolChanged() const;
Gui::View3DInventorViewer* getViewer();
private:
void setSvgCursor(const QString& svgName,
int x,
@@ -260,6 +267,7 @@ private:
void setCrosshairCursor(const QString& svgName);
void setCrosshairCursor(const char* svgName);
protected:
/**
* Returns constraints icons scaled to width.