[TD]refactor scene/view/mdi

- move scene related functions out of mdiViewPage
  and QGVPage.
- route requests for scene/view/mdi through
  ViewProviderPage
This commit is contained in:
Wanderer Fan
2022-07-17 18:43:57 -04:00
committed by WandererFan
parent 6c6daa1939
commit b467cd32f2
27 changed files with 938 additions and 922 deletions

View File

@@ -90,6 +90,7 @@
#include "Rez.h"
#include "PreferencesGui.h"
#include "DrawGuiUtil.h"
#include "QGIDrawingTemplate.h"
#include "QGITemplate.h"
#include "QGISVGTemplate.h"
@@ -242,7 +243,6 @@ QGVPage::QGVPage(ViewProviderPage *vp, QGSPage* s, QWidget *parent)
m_vpPage = vp;
const char* name = vp->getDrawPage()->getNameInDocument();
setObjectName(QString::fromLocal8Bit(name));
m_vpPage->setGraphicsView(this);
setScene(s);
setMouseTracking(true);
@@ -270,6 +270,7 @@ QGVPage::QGVPage(ViewProviderPage *vp, QGSPage* s, QWidget *parent)
// setDragMode(ScrollHandDrag);
setDragMode(QGraphicsView::NoDrag);
resetCursor();
setRenderer(Native);
setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
bkgBrush = new QBrush(getBackgroundColor());
@@ -291,6 +292,12 @@ QGVPage::~QGVPage()
delete m_navStyle;
}
void QGVPage::centerOnPage(void)
{
// Base::Console().Message("QGVP::centerOnPage()\n");
centerOn(m_scene->getTemplateCenter());
}
void QGVPage::initNavigationStyle()
{
std::string navParm = getNavStyleParameter();
@@ -368,13 +375,14 @@ void QGVPage::drawBackground(QPainter *p, const QRectF &)
}
if (!m_vpPage->getDrawPage()) {
//Base::Console().Log("TROUBLE - QGVP::drawBackground - no Page Object!\n");
// Base::Console().Message("QGVP::drawBackground - no Page Feature!\n");
return;
}
p->save();
p->resetTransform();
resetCachedContent();
p->setBrush(*bkgBrush);
p->drawRect(viewport()->rect().adjusted(-2,-2,2,2)); //just bigger than viewport to prevent artifacts
@@ -397,11 +405,11 @@ void QGVPage::drawBackground(QPainter *p, const QRectF &)
p->setBrush(pageBrush);
p->drawRect(poly.boundingRect());
resetCachedContent();
p->restore();
}
void QGVPage::setRenderer(RendererType type)
{
m_renderer = type;