Difference between revisions of "Documentation/4.2/Developers/ModuleWizard"
(Nightly -> 4.2) |
m (→Examples) |
||
Line 24: | Line 24: | ||
These can be run from the Slicer4 source directory. | These can be run from the Slicer4 source directory. | ||
+ | |||
To create a [[Documentation/{{documentation/version}}/Developers/Modules#Command_Line_Interface_.28CLI.29|CLI]] Extension: | To create a [[Documentation/{{documentation/version}}/Developers/Modules#Command_Line_Interface_.28CLI.29|CLI]] Extension: | ||
./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/CLIExtensionTemplate --target ../MyFooExtension MyFooExtension | ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/CLIExtensionTemplate --target ../MyFooExtension MyFooExtension | ||
+ | |||
+ | where <code>MyFooExtension</code> is the name of your extension | ||
+ | |||
To create a [[Documentation/{{documentation/version}}/Developers/Tutorials/CreateLoadableModule|Loadable]] Extension: | To create a [[Documentation/{{documentation/version}}/Developers/Tutorials/CreateLoadableModule|Loadable]] Extension: | ||
./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/LoadableExtensionTemplate --target ../MyBarExtension MyBarExtension | ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/LoadableExtensionTemplate --target ../MyBarExtension MyBarExtension | ||
+ | |||
+ | where <code>MyBarExtension</code> is the name of your extension | ||
+ | |||
To create a [[Documentation/{{documentation/version}}/Developers/Modules#Scripted_Modules|Scripted Loadable]] Extension: | To create a [[Documentation/{{documentation/version}}/Developers/Modules#Scripted_Modules|Scripted Loadable]] Extension: | ||
./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/ScriptedLoadableExtensionTemplate --target ../MyBorExtension MyBorExtension | ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/ScriptedLoadableExtensionTemplate --target ../MyBorExtension MyBorExtension | ||
+ | |||
+ | where <code>MyBorExtension</code> is the name of your extension | ||
+ | |||
To create an [[Documentation/{{documentation/version}}/Developers/EditorExtension|EditorEffect]] Extension | To create an [[Documentation/{{documentation/version}}/Developers/EditorExtension|EditorEffect]] Extension | ||
./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/EditorExtensionTemplate --target ../MyEditorEffect MyEditorEffect | ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/EditorExtensionTemplate --target ../MyEditorEffect MyEditorEffect | ||
+ | |||
+ | where <code>MyEditorEffect</code> is the name of your extension |
Revision as of 22:11, 9 January 2013
Home < Documentation < 4.2 < Developers < ModuleWizardContents
Background
Slicer modules typically consist of several files of various types, such as CMake files, source files, and binary files.
In many cases, the names of the files and the names of text strings inside the files are related and need to be in sync in order for things to compile.
Also, it is not uncommon to want to use one module as the starting point for implementing similar functionality.
Terminology
- The template is a directory containing a slicer module
- The templateKey is a text string, typically the name of the module, that is used in both filename and identifiers inside the module.
- The target is a directory where you want the new module to be placed
- The moduleName is the string that you want to use in place of the templateKey
Usage
ModuleWizard [--template <dir>] [--templateKey <key>] [--target <dir>] <moduleName> --template default ./Extensions/Testing/LoadableExtensionTemplate --templateKey default is dirname of template --target default ./Modules/Loadable/<moduleName>
Examples
These can be run from the Slicer4 source directory.
To create a CLI Extension:
./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/CLIExtensionTemplate --target ../MyFooExtension MyFooExtension
where MyFooExtension
is the name of your extension
To create a Loadable Extension:
./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/LoadableExtensionTemplate --target ../MyBarExtension MyBarExtension
where MyBarExtension
is the name of your extension
To create a Scripted Loadable Extension:
./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/ScriptedLoadableExtensionTemplate --target ../MyBorExtension MyBorExtension
where MyBorExtension
is the name of your extension
To create an EditorEffect Extension
./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/EditorExtensionTemplate --target ../MyEditorEffect MyEditorEffect
where MyEditorEffect
is the name of your extension