Skip to content

Commit

Permalink
Fix getViewObject inheritance across all ViewProviders
Browse files Browse the repository at this point in the history
  • Loading branch information
WandererFan committed Sep 11, 2016
1 parent f2f9a93 commit 70420d9
Show file tree
Hide file tree
Showing 20 changed files with 77 additions and 97 deletions.
3 changes: 1 addition & 2 deletions src/Mod/TechDraw/Gui/ViewProviderAnnotation.cpp
Expand Up @@ -38,7 +38,6 @@
#include <Gui/SoFCSelection.h>
#include <Gui/Selection.h>

#include <Mod/TechDraw/App/DrawViewAnnotation.h>
#include "ViewProviderAnnotation.h"

using namespace TechDrawGui;
Expand Down Expand Up @@ -78,7 +77,7 @@ std::vector<std::string> ViewProviderAnnotation::getDisplayModes(void) const

void ViewProviderAnnotation::updateData(const App::Property* prop)
{
Gui::ViewProviderDocumentObject::updateData(prop);
Gui::ViewProviderDocumentObject::updateData(prop);
}

TechDraw::DrawViewAnnotation* ViewProviderAnnotation::getViewObject() const
Expand Down
6 changes: 2 additions & 4 deletions src/Mod/TechDraw/Gui/ViewProviderAnnotation.h
Expand Up @@ -29,9 +29,7 @@

#include "ViewProviderDrawingView.h"

namespace TechDraw{
class DrawViewAnnotation;
}
#include <Mod/TechDraw/App/DrawViewAnnotation.h>

namespace TechDrawGui {

Expand All @@ -54,7 +52,7 @@ class TechDrawGuiExport ViewProviderAnnotation : public ViewProviderDrawingView
virtual std::vector<std::string> getDisplayModes(void) const;
virtual void updateData(const App::Property*);

TechDraw::DrawViewAnnotation* getViewObject() const;
virtual TechDraw::DrawViewAnnotation* getViewObject() const;
};

} // namespace TechDrawGui
Expand Down
1 change: 0 additions & 1 deletion src/Mod/TechDraw/Gui/ViewProviderDimension.cpp
Expand Up @@ -38,7 +38,6 @@
#include <Gui/SoFCSelection.h>
#include <Gui/Selection.h>

#include <Mod/TechDraw/App/DrawViewDimension.h>
#include "ViewProviderDimension.h"

using namespace TechDrawGui;
Expand Down
7 changes: 2 additions & 5 deletions src/Mod/TechDraw/Gui/ViewProviderDimension.h
Expand Up @@ -25,12 +25,9 @@
#ifndef DRAWINGGUI_VIEWPROVIDERDIMENSION_H
#define DRAWINGGUI_VIEWPROVIDERDIMENSION_H

#include <Gui/ViewProviderFeature.h>
#include "ViewProviderDrawingView.h"
#include <Mod/TechDraw/App/DrawViewDimension.h>

namespace TechDraw{
class DrawViewDimension;
}

namespace TechDrawGui {

Expand All @@ -53,7 +50,7 @@ class TechDrawGuiExport ViewProviderDimension : public ViewProviderDrawingView
virtual std::vector<std::string> getDisplayModes(void) const;
virtual void updateData(const App::Property*);

TechDraw::DrawViewDimension* getViewObject() const;
virtual TechDraw::DrawViewDimension* getViewObject() const;
};

} // namespace TechDrawGui
Expand Down
1 change: 0 additions & 1 deletion src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp
Expand Up @@ -43,7 +43,6 @@
#include <Gui/ViewProvider.h>
#include <Gui/WaitCursor.h>

#include <Mod/TechDraw/App/DrawView.h>
#include <Mod/TechDraw/App/DrawViewClip.h>
#include <Mod/TechDraw/App/DrawPage.h>

Expand Down
7 changes: 3 additions & 4 deletions src/Mod/TechDraw/Gui/ViewProviderDrawingView.h
Expand Up @@ -28,9 +28,8 @@
#include <Gui/ViewProviderFeature.h>
#include <Gui/ViewProviderDocumentObjectGroup.h>

namespace TechDraw{
class DrawView;
}
#include <Mod/TechDraw/App/DrawView.h>
#include "QGIView.h"

namespace TechDrawGui {
class QGIView;
Expand Down Expand Up @@ -66,7 +65,7 @@ class TechDrawGuiExport ViewProviderDrawingView : public Gui::ViewProviderDocume
virtual void startRestoring();
virtual void finishRestoring();
//@}
TechDraw::DrawView* getViewObject() const;
virtual TechDraw::DrawView* getViewObject() const;

private:
bool m_docReady; //sb MDI + QGraphicsScene ready
Expand Down
11 changes: 6 additions & 5 deletions src/Mod/TechDraw/Gui/ViewProviderProjGroup.cpp
Expand Up @@ -32,8 +32,6 @@
/// Here the FreeCAD includes sorted by Base,App,Gui......
#include <Base/Console.h>
#include <Base/Parameter.h>
#include <Base/Exception.h>
#include <Base/Sequencer.h>

#include <App/Application.h>
#include <App/Document.h>
Expand All @@ -49,14 +47,13 @@
#include <Gui/SoFCSelection.h>
#include <Gui/ViewProviderDocumentObject.h>

#include <Mod/TechDraw/App/DrawProjGroup.h>

#include "TaskProjGroup.h"
#include "ViewProviderProjGroup.h"

using namespace TechDrawGui;

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

//**************************************************************************
// Construction/Destruction
Expand Down Expand Up @@ -165,8 +162,12 @@ std::vector<App::DocumentObject*> ViewProviderProjGroup::claimChildren(void) con
}
}

TechDraw::DrawProjGroup* ViewProviderProjGroup::getViewObject() const
{
return dynamic_cast<TechDraw::DrawProjGroup*>(pcObject);
}

TechDraw::DrawProjGroup* ViewProviderProjGroup::getObject() const
{
return dynamic_cast<TechDraw::DrawProjGroup*>(pcObject);
return getViewObject();
}
13 changes: 5 additions & 8 deletions src/Mod/TechDraw/Gui/ViewProviderProjGroup.h
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (c) 2013 Luke Parry <l.parry@warwick.ac.uk> *
* *
* This file is part of the FreeCAD CAx development system. *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
Expand All @@ -10,7 +10,7 @@
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
Expand All @@ -26,17 +26,13 @@
#include <Gui/ViewProviderFeature.h>
#include <Gui/ViewProviderDocumentObject.h>

#include <QPointer>
#include <Mod/TechDraw/App/DrawView.h>
#include <Mod/TechDraw/App/DrawProjGroup.h>

#include "ViewProviderDrawingView.h"

namespace TechDraw{
class DrawProjGroup;
}

namespace TechDrawGui {


class TechDrawGuiExport ViewProviderProjGroup : public ViewProviderDrawingView
{
PROPERTY_HEADER(TechDrawGui::ViewProviderProjGroup);
Expand All @@ -61,6 +57,7 @@ class TechDrawGuiExport ViewProviderProjGroup : public ViewProviderDrawingView
virtual void updateData(const App::Property*);

TechDraw::DrawProjGroup* getObject() const;
virtual TechDraw::DrawProjGroup* getViewObject() const;
void unsetEdit(int ModNum);

protected:
Expand Down
10 changes: 5 additions & 5 deletions src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.cpp
Expand Up @@ -40,12 +40,8 @@
#include <Gui/Control.h>
#include <Gui/Document.h>
#include <Gui/MainWindow.h>
#include <Gui/Selection.h>
#include <Gui/SoFCSelection.h>


#include <Mod/TechDraw/App/DrawProjGroupItem.h>

#include "ViewProviderProjGroupItem.h"

using namespace TechDrawGui;
Expand Down Expand Up @@ -141,8 +137,12 @@ bool ViewProviderProjGroupItem::doubleClicked(void)
return true;
}

TechDraw::DrawProjGroupItem* ViewProviderProjGroupItem::getViewObject() const
{
return dynamic_cast<TechDraw::DrawProjGroupItem*>(pcObject);
}

TechDraw::DrawProjGroupItem* ViewProviderProjGroupItem::getObject() const
{
return dynamic_cast<TechDraw::DrawProjGroupItem*>(pcObject);
return getViewObject();
}
12 changes: 6 additions & 6 deletions src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.h
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (c) 2014 Luke Parry <l.parry@warwick.ac.uk> *
* *
* This file is part of the FreeCAD CAx development system. *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
Expand All @@ -10,7 +10,7 @@
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
Expand All @@ -24,10 +24,9 @@
#define DRAWINGGUI_VIEWPROVIDERVIEWGROUPITEM_H

#include "ViewProviderViewPart.h"

namespace TechDraw{
class DrawProjGroupItem;
}
#include <Mod/TechDraw/App/DrawView.h>
#include <Mod/TechDraw/App/DrawViewPart.h>
#include <Mod/TechDraw/App/DrawProjGroupItem.h>

namespace TechDrawGui {

Expand All @@ -52,6 +51,7 @@ class TechDrawGuiExport ViewProviderProjGroupItem: public ViewProviderViewPart
void setupContextMenu(QMenu*, QObject*, const char*);
virtual void updateData(const App::Property*);

virtual TechDraw::DrawProjGroupItem* getViewObject() const;
TechDraw::DrawProjGroupItem* getObject() const;
void unsetEdit(int ModNum);

Expand Down
13 changes: 6 additions & 7 deletions src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.cpp
Expand Up @@ -28,16 +28,15 @@

/// Here the FreeCAD includes sorted by Base,App,Gui......
#include <Base/Console.h>
#include <Base/Parameter.h>
#include <Base/Exception.h>
#include <Base/Sequencer.h>
//#include <Base/Parameter.h>
//#include <Base/Exception.h>
//#include <Base/Sequencer.h>
#include <App/Application.h>
#include <App/Document.h>
#include <App/DocumentObject.h>
#include <Gui/SoFCSelection.h>
#include <Gui/Selection.h>
//#include <Gui/SoFCSelection.h>
//#include <Gui/Selection.h>

#include <Mod/TechDraw/App/DrawViewSpreadsheet.h>
#include "ViewProviderSpreadsheet.h"

using namespace TechDrawGui;
Expand Down Expand Up @@ -77,7 +76,7 @@ std::vector<std::string> ViewProviderSpreadsheet::getDisplayModes(void) const

void ViewProviderSpreadsheet::updateData(const App::Property* prop)
{
Gui::ViewProviderDocumentObject::updateData(prop);
Gui::ViewProviderDocumentObject::updateData(prop);
}

TechDraw::DrawViewSpreadsheet* ViewProviderSpreadsheet::getViewObject() const
Expand Down
10 changes: 4 additions & 6 deletions src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.h
Expand Up @@ -24,13 +24,11 @@
#ifndef DRAWINGGUI_VIEWPROVIDERSPREADSHEET_H
#define DRAWINGGUI_VIEWPROVIDERSPREADSHEET_H

#include <Gui/ViewProviderFeature.h>

#include "ViewProviderSymbol.h"
#include <Mod/TechDraw/App/DrawViewSpreadsheet.h>
#include <Mod/TechDraw/App/DrawViewSymbol.h>

namespace TechDraw{
class DrawViewSpreadsheet;
}
#include "ViewProviderSymbol.h"

namespace TechDrawGui {

Expand All @@ -53,7 +51,7 @@ class TechDrawGuiExport ViewProviderSpreadsheet : public ViewProviderSymbol
virtual std::vector<std::string> getDisplayModes(void) const;
virtual void updateData(const App::Property*);

TechDraw::DrawViewSpreadsheet* getViewObject() const;
virtual TechDraw::DrawViewSpreadsheet* getViewObject() const;
};

} // namespace TechDrawGui
Expand Down
3 changes: 1 addition & 2 deletions src/Mod/TechDraw/Gui/ViewProviderSymbol.cpp
Expand Up @@ -38,7 +38,6 @@
#include <Gui/SoFCSelection.h>
#include <Gui/Selection.h>

#include <Mod/TechDraw/App/DrawViewSymbol.h>
#include "ViewProviderSymbol.h"

using namespace TechDrawGui;
Expand Down Expand Up @@ -78,7 +77,7 @@ std::vector<std::string> ViewProviderSymbol::getDisplayModes(void) const

void ViewProviderSymbol::updateData(const App::Property* prop)
{
Gui::ViewProviderDocumentObject::updateData(prop);
Gui::ViewProviderDocumentObject::updateData(prop);
}

TechDraw::DrawViewSymbol* ViewProviderSymbol::getViewObject() const
Expand Down
11 changes: 4 additions & 7 deletions src/Mod/TechDraw/Gui/ViewProviderSymbol.h
Expand Up @@ -25,13 +25,10 @@
#ifndef DRAWINGGUI_VIEWPROVIDERSYMBOL_H
#define DRAWINGGUI_VIEWPROVIDERSYMBOL_H

#include <Gui/ViewProviderFeature.h>

#include <Mod/TechDraw/App/DrawView.h>
#include <Mod/TechDraw/App/DrawViewSymbol.h>
#include "ViewProviderDrawingView.h"
#include "ViewProviderDrawingView.h"

namespace TechDraw{
class DrawViewSymbol;
}

namespace TechDrawGui {

Expand All @@ -54,7 +51,7 @@ class TechDrawGuiExport ViewProviderSymbol : public ViewProviderDrawingView
virtual std::vector<std::string> getDisplayModes(void) const;
virtual void updateData(const App::Property*);

TechDraw::DrawViewSymbol* getViewObject() const;
virtual TechDraw::DrawViewSymbol* getViewObject() const;
};

} // namespace TechDrawGui
Expand Down
11 changes: 6 additions & 5 deletions src/Mod/TechDraw/Gui/ViewProviderViewClip.cpp
Expand Up @@ -33,15 +33,11 @@
/// Here the FreeCAD includes sorted by Base,App,Gui......
#include <Base/Console.h>
#include <Base/Parameter.h>
#include <Base/Exception.h>
#include <Base/Sequencer.h>
#include <App/Application.h>
#include <App/Document.h>
#include <App/DocumentObject.h>
#include <Gui/Selection.h>

#include <Mod/TechDraw/App/DrawViewClip.h>

#include "ViewProviderViewClip.h"

using namespace TechDrawGui;
Expand Down Expand Up @@ -121,7 +117,12 @@ bool ViewProviderViewClip::isShow(void) const
return Visibility.getValue();
}

TechDraw::DrawViewClip* ViewProviderViewClip::getObject() const
TechDraw::DrawViewClip* ViewProviderViewClip::getViewObject() const
{
return dynamic_cast<TechDraw::DrawViewClip*>(pcObject);
}

TechDraw::DrawViewClip* ViewProviderViewClip::getObject() const
{
return getViewObject();
}

0 comments on commit 70420d9

Please sign in to comment.