+ fixes #0001963: Only write needed user data in FCSTD file if any.

This commit is contained in:
wmayer 2015-04-11 22:30:11 +02:00
parent 00daa1cbd2
commit 8476bab7dc
6 changed files with 29 additions and 3 deletions

View File

@ -57,7 +57,7 @@ FeaturePage::FeaturePage(void) : numChildren(0)
static const char *group = "Drawing view"; static const char *group = "Drawing view";
ADD_PROPERTY_TYPE(PageResult ,(0),group,App::Prop_Output,"Resulting SVG document of that page"); ADD_PROPERTY_TYPE(PageResult ,(0),group,App::Prop_Output,"Resulting SVG document of that page");
ADD_PROPERTY_TYPE(Template ,(""),group,App::Prop_None ,"Template for the page"); ADD_PROPERTY_TYPE(Template ,(""),group,App::Prop_Transient ,"Template for the page");
ADD_PROPERTY_TYPE(EditableTexts,(""),group,App::Prop_None,"Substitution values for the editable strings in the template"); ADD_PROPERTY_TYPE(EditableTexts,(""),group,App::Prop_None,"Substitution values for the editable strings in the template");
} }
@ -104,6 +104,12 @@ void FeaturePage::onChanged(const App::Property* prop)
App::DocumentObjectGroup::onChanged(prop); App::DocumentObjectGroup::onChanged(prop);
} }
void FeaturePage::onDocumentRestored()
{
Base::FileInfo fi(PageResult.getValue());
Template.setValue(App::Application::getResourceDir() + "Mod/Drawing/Templates/" + fi.fileName());
}
App::DocumentObjectExecReturn *FeaturePage::execute(void) App::DocumentObjectExecReturn *FeaturePage::execute(void)
{ {
std::string temp = Template.getValue(); std::string temp = Template.getValue();

View File

@ -64,6 +64,8 @@ public:
protected: protected:
void onBeforeChange(const App::Property* prop); void onBeforeChange(const App::Property* prop);
void onChanged(const App::Property* prop); void onChanged(const App::Property* prop);
/// get called after a document has been fully restored
virtual void onDocumentRestored();
private: private:
int numChildren; int numChildren;

View File

@ -30,6 +30,7 @@
#include <Base/FileInfo.h> #include <Base/FileInfo.h>
#include <Base/Console.h> #include <Base/Console.h>
#include <App/Application.h>
#include "LuxProject.h" #include "LuxProject.h"
#include "LuxFeature.h" #include "LuxFeature.h"
#include "LuxTools.h" #include "LuxTools.h"
@ -46,10 +47,16 @@ PROPERTY_SOURCE(Raytracing::LuxProject, App::DocumentObjectGroup)
LuxProject::LuxProject(void) LuxProject::LuxProject(void)
{ {
ADD_PROPERTY_TYPE(PageResult ,(0),0,App::Prop_Output,"Resulting Luxrender Scene file"); ADD_PROPERTY_TYPE(PageResult ,(0),0,App::Prop_Output,"Resulting Luxrender Scene file");
ADD_PROPERTY_TYPE(Template ,(""),0,App::Prop_None ,"Template for the Luxrender project"); ADD_PROPERTY_TYPE(Template ,(""),0,App::Prop_Transient ,"Template for the Luxrender project");
ADD_PROPERTY_TYPE(Camera ,(""),0,App::Prop_None ,"Camera settings"); ADD_PROPERTY_TYPE(Camera ,(""),0,App::Prop_None ,"Camera settings");
} }
void LuxProject::onDocumentRestored()
{
Base::FileInfo fi(PageResult.getValue());
Template.setValue(App::Application::getResourceDir() + "Mod/Drawing/Templates/" + fi.fileName());
}
App::DocumentObjectExecReturn *LuxProject::execute(void) App::DocumentObjectExecReturn *LuxProject::execute(void)
{ {
if (std::string(PageResult.getValue()) == "") if (std::string(PageResult.getValue()) == "")

View File

@ -59,6 +59,8 @@ public:
const char* getViewProviderName(void) const { const char* getViewProviderName(void) const {
return "RaytracingGui::ViewProviderLux"; return "RaytracingGui::ViewProviderLux";
} }
/// get called after a document has been fully restored
virtual void onDocumentRestored();
//@} //@}

View File

@ -30,6 +30,7 @@
#include <Base/FileInfo.h> #include <Base/FileInfo.h>
#include <Base/Console.h> #include <Base/Console.h>
#include <App/Application.h>
#include "RayProject.h" #include "RayProject.h"
#include "RayFeature.h" #include "RayFeature.h"
@ -45,10 +46,16 @@ PROPERTY_SOURCE(Raytracing::RayProject, App::DocumentObjectGroup)
RayProject::RayProject(void) RayProject::RayProject(void)
{ {
ADD_PROPERTY_TYPE(PageResult ,(0),0,App::Prop_Output,"Resulting povray Project file"); ADD_PROPERTY_TYPE(PageResult ,(0),0,App::Prop_Output,"Resulting povray Project file");
ADD_PROPERTY_TYPE(Template ,(""),0,App::Prop_None ,"Template for the Povray project"); ADD_PROPERTY_TYPE(Template ,(""),0,App::Prop_Transient ,"Template for the Povray project");
ADD_PROPERTY_TYPE(Camera ,(""),0,App::Prop_None ,"Camera settings"); ADD_PROPERTY_TYPE(Camera ,(""),0,App::Prop_None ,"Camera settings");
} }
void RayProject::onDocumentRestored()
{
Base::FileInfo fi(PageResult.getValue());
Template.setValue(App::Application::getResourceDir() + "Mod/Drawing/Templates/" + fi.fileName());
}
App::DocumentObjectExecReturn *RayProject::execute(void) App::DocumentObjectExecReturn *RayProject::execute(void)
{ {
if (std::string(PageResult.getValue()) == "") if (std::string(PageResult.getValue()) == "")

View File

@ -59,6 +59,8 @@ public:
const char* getViewProviderName(void) const { const char* getViewProviderName(void) const {
return "RaytracingGui::ViewProviderPovray"; return "RaytracingGui::ViewProviderPovray";
} }
/// get called after a document has been fully restored
virtual void onDocumentRestored();
//@} //@}