1. Plugin elements

These are the elements defining a plugin.

1.1. Interface methods

Interface methods are specified by methods decorated by the interfaceMethod decorator. See ORSServiceClass.decorators.infrastructure.interfaceMethod().

Interface methods are used for logging changes in the application, like the creation of a dataset or changing tool. Logging is used for macro creation and for debugging purposes (see macro).

1.3. Actions

Actions are specified by methods decorated by the action decorator. See ORSServiceClass.decorators.infrastructure.action().

Actions can be triggered by a keyboard key, by a mouse click or a combination of these. These keys are configurable in the preferences panel (in the Configurable Actions section).

1.4. States

A plugin must declare his available states in his class variable stateDescriptors. See ORSServiceClass.OrsPlugin.abstractPlugin.AbstractPlugin.

See also States.

1.5. Interests

Interests are specified by methods decorated by the interest decorator. See ORSServiceClass.decorators.infrastructure.interest().

An interest decorator should specify one or more entities for which the decorated method will be called when one of those entities is added or modified in the specified context. For more information about how to use entities, see OrsLibraries.workingcontext.WorkingContext.

1.6. UI descriptors

A plugin must declare his UIs in his class variable UIDescriptors (see ORSServiceClass.OrsPlugin.abstractPlugin.AbstractPlugin).

By convention, the main form of a plugin is named MainForm.