Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
fixes 0003986: Changing view attributes does not trigger 'File change…
…d' status
  • Loading branch information
wwmayer committed May 26, 2019
1 parent 32949b6 commit f0b10ec
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/Gui/Document.cpp
Expand Up @@ -471,6 +471,7 @@ void Document::slotNewObject(const App::DocumentObject& Obj)

// adding to the tree
signalNewObject(*pcProvider);
pcProvider->pcDocument = this;

// it is possible that a new viewprovider already claims children
handleChildren3D(pcProvider);
Expand Down
2 changes: 1 addition & 1 deletion src/Gui/Document.h
Expand Up @@ -98,7 +98,7 @@ class GuiExport Document : public Base::Persistence
/** signal on changed Object, the 2nd argument is the changed property
of the referenced document object, not of the view provider */
mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&,
const App::Property&)> signalChangedObject;
const App::Property&)> signalChangedObject;
/// signal on renamed Object
mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&)> signalRelabelObject;
/// signal on activated Object
Expand Down
4 changes: 4 additions & 0 deletions src/Gui/ViewProviderDocumentObject.cpp
Expand Up @@ -56,6 +56,7 @@ PROPERTY_SOURCE(Gui::ViewProviderDocumentObject, Gui::ViewProvider)

ViewProviderDocumentObject::ViewProviderDocumentObject()
: pcObject(0)
, pcDocument(0)
{
ADD_PROPERTY(DisplayMode,((long)0));
ADD_PROPERTY(Visibility,(true));
Expand Down Expand Up @@ -130,6 +131,9 @@ void ViewProviderDocumentObject::onChanged(const App::Property* prop)
}
}

if (pcDocument)
pcDocument->setModified(true);

ViewProvider::onChanged(prop);
}

Expand Down
3 changes: 3 additions & 0 deletions src/Gui/ViewProviderDocumentObject.h
Expand Up @@ -135,10 +135,13 @@ class GuiExport ViewProviderDocumentObject : public ViewProvider

protected:
App::DocumentObject *pcObject;
Gui::Document* pcDocument;

private:
std::vector<const char*> aDisplayEnumsArray;
std::vector<std::string> aDisplayModesArray;

friend class Document;
};


Expand Down

0 comments on commit f0b10ec

Please sign in to comment.