Skip to content

Commit

Permalink
reduce use of "execute" on cosmetic changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
WandererFan committed Sep 11, 2016
1 parent 6dc017a commit 4d7f008
Show file tree
Hide file tree
Showing 28 changed files with 188 additions and 144 deletions.
3 changes: 2 additions & 1 deletion src/Mod/TechDraw/App/DrawPage.cpp
Expand Up @@ -107,7 +107,6 @@ void DrawPage::onChanged(const App::Property* prop)
} else if (prop == &Views) {
if (!isRestoring()) {
//TODO: reload if Views prop changes (ie adds/deletes)
//touch();
}
} else if(prop == &Scale) {
// touch all views in the Page as they may be dependent on this scale
Expand Down Expand Up @@ -136,6 +135,8 @@ void DrawPage::onChanged(const App::Property* prop)

App::DocumentObjectExecReturn *DrawPage::execute(void)
{
//Page is just a property storage area? no real logic involved?
//all this does is trigger onChanged in this and ViewProviderPage
Template.touch();
Views.touch();
return App::DocumentObject::StdReturn;
Expand Down
1 change: 0 additions & 1 deletion src/Mod/TechDraw/App/DrawView.cpp
Expand Up @@ -129,7 +129,6 @@ short DrawView::mustExecute() const
if (!isRestoring()) {
result = (X.isTouched() ||
Y.isTouched() ||
Rotation.isTouched() ||
Scale.isTouched() ||
ScaleType.isTouched() );
}
Expand Down
3 changes: 1 addition & 2 deletions src/Mod/TechDraw/App/DrawViewClip.cpp
Expand Up @@ -76,8 +76,7 @@ void DrawViewClip::onChanged(const App::Property* prop)
{
if (prop == &Height ||
prop == &Width ||
prop == &ShowFrame ||
prop == &ShowLabels) {
prop == &Views) {
if (!isRestoring()) {
DrawViewClip::execute();
}
Expand Down
40 changes: 8 additions & 32 deletions src/Mod/TechDraw/App/DrawViewPart.cpp
Expand Up @@ -225,22 +225,10 @@ short DrawViewPart::mustExecute() const
Source.isTouched() ||
Scale.isTouched() ||
ScaleType.isTouched() ||
Tolerance.isTouched());

// don't have to execute DVP, but should update Gui
// ShowHiddenLines.isTouched() ||
// ShowSmoothLines.isTouched() ||
// ShowSeamLines.isTouched() ||
// LineWidth.isTouched() ||
// HiddenWidth.isTouched() ||
// ShowCenters.isTouched() ||
// CenterScale.isTouched() ||
// ShowSectionLine.isTouched() ||
// HorizSectionLine.isTouched() ||
// ArrowUpSection.isTouched() ||
// SymbolSection.isTouched() ||
// HorizCenterLine.isTouched() ||
// VertCenterLine.isTouched());
Tolerance.isTouched() ||
ShowHiddenLines.isTouched() ||
ShowSmoothLines.isTouched() ||
ShowSeamLines.isTouched() );
}

if (result) {
Expand All @@ -259,28 +247,16 @@ void DrawViewPart::onChanged(const App::Property* prop)
prop == &XAxisDirection ||
prop == &Source ||
prop == &Scale ||
prop == &ScaleType) {
//don't need to execute, but need to update Gui
// prop == &ShowHiddenLines ||
// prop == &ShowSmoothLines ||
// prop == &ShowSeamLines ||
// prop == &LineWidth ||
// prop == &HiddenWidth ||
// prop == &ShowCenters ||
// prop == &CenterScale ||
// prop == &ShowSectionLine ||
// prop == &HorizSectionLine ||
// prop == &ArrowUpSection ||
// prop == &SymbolSection ||
// prop == &HorizCenterLine ||
// prop == &VertCenterLine) {
prop == &ScaleType ||
prop == &ShowHiddenLines ||
prop == &ShowSmoothLines ||
prop == &ShowSeamLines)
try {
App::DocumentObjectExecReturn *ret = recompute();
delete ret;
}
catch (...) {
}
}
}
DrawView::onChanged(prop);

Expand Down
4 changes: 0 additions & 4 deletions src/Mod/TechDraw/App/DrawViewSection.cpp
Expand Up @@ -115,10 +115,6 @@ short DrawViewSection::mustExecute() const
BaseView.isTouched() ||
SectionNormal.isTouched() ||
SectionOrigin.isTouched() );

//don't need to execute, but need to update Gui
// ShowCutSurface.isTouched() ||
// CutSurfaceColor.isTouched() );
}
if (result) {
return result;
Expand Down
17 changes: 8 additions & 9 deletions src/Mod/TechDraw/Gui/MDIViewPage.cpp
Expand Up @@ -96,7 +96,7 @@ MDIViewPage::MDIViewPage(ViewProviderPage *pageVp, Gui::Document* doc, QWidget*
: Gui::MDIView(doc, parent),
m_orientation(QPrinter::Landscape),
m_paperSize(QPrinter::A4),
pageGui(pageVp),
m_vpPage(pageVp),
m_frameState(true)
{

Expand Down Expand Up @@ -149,7 +149,7 @@ MDIViewPage::MDIViewPage(ViewProviderPage *pageVp, Gui::Document* doc, QWidget*
// A fresh page is added and we iterate through its collected children and add these to Canvas View -MLP
// if docobj is a featureviewcollection (ex orthogroup), add its child views. if there are ever children that have children,
// we'll have to make this recursive. -WF
const std::vector<App::DocumentObject*> &grp = pageGui->getPageObject()->Views.getValues();
const std::vector<App::DocumentObject*> &grp = m_vpPage->getDrawPage()->Views.getValues();
std::vector<App::DocumentObject*> childViews;
for (std::vector<App::DocumentObject*>::const_iterator it = grp.begin();it != grp.end(); ++it) {
attachView(*it);
Expand All @@ -165,7 +165,7 @@ MDIViewPage::MDIViewPage(ViewProviderPage *pageVp, Gui::Document* doc, QWidget*
//therefore we need to make sure parentage of the graphics representation is set properly. bit of a kludge.
setDimensionGroups();

App::DocumentObject *obj = pageGui->getPageObject()->Template.getValue();
App::DocumentObject *obj = m_vpPage->getDrawPage()->Template.getValue();
auto pageTemplate( dynamic_cast<TechDraw::DrawTemplate *>(obj) );
if( pageTemplate ) {
attachTemplate(pageTemplate);
Expand Down Expand Up @@ -312,14 +312,14 @@ bool MDIViewPage::attachView(App::DocumentObject *obj)

void MDIViewPage::updateTemplate(bool forceUpdate)
{
App::DocumentObject *templObj = pageGui->getPageObject()->Template.getValue();
App::DocumentObject *templObj = m_vpPage->getDrawPage()->Template.getValue();
// TODO: what if template has been deleted? templObj will be NULL. segfault?
if (!templObj) {
Base::Console().Log("INFO - MDIViewPage::updateTemplate - Page: %s has NO template!!\n",pageGui->getPageObject()->getNameInDocument());
Base::Console().Log("INFO - MDIViewPage::updateTemplate - Page: %s has NO template!!\n",m_vpPage->getDrawPage()->getNameInDocument());
return;
}

if(pageGui->getPageObject()->Template.isTouched() || templObj->isTouched()) {
if(m_vpPage->getDrawPage()->Template.isTouched() || templObj->isTouched()) {
// Template is touched so update

if(forceUpdate ||
Expand All @@ -338,10 +338,9 @@ void MDIViewPage::updateTemplate(bool forceUpdate)

void MDIViewPage::updateDrawing(bool forceUpdate)
{
// We cannot guarantee if the number of graphical representations (QGIVxxxx) have changed so check the number
// Why?
// We cannot guarantee if the number of graphical representations (QGIVxxxx) have changed so check the number (MLP)
const std::vector<QGIView *> &graphicsList = m_view->getViews();
const std::vector<App::DocumentObject*> &pageChildren = pageGui->getPageObject()->Views.getValues();
const std::vector<App::DocumentObject*> &pageChildren = m_vpPage->getDrawPage()->Views.getValues();

// Count total # DocumentObjects in Page
unsigned int docObjCount = 0;
Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/MDIViewPage.h
Expand Up @@ -116,7 +116,7 @@ public Q_SLOTS:
QString m_currentPath;
QPrinter::Orientation m_orientation;
QPrinter::PaperSize m_paperSize;
ViewProviderPage *pageGui;
ViewProviderPage *m_vpPage;

bool m_frameState;

Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/QGIViewAnnotation.h
Expand Up @@ -46,7 +46,7 @@ class TechDrawGuiExport QGIViewAnnotation : public QGIView
enum {Type = QGraphicsItem::UserType + 120};
int type() const override { return Type;}

void updateView(bool update = false) override;
virtual void updateView(bool update = false) override;
void setViewAnnoFeature(TechDraw::DrawViewAnnotation *obj);

virtual void draw() override;
Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/QGIViewDimension.h
Expand Up @@ -95,7 +95,7 @@ class TechDrawGuiExport QGIViewDimension : public QObject, public QGIView
int type() const { return Type;}

virtual void drawBorder();
virtual void updateView(bool update = false);
virtual void updateView(bool update = false) override;
virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 );

public Q_SLOTS:
Expand Down
1 change: 0 additions & 1 deletion src/Mod/TechDraw/Gui/QGIViewPart.cpp
Expand Up @@ -243,7 +243,6 @@ void QGIViewPart::updateView(bool update)
if( viewPart == nullptr ) {
return;
}
//Base::Console().Message("TRACE - QGIVP::updateView(%d) - %s\n",update,getViewObject()->getNameInDocument());

QGIView::updateView(update);

Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/QGIViewSection.h
Expand Up @@ -36,7 +36,7 @@ class TechDrawGuiExport QGIViewSection : public QGIViewPart
~QGIViewSection() = default;

virtual void draw() override;
void updateView(bool update = false) override;
virtual void updateView(bool update = false) override;
enum {Type = QGraphicsItem::UserType + 108};
int type() const override { return Type;}
void drawSectionLine(bool b) override;
Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/QGIViewSymbol.h
Expand Up @@ -50,7 +50,7 @@ class TechDrawGuiExport QGIViewSymbol : public QGIView
enum {Type = QGraphicsItem::UserType + 121};
int type() const override { return Type;}

void updateView(bool update = false) override;
virtual void updateView(bool update = false) override;
void setViewSymbolFeature(TechDraw::DrawViewSymbol *obj);

virtual void draw() override;
Expand Down
22 changes: 11 additions & 11 deletions src/Mod/TechDraw/Gui/QGVPage.cpp
Expand Up @@ -85,11 +85,11 @@ QGVPage::QGVPage(ViewProviderPage *vp, QGraphicsScene* s, QWidget *parent)
, pageTemplate(0)
, m_renderer(Native)
, drawBkg(true)
, pageGui(0)
, m_vpPage(0)
{
assert(vp);
pageGui = vp;
const char* name = vp->getPageObject()->getNameInDocument();
m_vpPage = vp;
const char* name = vp->getDrawPage()->getNameInDocument();
setObjectName(QString::fromLocal8Bit(name));

setScene(s);
Expand Down Expand Up @@ -117,7 +117,7 @@ void QGVPage::drawBackground(QPainter *p, const QRectF &)
if(!drawBkg)
return;

if (!pageGui->getPageObject()) {
if (!m_vpPage->getDrawPage()) {
//Base::Console().Log("TROUBLE - QGVP::drawBackground - no Page Object!\n");
return;
}
Expand All @@ -129,7 +129,7 @@ void QGVPage::drawBackground(QPainter *p, const QRectF &)
p->setBrush(*bkgBrush);
p->drawRect(viewport()->rect());

if(!pageGui) {
if(!m_vpPage) {
return;
}

Expand All @@ -138,9 +138,9 @@ void QGVPage::drawBackground(QPainter *p, const QRectF &)
float pageWidth = 420,
pageHeight = 297;

if ( pageGui->getPageObject()->hasValidTemplate() ) {
pageWidth = pageGui->getPageObject()->getPageWidth();
pageHeight = pageGui->getPageObject()->getPageHeight();
if ( m_vpPage->getDrawPage()->hasValidTemplate() ) {
pageWidth = m_vpPage->getDrawPage()->getPageWidth();
pageHeight = m_vpPage->getDrawPage()->getPageHeight();
}

// Draw the white page
Expand Down Expand Up @@ -473,8 +473,8 @@ void QGVPage::toggleHatch(bool enable)

void QGVPage::saveSvg(QString filename)
{
// TODO: We only have pageGui because constructor gets passed a view provider...
TechDraw::DrawPage *page( pageGui->getPageObject() );
// TODO: We only have m_vpPage because constructor gets passed a view provider...
TechDraw::DrawPage *page( m_vpPage->getDrawPage() );

const QString docName( QString::fromUtf8(page->getDocument()->getName()) );
const QString pageName( QString::fromUtf8(page->getNameInDocument()) );
Expand Down Expand Up @@ -569,7 +569,7 @@ void QGVPage::mouseReleaseEvent(QMouseEvent *event)

TechDraw::DrawPage* QGVPage::getDrawPage()
{
return pageGui->getPageObject();
return m_vpPage->getDrawPage();
}


Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/QGVPage.h
Expand Up @@ -112,7 +112,7 @@ public Q_SLOTS:
bool drawBkg;
QBrush* bkgBrush;
QImage m_image;
ViewProviderPage *pageGui;
ViewProviderPage *m_vpPage;
};

} // namespace MDIViewPageGui
Expand Down
25 changes: 20 additions & 5 deletions src/Mod/TechDraw/Gui/ViewProviderAnnotation.cpp
Expand Up @@ -42,7 +42,7 @@

using namespace TechDrawGui;

PROPERTY_SOURCE(TechDrawGui::ViewProviderAnnotation, Gui::ViewProviderDocumentObject)
PROPERTY_SOURCE(TechDrawGui::ViewProviderAnnotation, TechDrawGui::ViewProviderDrawingView)

//**************************************************************************
// Construction/Destruction
Expand All @@ -59,25 +59,40 @@ ViewProviderAnnotation::~ViewProviderAnnotation()
void ViewProviderAnnotation::attach(App::DocumentObject *pcFeat)
{
// call parent attach method
ViewProviderDocumentObject::attach(pcFeat);
ViewProviderDrawingView::attach(pcFeat);
}

void ViewProviderAnnotation::setDisplayMode(const char* ModeName)
{
ViewProviderDocumentObject::setDisplayMode(ModeName);
ViewProviderDrawingView::setDisplayMode(ModeName);
}

std::vector<std::string> ViewProviderAnnotation::getDisplayModes(void) const
{
// get the modes of the father
std::vector<std::string> StrList = ViewProviderDocumentObject::getDisplayModes();
std::vector<std::string> StrList = ViewProviderDrawingView::getDisplayModes();

return StrList;
}

void ViewProviderAnnotation::updateData(const App::Property* prop)
{
Gui::ViewProviderDocumentObject::updateData(prop);
Base::Console().Log("ViewProviderViewSection::updateData - Update View: %s\n",prop->getName());
if (prop == &(getViewObject()->Text) ||
prop == &(getViewObject()->Font) ||
prop == &(getViewObject()->TextColor) ||
prop == &(getViewObject()->TextSize) ||
prop == &(getViewObject()->LineSpace) ||
prop == &(getViewObject()->TextStyle) ||
prop == &(getViewObject()->MaxWidth) ) {
// redraw QGIVP
QGIView* qgiv = getQView();
if (qgiv) {
qgiv->updateView(true);
}
}

ViewProviderDrawingView::updateData(prop);
}

TechDraw::DrawViewAnnotation* ViewProviderAnnotation::getViewObject() const
Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/ViewProviderAnnotation.h
Expand Up @@ -28,7 +28,7 @@
#include <Gui/ViewProviderFeature.h>

#include "ViewProviderDrawingView.h"

#include <Mod/TechDraw/App/DrawView.h>
#include <Mod/TechDraw/App/DrawViewAnnotation.h>

namespace TechDrawGui {
Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/ViewProviderDimension.cpp
Expand Up @@ -90,7 +90,7 @@ void ViewProviderDimension::updateData(const App::Property* p)
sPixmap = "TechDraw_Dimension_Angle";
}
}
Gui::ViewProviderDocumentObject::updateData(p);
ViewProviderDrawingView::updateData(p);
}

TechDraw::DrawViewDimension* ViewProviderDimension::getViewObject() const
Expand Down
15 changes: 12 additions & 3 deletions src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp
Expand Up @@ -177,9 +177,18 @@ void ViewProviderDrawingView::finishRestoring()
Gui::ViewProviderDocumentObject::finishRestoring();
}

//void ViewProviderDrawingView::updateData(const App::Property*)
//{
//}
void ViewProviderDrawingView::updateData(const App::Property* prop)
{
if (prop == &(getViewObject()->Rotation) ) {
// redraw QGIVP
QGIView* qgiv = getQView();
if (qgiv) {
qgiv->updateView(true);
}
}

Gui::ViewProviderDocumentObject::updateData(prop);
}

TechDraw::DrawView* ViewProviderDrawingView::getViewObject() const
{
Expand Down

0 comments on commit 4d7f008

Please sign in to comment.