Class AbstractDesignerModuleHook
- java.lang.Object
-
- com.inductiveautomation.ignition.designer.model.AbstractDesignerModuleHook
-
- All Implemented Interfaces:
DesignerModuleHook
- Direct Known Subclasses:
DesignerHook,DesignerHook,ReportingDesignerHook,SFCDesignerHook,VisionDesignerImpl
public abstract class AbstractDesignerModuleHook extends java.lang.Object implements DesignerModuleHook
Base class for all designer module hook implementations. All methods are given empty implementations. It is expected that subclasses will override any methods that they wish to give real implementations.
Best practice is to subclass this class rather than implement
DesignerModuleHookdirectly, so that when new methods get added to the interface, your module automatically inherits an empty implementation of the new method rather than breaking with aNoSuchMethodError.
-
-
Constructor Summary
Constructors Constructor Description AbstractDesignerModuleHook()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconfigureDeserializer(XMLDeserializer deserializer)voidconfigureFunctionFactory(ExpressionFunctionManager factory)Provides the module with an opportunity to define its own expression functionsvoidconfigureSerializer(XMLSerializer serializer)Provides the module a chance to add serialization delegates to the serializer custom for classes that might be encountered when serializing objects provided by this modulejava.util.Map<java.lang.String,java.lang.String>createPermissionKeys()Allows a module to create one or more id-bundlekey pairs that the module will use for role-based client security.java.util.List<com.jidesoft.docking.DockableFrame>getFrames()A list of DockableFrames that this module provides, that should be available to all workspaces.MenuBarMergegetModuleMenu()Returns a menu merge for any global menu additions.java.util.List<com.jidesoft.action.CommandBar>getModuleToolbars()Returns the toolbars for the module.java.lang.StringgetResourceCategoryKey(ProjectResourceId id)Used by modules that add project resources to an Ignition project.java.lang.StringgetResourceDisplayName(ProjectResourceId id)Allows a module to give an appropriate display name for the resource.javax.swing.IcongetResourceIcon(ProjectResourceId id)Allows a module to give an appropriate icon for a resource.voidinitializeScriptManager(ScriptManager manager)Initialize a newly-instantiated script manager.voidnotifyActivationStateChanged(LicenseState licenseState)Notifies this designer module that its license state has changed.voidnotifyProjectSaveDone()Notifies the module that the save operation has finished.voidnotifyProjectSaveStart(SaveContext save)Notifies the module that the user has requested that the project is saved.voidshutdown()Called when the module is shut down.voidstartup(DesignerContext context, LicenseState activationState)The main entrypoint for the module hook.
-
-
-
Method Detail
-
startup
public void startup(DesignerContext context, LicenseState activationState) throws java.lang.Exception
Description copied from interface:DesignerModuleHookThe main entrypoint for the module hook. This will only be called once for a given project. If another project is ever opened,DesignerModuleHook.shutdown()will be called and a new hook will be instantiated- Specified by:
startupin interfaceDesignerModuleHook- Throws:
java.lang.Exception- if the module was not able to be initialized for the given project.
-
shutdown
public void shutdown()
Description copied from interface:DesignerModuleHookCalled when the module is shut down. This will happen if the user opens a different project within the same designer session - the existing modules will be shut down, and new module hooks will be instantiated and started up.- Specified by:
shutdownin interfaceDesignerModuleHook
-
getResourceCategoryKey
public java.lang.String getResourceCategoryKey(ProjectResourceId id)
Description copied from interface:DesignerModuleHookUsed by modules that add project resources to an Ignition project. This will be called when the exporter is displaying all of the resources inside a project for export. Only project resources that match this module's ID will passed to this function.
Used by the import/export system.
- Specified by:
getResourceCategoryKeyin interfaceDesignerModuleHook- Parameters:
id- A project resource that was added by this module.- Returns:
- A bundle resource key for the category of this resource.
-
getResourceDisplayName
public java.lang.String getResourceDisplayName(ProjectResourceId id)
Description copied from interface:DesignerModuleHookAllows a module to give an appropriate display name for the resource. For most resources this won't be necessary (the resource's name itself should be used), but for some resources whose name is null, this may be appropriate.
Used by the import/export system.
- Specified by:
getResourceDisplayNamein interfaceDesignerModuleHook- Returns:
- the name for a resource, or null to use the resource's folder path/name.
-
getResourceIcon
public javax.swing.Icon getResourceIcon(ProjectResourceId id)
Description copied from interface:DesignerModuleHookAllows a module to give an appropriate icon for a resource.
Used by the import/export system.
- Specified by:
getResourceIconin interfaceDesignerModuleHook
-
getModuleMenu
public MenuBarMerge getModuleMenu()
Description copied from interface:DesignerModuleHookReturns a menu merge for any global menu additions. May be null.- Specified by:
getModuleMenuin interfaceDesignerModuleHook- See Also:
JMenuMerge
-
getModuleToolbars
@Nonnull public java.util.List<com.jidesoft.action.CommandBar> getModuleToolbars()
Description copied from interface:DesignerModuleHookReturns the toolbars for the module. May be empty but not null.- Specified by:
getModuleToolbarsin interfaceDesignerModuleHook
-
getFrames
@Nonnull public java.util.List<com.jidesoft.docking.DockableFrame> getFrames()
Description copied from interface:DesignerModuleHookA list of DockableFrames that this module provides, that should be available to all workspaces.- Specified by:
getFramesin interfaceDesignerModuleHook
-
notifyActivationStateChanged
public void notifyActivationStateChanged(LicenseState licenseState)
Description copied from interface:DesignerModuleHookNotifies this designer module that its license state has changed. This could mean that the trial mode has expired (or been reset), the module has been activated, etc.- Specified by:
notifyActivationStateChangedin interfaceDesignerModuleHook
-
configureSerializer
public void configureSerializer(XMLSerializer serializer)
Description copied from interface:DesignerModuleHookProvides the module a chance to add serialization delegates to the serializer custom for classes that might be encountered when serializing objects provided by this module- Specified by:
configureSerializerin interfaceDesignerModuleHook
-
configureDeserializer
public void configureDeserializer(XMLDeserializer deserializer)
- Specified by:
configureDeserializerin interfaceDesignerModuleHook
-
configureFunctionFactory
public void configureFunctionFactory(ExpressionFunctionManager factory)
Description copied from interface:DesignerModuleHookProvides the module with an opportunity to define its own expression functions- Specified by:
configureFunctionFactoryin interfaceDesignerModuleHook
-
notifyProjectSaveStart
public void notifyProjectSaveStart(SaveContext save)
Description copied from interface:DesignerModuleHookNotifies the module that the user has requested that the project is saved. The module must check-in any checked-out resources that it is holding.- Specified by:
notifyProjectSaveStartin interfaceDesignerModuleHook
-
notifyProjectSaveDone
public void notifyProjectSaveDone()
Description copied from interface:DesignerModuleHookNotifies the module that the save operation has finished. This is the cue to check-out any previously checked-out resources that it was forced to check-in before the save.- Specified by:
notifyProjectSaveDonein interfaceDesignerModuleHook
-
initializeScriptManager
public void initializeScriptManager(ScriptManager manager)
Description copied from interface:DesignerModuleHookInitialize a newly-instantiated script manager. This will be called exactly once for any given ScriptManager instance. Usually this will involve callingScriptManager.addScriptModule(String, Object), which reflectively loads the public (instance and static) java functions from the given object into the scripting environment, at the provided path.- Specified by:
initializeScriptManagerin interfaceDesignerModuleHook
-
createPermissionKeys
public java.util.Map<java.lang.String,java.lang.String> createPermissionKeys()
Description copied from interface:DesignerModuleHookAllows a module to create one or more id-bundlekey pairs that the module will use for role-based client security.- Specified by:
createPermissionKeysin interfaceDesignerModuleHook- Returns:
- Map of id-bundlekey entries. May be empty but not null.
-
-