Interface PipelineBlockPrototype

All Known Implementing Classes:
AbstractBlockPrototype, DelayBlockPrototype, ExpressionBlockPrototype, JumpBlockPrototype, LegacyNotificationPrototype, NotificationBlockPrototype, PropertySetterBlockPrototype, ScriptableBlockPrototype, SplitterBlockPrototype, SwitchBlockPrototype

public interface PipelineBlockPrototype

A pipeline block prototype describes a pipeline's general nature for the purposes of visual design within the pipeline design workspace.

If a module wishes to add a new type of pipeline block, they must register a prototype with the DesignerContext

  • Method Details

    • createNewBlock

      ObservablePropertySet createNewBlock()
      Create a new property set to represent this block
    • getTitle

      LocalizedString getTitle()
      Returns:
      the title for the block
    • getIcon

      Icon getIcon()
      Returns:
      A 32x32 icon for the palette
    • getRolloverIcon

      Icon getRolloverIcon()
      Returns:
      Rollover version of the palette icon.
    • getSmallIcon

      Icon getSmallIcon()
      Returns:
      Small 16x16 icon for the title of the block
    • createEditingUI

      JComponent createEditingUI(DesignerContext context, PropertySet block)
      Create a new editing UI for the given block. Note that your component may implement PipelineBlockEditor to get callbacks on uninstall
    • getFactoryId

      String getFactoryId()
      Return the factory id of blocks created with this prototype.
    • getOutputs

    • getBlockMutatingProperties

      Collection<Property<?>> getBlockMutatingProperties()
      Which properties (if any) are able to alter the structure of the block (number/names of outputs)
    • getSearchableProperties

      Collection<Property<?>> getSearchableProperties(PropertySet block)
      Which properties (if any) are eligible for the search and replace system.
      Parameters:
      block - The block in question
    • isPreviewPanelSupported

      boolean isPreviewPanelSupported()
      Return true here if you want to add extra information to the block display on a preview panel beneath the input/output pins.
    • initPreviewPanel

      void initPreviewPanel(ObservablePropertySet block, JPanel panel)
      Used to initialize a small preview of the block's properties, which is displayed beneath the block.
    • isSystemOnly

      boolean isSystemOnly()
      Returns whether only the system can programmatically create these types of blocks. If false, the user will be able to create them from the palette.