Skip to content

Commit

Permalink
Extension: Port ViewProvider of Part
Browse files Browse the repository at this point in the history
  • Loading branch information
ickby authored and wwmayer committed Oct 8, 2016
1 parent fe32f03 commit 5163242
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 18 deletions.
1 change: 1 addition & 0 deletions src/Gui/Application.cpp
Expand Up @@ -1474,6 +1474,7 @@ void Application::initTypes(void)
Gui::ViewProviderExtension ::init();
Gui::ViewProviderGroupExtension ::init();
Gui::ViewProviderGeoFeatureGroupExtension ::init();
Gui::ViewProviderOriginGroupExtension ::init();
Gui::ViewProviderExtern ::init();
Gui::ViewProviderDocumentObject ::init();
Gui::ViewProviderFeature ::init();
Expand Down
4 changes: 2 additions & 2 deletions src/Gui/ViewProviderOriginGroupExtension.cpp
Expand Up @@ -84,7 +84,7 @@ std::vector<App::DocumentObject*> ViewProviderOriginGroupExtension::extensionCla
}

void ViewProviderOriginGroupExtension::extensionAttach(App::DocumentObject *pcObject) {
ViewProviderOriginGroupExtension::extensionAttach ( pcObject );
ViewProviderGeoFeatureGroupExtension::extensionAttach ( pcObject );

App::Document *adoc = pcObject->getDocument ();
Gui::Document *gdoc = Gui::Application::Instance->getDocument ( adoc ) ;
Expand All @@ -106,7 +106,7 @@ void ViewProviderOriginGroupExtension::extensionUpdateData( const App::Property*
updateOriginSize();
}

ViewProviderOriginGroupExtension::extensionUpdateData ( prop );
ViewProviderGeoFeatureGroupExtension::extensionUpdateData ( prop );
}

void ViewProviderOriginGroupExtension::slotChangedObjectApp ( const App::DocumentObject& obj) {
Expand Down
18 changes: 5 additions & 13 deletions src/Gui/ViewProviderPart.cpp
Expand Up @@ -43,14 +43,16 @@
using namespace Gui;


PROPERTY_SOURCE(Gui::ViewProviderPart, Gui::ViewProviderOriginGroup)
PROPERTY_SOURCE_WITH_EXTENSIONS(Gui::ViewProviderPart, Gui::ViewProviderDocumentObject, (Gui::ViewProviderOriginGroupExtension))


/**
* Creates the view provider for an object group.
*/
ViewProviderPart::ViewProviderPart()
{ }
{
initExtension(this);
}

ViewProviderPart::~ViewProviderPart()
{ }
Expand All @@ -61,7 +63,7 @@ ViewProviderPart::~ViewProviderPart()
* associated view providers of the objects of the object group get changed as well.
*/
void ViewProviderPart::onChanged(const App::Property* prop) {
ViewProviderOriginGroup::onChanged(prop);
ViewProviderDocumentObject::onChanged(prop);
}

bool ViewProviderPart::doubleClicked(void)
Expand Down Expand Up @@ -94,16 +96,6 @@ bool ViewProviderPart::doubleClicked(void)
return true;
}

bool ViewProviderPart::canDropObject(App::DocumentObject* obj) const {

//it is not allowed to have any part or assembly object within a part, hence we exclude origin groups
if(obj->hasExtension(App::OriginGroupExtension::getClassTypeId()))
return false;

return Gui::ViewProvider::canDropObject(obj);
}


/**
* Returns the pixmap for the list item.
*/
Expand Down
6 changes: 3 additions & 3 deletions src/Gui/ViewProviderPart.h
Expand Up @@ -31,9 +31,10 @@

namespace Gui {

class GuiExport ViewProviderPart : public ViewProviderOriginGroup
class GuiExport ViewProviderPart : public ViewProviderDocumentObject,
public ViewProviderOriginGroupExtension
{
PROPERTY_HEADER(Gui::ViewProviderPart);
PROPERTY_HEADER_WITH_EXTENSIONS(Gui::ViewProviderPart);

public:
/// constructor.
Expand All @@ -44,7 +45,6 @@ class GuiExport ViewProviderPart : public ViewProviderOriginGroup
QIcon getIcon(void) const;

virtual bool doubleClicked(void);
virtual bool canDropObject(App::DocumentObject*) const;
protected:
/// get called by the container whenever a property has been changed
virtual void onChanged(const App::Property* prop);
Expand Down

0 comments on commit 5163242

Please sign in to comment.