| |
|
| |
|
| |
|
| |
|
| |
|
| | from . import template
|
| | import model.generateModel_Module
|
| | import model.generateTools
|
| |
|
| |
|
| | class TemplateFeature(template.ModelTemplate):
|
| | def Generate(self):
|
| | file = open(self.outputDir + self.feature.Name + "Imp.cpp", "w")
|
| | model.generateTools.replace(self.TemplateImplement, locals(), file)
|
| | file = open(self.outputDir + self.feature.Name + ".cpp", "w")
|
| | model.generateTools.replace(self.TemplateModule, locals(), file)
|
| | file = open(self.outputDir + self.feature.Name + ".h", "w")
|
| | model.generateTools.replace(self.TemplateHeader, locals(), file)
|
| |
|
| |
|
| | TemplateHeader = """
|
| | #ifndef @self.module.Name.upper()@_FEATURE_@self.feature.Name.upper()@_H
|
| | #define @self.module.Name.upper()@_FEATURE_@self.feature.Name.upper()@_H
|
| |
|
| | #include <App/PropertyStandard.h>
|
| |
|
| | #include <App/Feature.h>
|
| |
|
| | namespace @self.module.Name@
|
| | {
|
| |
|
| |
|
| | class @self.feature.Name@ : public App::Feature
|
| | {
|
| | PROPERTY_HEADER(@self.module.Name@::@self.feature.Name@);
|
| |
|
| | public:
|
| | @self.feature.Name@();
|
| | + for i in self.feature.Property:
|
| | @i.Type@ @i.Name@;
|
| | -
|
| |
|
| | /** @name Methods override feature */
|
| | //@{
|
| | /// Recalculate the feature
|
| | virtual int execute(void);
|
| | /// Return the type name of the ViewProvider
|
| | virtual const char* getViewProviderName(void) const {
|
| | return "@self.module.Name@Gui::ViewProviderBox";
|
| | }
|
| | //@}
|
| | };
|
| |
|
| | } //namespace @self.module.Name@
|
| |
|
| | #endif // @self.module.Name.upper()@_FEATURE_@self.feature.Name.upper()@_H
|
| |
|
| | """
|
| | TemplateModule = """
|
| |
|
| | #include "@self.feature.Name@.h"
|
| |
|
| | using namespace @self.module.Name@;
|
| |
|
| | PROPERTY_SOURCE(@self.module.Name@::@self.feature.Name@, App::Feature)
|
| |
|
| | @self.feature.Name@::@self.feature.Name@()
|
| | {
|
| | + for i in self.feature.Property:
|
| | ADD_PROPERTY(@i.Name@,(0.0));
|
| | -
|
| | }
|
| | """
|
| |
|
| | TemplateImplement = """
|
| | //
|
| |
|
| | #include "@self.feature.Name@.h"
|
| |
|
| | using namespace @self.module.Name@;
|
| |
|
| | // TODO This method implements the function of the feature
|
| | int @self.feature.Name@::execute(void)
|
| | {
|
| | return 0;
|
| | }
|
| |
|
| | """
|
| |
|