Hi Matt,
Thanks again for your interest in my project. I will try to be a bit clearer on what I would like to be able to do, if possible. I am actually using a product called clarion# from soft velocity who have licenced the sharpdevelop ide for their use. So, please ignore any non-c# constructs in my example template. Lets say I have a template like this:
<?xml version="1.0"?>
<Template author="Keystone Computer Resources" version="1.0">
<Config
name = "Keystone Update Form"
icon = "ClarionNet.File.Form"
category = "Clarion.Net"
subcategory = "${res:Templates.File.Categories.WindowsApplications}"
defaultname = "Form${Number}.cln"
language = "Clarion.Net"/>
<Description>Test</Description>
<parameters>
<parameter name="$Param1$" value="" />
<parameter name="$Param2$" value="" />
</parameters>
<Files>
<File name="${Path}/${FileNameWithoutExtension}.Designer.cln" DependentUpon="${FileName}" language="Clarion.Net">
<![CDATA[${StandardHeader.Clarion#}
MEMBER('')
USING(System)
USING(System.Drawing)
USING(System.Windows.Forms)
USING(Keystone.UIControls)
NAMESPACE(${StandardNamespace})
MyTest PROCEDURE()
CODE
MessageBox.Show('$Param1$ + ' ' + '$Param2$')
</File>
</Files>
</Template>
Given the above template here is what I would like to happen:
User selects NewItem in the Project pad
Selected Template (mine) is read and Parameter Array constructed
Call my assembly so that it has access to the parameter array
My assembly uses a dialog to prompt the user for Param1 and Param2 values
User enters 'Hello' and 'World' and presses ok (finish) button.
Return to SharpDevelop process which should substitute the parameter values for the defined parameters so that the MessageBox statement looks like this in the generated output:
MessageBox.Show('Hello' + ' ' + 'World')
I hope that is a bit clearer. obviously my actual template is much more complex but this gives the basic idea. So now my question again, is this possible? and, if so, how?
Kind Regards
Randy