Interface DesignerModuleHook

    • Method Detail

      • startup

        void startup​(DesignerContext context,
                     LicenseState activationState)
              throws java.lang.Exception
        The main entrypoint for the module hook. This will only be called once for a given project. If another project is ever opened, shutdown() will be called and a new hook will be instantiated
        Throws:
        java.lang.Exception - if the module was not able to be initialized for the given project.
      • shutdown

        void shutdown()
        Called 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.
      • getModuleMenu

        MenuBarMerge getModuleMenu()
        Returns a menu merge for any global menu additions. May be null.
        See Also:
        JMenuMerge
      • getModuleToolbars

        @Nonnull
        java.util.List<com.jidesoft.action.CommandBar> getModuleToolbars()
        Returns the toolbars for the module. May be empty but not null.
      • getFrames

        @Nonnull
        java.util.List<com.jidesoft.docking.DockableFrame> getFrames()
        A list of DockableFrames that this module provides, that should be available to all workspaces.
      • notifyActivationStateChanged

        void notifyActivationStateChanged​(LicenseState licenseState)
        Notifies 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.
      • configureSerializer

        void configureSerializer​(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 module
      • configureDeserializer

        void configureDeserializer​(XMLDeserializer deserializer)
      • configureFunctionFactory

        void configureFunctionFactory​(ExpressionFunctionManager factory)
        Provides the module with an opportunity to define its own expression functions
      • notifyProjectSaveStart

        void notifyProjectSaveStart​(SaveContext save)
        Notifies 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.
      • notifyProjectSaveDone

        void notifyProjectSaveDone()
        Notifies 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.
      • initializeScriptManager

        void initializeScriptManager​(ScriptManager manager)
        Initialize a newly-instantiated script manager. This will be called exactly once for any given ScriptManager instance. Usually this will involve calling ScriptManager.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.
      • getResourceCategoryKey

        java.lang.String getResourceCategoryKey​(ProjectResourceId id)

        Used 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.

        Parameters:
        id - A project resource that was added by this module.
        Returns:
        A bundle resource key for the category of this resource.
      • getResourceDisplayName

        java.lang.String getResourceDisplayName​(ProjectResourceId id)

        Allows 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.

        Returns:
        the name for a resource, or null to use the resource's folder path/name.
      • getResourceIcon

        javax.swing.Icon getResourceIcon​(ProjectResourceId id)

        Allows a module to give an appropriate icon for a resource.

        Used by the import/export system.

      • createPermissionKeys

        @Nonnull
        java.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.
        Returns:
        Map of id-bundlekey entries. May be empty but not null.