further work on DrawingPage
This commit is contained in:
parent
eb2e4a7a73
commit
a7053861b5
|
@ -56,6 +56,7 @@ FeaturePage::FeaturePage(void)
|
||||||
|
|
||||||
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_None ,"Template for the page");
|
||||||
|
ADD_PROPERTY_TYPE(EditableTexts,(""),group,App::Prop_None,"Substitution values for the editable strings in the template");
|
||||||
}
|
}
|
||||||
|
|
||||||
FeaturePage::~FeaturePage()
|
FeaturePage::~FeaturePage()
|
||||||
|
@ -129,6 +130,38 @@ App::DocumentObjectExecReturn *FeaturePage::execute(void)
|
||||||
file.close();
|
file.close();
|
||||||
ofile.close();
|
ofile.close();
|
||||||
|
|
||||||
|
// checking for freecad editable texts
|
||||||
|
boost::regex e ("<text.*?freecad:editable=\"(.*?)\".*?<tspan.*?>(.*?)</tspan>",boost::regex_constants::icase);
|
||||||
|
|
||||||
|
// reading file contents
|
||||||
|
ifstream tfile (tempName.c_str());
|
||||||
|
string tline;
|
||||||
|
string fragment;
|
||||||
|
|
||||||
|
while (!tfile.eof()) {
|
||||||
|
getline (tfile,tline);
|
||||||
|
fragment += tline;
|
||||||
|
fragment += "--endOfLine--";
|
||||||
|
}
|
||||||
|
|
||||||
|
tfile.close();
|
||||||
|
|
||||||
|
//printf(fragment.c_str());
|
||||||
|
|
||||||
|
string::const_iterator start, end;
|
||||||
|
start = fragment.begin();
|
||||||
|
end = fragment.end();
|
||||||
|
//boost::smatch what;
|
||||||
|
boost::match_results<std::string::const_iterator> what;
|
||||||
|
|
||||||
|
cout << "Stored strings: " << EditableTexts.getValue();
|
||||||
|
|
||||||
|
while (boost::regex_search(start,end,what,e)) {
|
||||||
|
//cout << "match" << what.str() << endl;
|
||||||
|
cout << "new match:" << what[1] << " = " << what[2] << endl;
|
||||||
|
start = what[0].second;
|
||||||
|
}
|
||||||
|
|
||||||
PageResult.setValue(tempName.c_str());
|
PageResult.setValue(tempName.c_str());
|
||||||
|
|
||||||
//const char* text = "lskdfjlsd";
|
//const char* text = "lskdfjlsd";
|
||||||
|
|
|
@ -47,7 +47,7 @@ public:
|
||||||
|
|
||||||
App::PropertyFileIncluded PageResult;
|
App::PropertyFileIncluded PageResult;
|
||||||
App::PropertyFile Template;
|
App::PropertyFile Template;
|
||||||
|
App::PropertyStringList EditableTexts;
|
||||||
|
|
||||||
/** @name methods overide Feature */
|
/** @name methods overide Feature */
|
||||||
//@{
|
//@{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user