Skip to content

Commit

Permalink
re #11173 updates to the plugin docs - not finished yet
Browse files Browse the repository at this point in the history
  • Loading branch information
NickDraper committed Mar 11, 2015
1 parent f67b764 commit a9020e8
Showing 1 changed file with 97 additions and 2 deletions.
99 changes: 97 additions & 2 deletions Code/Mantid/docs/source/concepts/Plugin.rst
Expand Up @@ -29,18 +29,113 @@ are:
nexus files
- MantidDataObjects - Contains the definitions of the standard
:ref:`workspaces <Workspace>`

Any library that includes classes that extend one of the defined interfaces, and the correct declaration
will be loaded at runtime if located in the Plugins directory.

How can you extend Mantid?
--------------------------

The following areas have been designed to be easily extensible through
using plugins. Each one contains more details in case you wish to create
using plugins. Those with links contain more details in case you wish to create
one of your own.

Algorithms

- :ref:`Algorithm <Algorithm>`
- :ref:`Workspace <Workspace>`
- USER_ALGs
- Unit

GUI extensions

- Custom Algorithm Dialogs
- DECLARE_SUBWINDOW

Fitting / Function Optimization

- Fitting functions
- Fitting constraints
- Fitting function minimizers
- Fitting Cost Functions
- DECLARE_DOMAINCREATOR
- DECLARE_IMPLICIT_FUNCTION_PARAMETER_PARSER
- DECLARE_IMPLICIT_FUNCTION_PARSER
- DECLARE_TRANSFORMSCALE

Workspaces & workspace extensions

- :ref:`Workspace <Workspace>`
- Instrument Parameter Types
- Tableworkspace columns
- DECLARE_VECTORCOLUMN (related to above?)
- DECLARE_SINGLE_VALUE_PARAMETER
- DECLARE_VECTOR_PARAMETER
- DECLARE_WIDGET_PLUGIN

Facility extensions

- Live listener implementations
- Script Repository implementations
- Metadata Catalog implementations (such as ICAT)

Unknown

- DECLARE_BRAGGSCATTERER
- DECLARE_POINTGROUP
- DECLARE_GENERATED_SPACE_GROUP
- DECLARE_TABULATED_SPACE_GROUP
- DECLARE_SYMMETRY_OPERATION
- DECLARE_TEST_VALIDATOR
- DECLARE_FOREGROUNDMODEL
- DECLARE_MDRESOLUTIONCONVOLUTION
- DECLARE_3D_VECTOR_PARAMETER
- DECLARE_MD_TRANSF
- DECLARE_MD_TRANSFID



MDResolutionConvolution.h(139):#define DECLARE_MDRESOLUTIONCONVOLUTION(classname, alias)
Vector3DParameter.h(151):#define DECLARE_3D_VECTOR_PARAMETER(classname, type_)
MDTransfFactory.h(18):#define DECLARE_MD_TRANSF(classname)
MDTransfFactory.h(29):#define DECLARE_MD_TRANSFID(classname, regID)
AlgorithmDialog.h(10):#define DECLARE_DIALOG(classname)
UserSubWindow.h(10):#define DECLARE_SUBWINDOW(classname)
CatalogFactory.h(13):#define DECLARE_CATALOG(classname)
ConstraintFactory.h(94):#define DECLARE_CONSTRAINT(classname)
DeclareUserAlg.h(4):#DECLARE_FOREGROUNDMODELdefine DECLARE_USER_ALG(x)
FuncMinimizerFactory.h(81):#define DECLARE_FUNCMINIMIZER(classname, username)
FunctionFactory.h(171):#define DECLARE_FUNCTION(classname)
IArchiveSearch.h(16):#define DECLARE_ARCHIVESEARCH(classname, facility)
ICostFunction.h(82):#define DECLARE_COSTFUNCTION(classname, username)
IDomainCreator.h(161):#define DECLARE_DOMAINCREATOR(classname)
ImplicitFunctionParameterParser.h(10):#define DECLARE_IMPLICIT_FUNCTION_PARAMETER_PARSER(classname)
ImplicitFunctionParser.h(10):#define DECLARE_IMPLICIT_FUNCTION_PARSER(classname)
ITransformScale.h(61):#define DECLARE_TRANSFORMSCALE(classname)
LiveListenerFactory.h(12):#define DECLARE_LISTENER(classname)
ScriptRepositoryFactory.h(87):#define DECLARE_SCRIPTREPOSITORY(classname)
SingleValueParameter.h(158):#define DECLARE_SINGLE_VALUE_PARAMETER(classname, type_)
VectorParameter.h(245):#define DECLARE_VECTOR_PARAMETER(classname, type_)
WorkspaceFactory.h(9):#define DECLARE_WORKSPACE(classname)
TableColumn.h(369):#define DECLARE_TABLECOLUMN(DataType, TypeName)
VectorColumn.h(171):#define DECLARE_VECTORCOLUMN(Type, TypeName)
PluginCollectionInterface.h(74):#define DECLARE_WIDGET_PLUGIN(PluginClass, WidgetClass, ToolTip)
BraggScattererFactory.h(99):#define DECLARE_BRAGGSCATTERER(classname)
Instrument\Parameter.h(7):#define DECLARE_PARAMETER(classname, classtype)
Crystal\PointGroupFactory.h(109):#define DECLARE_POINTGROUP(classname)
Crystal\SpaceGroupFactory.h(209):#define DECLARE_GENERATED_SPACE_GROUP(number, hmSymbol, generators)
Crystal\SpaceGroupFactory.h(218):#define DECLARE_TABULATED_SPACE_GROUP(number, hmSymbol, symmetryOperations)
Crystal\SymmetryOperationFactory.h(94):#define DECLARE_SYMMETRY_OPERATION(operation, name)
UnitFactory.h(12):#define DECLARE_UNIT(classname)
TypedValidatorTest.h(10):#define DECLARE_TEST_VALIDATOR(ClassName, HeldType)
ForegroundModel.h(145):#define DECLARE_FOREGROUNDMODEL(classname)
MDResolutionConvolution.h(139):#define DECLARE_MDRESOLUTIONCONVOLUTION(classname, alias)
Vector3DParameter.h(151):#define DECLARE_3D_VECTOR_PARAMETER(classname, type_)
MDTransfFactory.h(18):#define DECLARE_MD_TRANSF(classname)
MDTransfFactory.h(29):#define DECLARE_MD_TRANSFID(classname, regID)
AlgorithmDialog.h(10):#define DECLARE_DIALOG(classname)
UserSubWindow.h(10):#define DECLARE_SUBWINDOW(classname)


How do you create a plugin?
---------------------------

Expand Down

0 comments on commit a9020e8

Please sign in to comment.