Class PaletteEntry

java.lang.Object
org.eclipse.gef.palette.PaletteEntry
Direct Known Subclasses:
PaletteContainer, PaletteSeparator, PaletteTemplateEntry, ToolEntry

public class PaletteEntry extends Object
Root class (statically) for the palette model.
  • Field Details

    • PROPERTY_SMALL_ICON

      public static final String PROPERTY_SMALL_ICON
      Property name for the entry's small icon
      See Also:
    • PROPERTY_TYPE

      public static final String PROPERTY_TYPE
      Property name for the entry's type
      See Also:
    • PROPERTY_LARGE_ICON

      public static final String PROPERTY_LARGE_ICON
      Property name for the entry's large icon
      See Also:
    • PROPERTY_LABEL

      public static final String PROPERTY_LABEL
      Property name for the entry's label (name)
      See Also:
    • PROPERTY_DESCRIPTION

      public static final String PROPERTY_DESCRIPTION
      Property name for the entry's description
      See Also:
    • PROPERTY_VISIBLE

      public static final String PROPERTY_VISIBLE
      Property name for the entry's hidden status
      See Also:
    • PROPERTY_DEFAULT

      public static final String PROPERTY_DEFAULT
      Property name for the entry's default staus
      See Also:
    • PROPERTY_PARENT

      public static final String PROPERTY_PARENT
      Property name for the entry's parent
      See Also:
    • PALETTE_TYPE_UNKNOWN

      public static final String PALETTE_TYPE_UNKNOWN
      Type unknown
      See Also:
    • PERMISSION_NO_MODIFICATION

      public static final int PERMISSION_NO_MODIFICATION
      No changes can be made to a PaletteEntry with this permission level.
      See Also:
    • PERMISSION_HIDE_ONLY

      public static final int PERMISSION_HIDE_ONLY
      Entries with this permission level can only be hidden/shown.
      See Also:
    • PERMISSION_LIMITED_MODIFICATION

      public static final int PERMISSION_LIMITED_MODIFICATION
      Any property of entries with this level of permission can be changed; however, they cannot be deleted from the palette. The children PaletteContainers with this permission level can be reordered within that container (however, cross-container moving is not allowed).
      See Also:
    • PERMISSION_FULL_MODIFICATION

      public static final int PERMISSION_FULL_MODIFICATION
      All modifications allowed.
      See Also:
    • listeners

      protected PropertyChangeSupport listeners
      PropertyChangeSupport
  • Constructor Details

    • PaletteEntry

      public PaletteEntry(String label, String shortDescription)
      Constructor

      Any parameter can be null

      Parameters:
      label - The entry's name
      shortDescription - The entry's description
    • PaletteEntry

      public PaletteEntry(String label, String shortDescription, Object type)
      Constructor

      Any parameter can be null

      Parameters:
      label - The entry's name
      shortDescription - The entry's description
      type - The entry's type
    • PaletteEntry

      public PaletteEntry(String label, String shortDescription, ImageDescriptor iconSmall, ImageDescriptor iconLarge)
      Constructor

      Any parameter can be null

      Parameters:
      label - The entry's name
      shortDescription - The entry's description
      iconSmall - The small icon to represent this entry
      iconLarge - The large icon to represent this entry
    • PaletteEntry

      public PaletteEntry(String label, String shortDescription, ImageDescriptor iconSmall, ImageDescriptor iconLarge, Object type)
      Constructor

      Any parameter can be null

      Parameters:
      label - The entry's name
      shortDescription - The entry's description
      iconSmall - The small icon to represent this entry
      iconLarge - The large icon to represent this entry
      type - The entry's type
    • PaletteEntry

      public PaletteEntry(String label, String shortDescription, ImageDescriptor smallIcon, ImageDescriptor largeIcon, Object type, String id)
      Constructor

      Any parameter can be null

      Parameters:
      label - The entry's name
      shortDescription - The entry's description
      smallIcon - The small icon to represent this entry
      largeIcon - The large icon to represent this entry
      type - The entry's type
      id - The entry's id (preferrably unique)
  • Method Details

    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
      A listener can only be added once. Adding it more than once will do nothing.
      Parameters:
      listener - the PropertyChangeListener that is to be notified of changes
      See Also:
    • getDescription

      public String getDescription()
      Returns:
      a short desecription describing this entry.
    • getId

      public String getId()
      Returns the id. If no ID has been set (or it is null), an empty String will be returned.
      Returns:
      String id
    • getLabel

      public String getLabel()
      Returns:
      the label for this entry.
    • getLargeIcon

      public ImageDescriptor getLargeIcon()
      Returns:
      a large icon representing this entry.
    • getParent

      public PaletteContainer getParent()
      Returns:
      the parent container of this entry
    • getSmallIcon

      public ImageDescriptor getSmallIcon()
      Returns:
      a small icon representing the entry.
    • getType

      public Object getType()
      Returns:
      the type of this entry. Useful for different interpretations of the palette model.
    • getUserModificationPermission

      public int getUserModificationPermission()
      Returned values are from amongst the following:
      • PERMISSION_NO_MODIFICATION
      • PERMISSION_HIDE_ONLY
      • PERMISSION_LIMITED_MODIFICATION
      • PERMISSION_FULL_MODIFICATION
      Returns:
      the permission level for this entry.
      See Also:
    • isVisible

      public boolean isVisible()
      Returns:
      whether or not this entry is visible. An entry that is not visible is not shown on the palette.
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
      Parameters:
      listener - the PropertyChangeListener that is not to be notified anymore
      See Also:
    • setDescription

      public void setDescription(String s)
      Mutator method for description
      Parameters:
      s - The new description
    • setId

      public void setId(String id)
      Sets the id. Can be null.
      Parameters:
      id - The new id to be set
    • setLabel

      public void setLabel(String s)
      Mutator method for label
      Parameters:
      s - The new name
    • setLargeIcon

      public void setLargeIcon(ImageDescriptor icon)
      Mutator method for large icon
      Parameters:
      icon - The large icon to represent this entry
    • setParent

      public void setParent(PaletteContainer newParent)
      Sets the parent of this entry
      Parameters:
      newParent - The parent PaletteContainer
    • setSmallIcon

      public void setSmallIcon(ImageDescriptor icon)
      Mutator method for small icon
      Parameters:
      icon - The new small icon to represent this entry
    • setType

      public void setType(Object newType)
      Mutator method for type
      Parameters:
      newType - The new type
    • setUserModificationPermission

      public void setUserModificationPermission(int permission)
      Permissions are not checked before making modifications. Clients should check the permission before invoking a modification. Sub-classes may extend the set of permissions. Current set has:
      • PERMISSION_NO_MODIFICATION
      • PERMISSION_HIDE_ONLY
      • PERMISSION_LIMITED_MODIFICATION
      • PERMISSION_FULL_MODIFICATION
      Default is PERMISSION_FULL_MODIFICATION
      Parameters:
      permission - One of the above-specified permission levels
    • setVisible

      public void setVisible(boolean newVal)
      Makes this entry visible or invisible. An invisible entry does not show up on the palette.
      Parameters:
      newVal - The new boolean indicating whether the entry is visible or not
    • toString

      public String toString()
      Overrides:
      toString in class Object
      See Also: