an Example of creating a module and its debugging
Example of creating a simple extension module for Flexberry Designer
You must connect the library:
- ICSSoft.STORMNET.DataObject
- Repository
- STORM.NET Case Tool plugin
using System;
using System.Collections.Generic;
using System.Text;
using STORMCASE.Plugin;
using STORMCASE.Repository;
using System.Windows.Forms;
namespace STORMCASE.Plugin
{
public class OurPlugin : CasePlugin
{
#region private members
private NamedDoMethod[] _stageFeatures;
private NamedDoMethod[] _configurationFeatures;
private Type[] _stageTypes = new Type[] { typeof(STORMCASE.STORMNET.Repository.Stage) };
private string _name;
private string _description;
#endregion
#region CasePlugin members
public override string Description
{
get { return _description; }
}
public override void EditSettings()
{
}
public override NamedDoMethod[] GetFeatures(object SelectedObject)
{
if (SelectedObject.GetType() == typeof(STORMCASE.Repository.Configuration))
return _configurationFeatures;
else if (SelectedObject.GetType() == typeof(STORMCASE.STORMNET.Repository.Stage))
return _stageFeatures;
else return null;
}
public override Type[] GetStageTypes()
{
return _stageTypes;
}
public override string Name
{
get { return _name; }
}
public override string Settings
{
get
{
return null;
}
set
{
}
}
protected override void prv_SetDefaultSettings()
{
}
#endregion
#region Constructors
public OurPlugin()
{
_name = "Our plugin name";
_description = "Example of plugin";
// Operations available for the stage.
_stageFeatures = new NamedDoMethod[] { new NamedDoMethod("Take the name of the stage", new DoMethodDelegate(ShowStageName)) };
// Operations available for the configuration.
_configurationFeatures = new NamedDoMethod[] { new NamedDoMethod("Display name"configuration, new DoMethodDelegate(ShowConfigurationName)) };
}
#endregion
#region Methods
public void ShowStageName(object oStage)
{
// Stage, or its successor STORMCASE.STORMNET.Repository.Stage.
Stage stage = oStage as Stage;
MessageBox.Show(stage.Name);
}
public void ShowConfigurationName(object oConf)
{
Configuration conf = oConf as Configuration;
MessageBox.Show(conf.Name);
}
#endregion
}
}
Debugging extension module
To debug an extension module, in the configuration file Flexberry Designer to add the following setting:
<add key="GenerationDebug" value="true"/>
If the setting is, in some cases, output in a separate process you will see a message when you can connect to the new created process.