Class VSComponentCreation<VSTYPE extends VSComponent>

java.lang.Object
com.iizigo.vs.wizards.VSComponentCreation<VSTYPE>
All Implemented Interfaces:
INewVSComponentWizardInfo
Direct Known Subclasses:
VSActionCreation, VSColumnCreation, VSFieldCreation, VSTableCreation

public abstract class VSComponentCreation<VSTYPE extends VSComponent> extends Object implements INewVSComponentWizardInfo
Class for VirtualSpace component creation used in the wizards e.g. when creating panel components.
Author:
Christopher Mindus
  • Field Details

    • createdComponent

      protected VSTYPE extends VSComponent createdComponent
      The created component.
  • Constructor Details

    • VSComponentCreation

      public VSComponentCreation(EditorVirtualSpace virtualSpace, String requestedName, Value.Type valueType, boolean doCreateDefaultValue, boolean isChooseTypeAllowed, Boolean isNullAllowed, VSReferenceOwnerData<VSTable,VSTableReference> tableOwner, IPropUndoRedo undoRedo)
      Constructor.
      Parameters:
      virtualSpace - The VirtualSpace.
      requestedName - The requested name of the component.
      valueType - The value type chosen when the VS type is VSField or VSColumnHeader.
      doCreateDefaultValue - Flag to create a default value.
      isChooseTypeAllowed - If user is allowed to choose value type.
      isNullAllowed - Flag null is allowed, null to enable user to choose.
      tableOwner - The table owner, or null for not available (or not applicable).
      undoRedo - The undo/redo instance.
  • Method Details

    • registerRequestedNameListener

      public void registerRequestedNameListener(Runnable nameListener)
      Registers a requested name listener.
      Specified by:
      registerRequestedNameListener in interface INewVSComponentWizardInfo
    • isComponentSelectable

      public final boolean isComponentSelectable()
      Returns if the VS component should be selectable or not.
      Specified by:
      isComponentSelectable in interface INewVSComponentWizardInfo
      Returns:
      true by default in order to enable selecting an existing component.
    • setTitle

      public final void setTitle(String title)
      Sets the title.
      Parameters:
      title - The title for the page, or null for default.
    • getTitle

      public final String getTitle()
      Gets the title.
      Specified by:
      getTitle in interface INewVSComponentWizardInfo
      Returns:
      The title for the page, or null for default.
    • getDescription

      public final String getDescription()
      Gets the description.
      Specified by:
      getDescription in interface INewVSComponentWizardInfo
      Returns:
      The description of the page, or null for default.
    • setDescription

      public final void setDescription(String descr)
      Gets the description.
      Parameters:
      descr - The description of the page, or null for default.
    • getVSParent

      public final PropCnr getVSParent()
      Gets the parent for the component. This is initially set to the VirtualSpace.
    • setVSParent

      public final void setVSParent(PropCnr vsParent)
      Sets the parent.
    • setRequestedName

      public final void setRequestedName(String requestedName)
      Sets the requested name.
      Specified by:
      setRequestedName in interface INewVSComponentWizardInfo
      Parameters:
      requestedName - null if no name is requested.
    • getRequestedName

      public final String getRequestedName()
      Gets the requested name.
      Specified by:
      getRequestedName in interface INewVSComponentWizardInfo
      Returns:
      null if no name is requested.
    • getVirtualSpace

      public final EditorVirtualSpace getVirtualSpace()
      Returns the VirtualSpace.
      Specified by:
      getVirtualSpace in interface INewVSComponentWizardInfo
    • getValueType

      public final Value.Type getValueType()
      Returns the value type where this applies (for VS Field and VS Column Header).
      Specified by:
      getValueType in interface INewVSComponentWizardInfo
    • setValueType

      public final void setValueType(Value.Type valueType)
      Sets the value type where this applies (for VS Field and VS Column Header).
      Specified by:
      setValueType in interface INewVSComponentWizardInfo
      Parameters:
      valueType - The new value type.
    • isChooseTypeAllowed

      public final boolean isChooseTypeAllowed()
      Returns if the user is allowed to choose type.
      Specified by:
      isChooseTypeAllowed in interface INewVSComponentWizardInfo
    • isNullAllowed

      public final Boolean isNullAllowed()
      Returns if null is allowed.
      Specified by:
      isNullAllowed in interface INewVSComponentWizardInfo
      Returns:
      null to enable user to choose, otherwise Boolean.TRUE or Boolean.FALSE to disable user choice and use this setting.
    • setNullAllowed

      public final void setNullAllowed(boolean isNullAllowed)
      Sets the null allowed flag.
      Specified by:
      setNullAllowed in interface INewVSComponentWizardInfo
    • doCreateDefaultValue

      public final boolean doCreateDefaultValue()
      Returns if a default value should be created.
      Specified by:
      doCreateDefaultValue in interface INewVSComponentWizardInfo
    • getTableOwner

      public final VSReferenceOwnerData<VSTable,VSTableReference> getTableOwner()
      Gets the table owner, for table column creation.
      Specified by:
      getTableOwner in interface INewVSComponentWizardInfo
      Returns:
      The table owner, or null for not available (or not applicable).
    • getUndoRedo

      public final IPropUndoRedo getUndoRedo()
      Gets the undo/redo instance.
      Specified by:
      getUndoRedo in interface INewVSComponentWizardInfo
    • createVSComponent

      public final VSTYPE createVSComponent(ComplexOperation op)
      Creates the component required with the specified name.
      Parameters:
      op - The complex operation.
      Returns:
      The component, initiated with potential value or value type.
    • getDefaultName

      public abstract String getDefaultName()
      Gets the default name for the VS component if no request name is defined.
    • onWizard

      public abstract void onWizard(AddUICompWizard wizard)
      Called to create required wizard pages.
      Parameters:
      wizard - The wizard.
    • doCreate

      protected abstract VSTYPE doCreate(Atom name, PropCnr parent, ComplexOperation op)
      Creates the component required with the specified name.
      Parameters:
      name - The name.
      parent - The parent for the VS component.
      op - The complex operation.
      Returns:
      The component, initiated with potential value or value type.
    • assignReference

      public abstract boolean assignReference()
      Completes the referencing to the VS component in the UI component.
      Returns:
      true if the component reference is set, false if the user chose not to create this VS component.