Creating new module in the designer
To create a new module:
1. Create an assembly or a folder within the assembly with the following structure:
NewModule
| - Constants // Contains constants with the names of the teams, events, workspaces, etc.
| - Controllers // Contains controllers
| - Models // Contains Object Model
| - Services // Contains interfaces and service implementations
| - Views // Contains views, controls, dialogs, wizards
| - WorkItems // Contains work items
2. Create a base work item of the module in the WorkItem folder
public class NewModuleWI : RibbonChapterWorkItem<Controller, NewModuleView>
{
}
You can use either a standard or a custom class as a controller.
3. Create a view for the module.
It can be any WinForms control.
If we need to use a controller and/or a work item for the view, the controller can be inherited from ControlledView or ControlledDataView . The last one allows you to pass data through the DataSourceObject property.
To correctly display the designer view in VisualStudio, you should inherit from the stub class.
/// <summary>
/// View
/// </summary>
public partial class NewModuleView : NewModuleView_Generic
{
// View logic
}/// <summary>
/// View stub
/// </summary>
public class NewModuleView_Generic : ControlledDataView<NewModuleController>
{
}
4. In the root folder, create a class inherited from SingleWorkItemModule<NewModuleWI>.
5. In the configuration file of the application, add a line with the module registration.
<CompositeUI>
<modules>
<add type="EleWise.ELMA.NewModuleAsm.NewModule, EleWise.ELMA.NewModuleAsm"/>
</modules>
</CompositeUI>