Devildog74 wrote:
So far so good, plugins rock; I have a few questions still.
With regards to task performers and the emitType set to generic; does this setting render the "_activeObject" member of an LPT Template not available?
Yes. _activeObject is set in a loop inside the template execution engine. This is thus the case when you specify an emit type like allEntities: it will then loop over all entities, for each entity it will call the template, setting _activeObject.
With 'generic' it simply calls the template, it's not looping over anything, so when the template finishes, the cycle is over for that task and the task is done.
Is it possible to launch the generator from the execute method of the plugin, using a task performer & template set pre-set by the plugin settings tab?
You should peek into the CliGenerator sourcecode how a set of tasks is started. If you copy that routine to your plug-in, you should be able to generate code from a plugin indeed. You can't call into the start routine inside the designer. But that's not a big problem, as the vast majority of the code is in the Generator object.
The plugin gets the ApplicationConfiguration object with the driver configs and all paths, it just has to load the generator config and the template set and that's about it.
Is it possible to access the "Project Element Group" (specifically the name in the drop down list) from LPT?
Yes, Project.ProjectElementGroups
(hashtable, key groupname, value: ProjectElementGroup)
Can you clarify the XML that needs to go into the task performer to enable debugging in an lpt template or are these just xml attributes that need to be set on the first "task" element that uses the DotNetTemplateEngine?
Yes, just on the first task element which uses an lpt template, it's a parameter to the DotNetTemplateEngine, to switch it into debug build mode. There is a task defined for that in template studio.