Eclipse GEF 3.2

## org.eclipse.gef.palette
Class ToolEntry

    java.lang.Object
      org.eclipse.gef.palette.PaletteEntry
          org.eclipse.gef.palette.ToolEntry

Direct Known Subclasses:
  CreationToolEntry, MarqueeToolEntry, SelectionToolEntry

public abstract class ToolEntry
extends PaletteEntry

A factory for returning Tools.

Field Summary
`static Object` `PALETTE_TYPE_TOOL` Type Identifier

Fields inherited from class org.eclipse.gef.palette.PaletteEntry
`listeners, PALETTE_TYPE_UNKNOWN, PERMISSION_FULL_MODIFICATION, PERMISSION_HIDE_ONLY, PERMISSION_LIMITED_MODIFICATION, PERMISSION_NO_MODIFICATION, PROPERTY_DEFAULT, PROPERTY_DESCRIPTION, PROPERTY_LABEL, PROPERTY_LARGE_ICON, PROPERTY_PARENT, PROPERTY_SMALL_ICON, PROPERTY_TYPE, PROPERTY_VISIBLE`

Constructor Summary
`ToolEntry(String label, String shortDesc, ImageDescriptor iconSmall, ImageDescriptor iconLarge)` Creates a new ToolEntry.
`ToolEntry(String label, String description, ImageDescriptor iconSmall, ImageDescriptor iconLarge, Class tool)` Constructor to create a new ToolEntry.

Method Summary
`Tool` `createTool()` Creates the tool of the type specified by `setToolClass(Class)` for this ToolEntry.
`protected Map` `getToolProperties()`
`Object` `getToolProperty(Object key)` Returns the property value for the specified property key.
`void` `setToolClass(Class toolClass)` Sets the type of tool to be created.
`void` `setToolProperty(Object key, Object value)` Clients can use this method to configure the associated tool without having to sub-class.

Methods inherited from class org.eclipse.gef.palette.PaletteEntry
`addPropertyChangeListener, getDescription, getId, getLabel, getLargeIcon, getParent, getSmallIcon, getType, getUserModificationPermission, isVisible, removePropertyChangeListener, setDescription, setId, setLabel, setLargeIcon, setParent, setSmallIcon, setType, setUserModificationPermission, setVisible, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### PALETTE_TYPE_TOOL

    public static final Object PALETTE_TYPE_TOOL

  Type Identifier

Constructor Detail

### ToolEntry

    public ToolEntry(String label,
                     String shortDesc,
                     ImageDescriptor iconSmall,
                     ImageDescriptor iconLarge)

  Creates a new ToolEntry. Any parameter can be `null`.

Parameters:
  `label` - the entry's name
  `shortDesc` - the entry's description
  `iconSmall` - the entry's small icon
  `iconLarge` - the entry's large icon

### ToolEntry

    public ToolEntry(String label,
                     String description,
                     ImageDescriptor iconSmall,
                     ImageDescriptor iconLarge,
                     Class tool)

  Constructor to create a new ToolEntry. Any parameter can be `null`.

Parameters:
  `label` - the entry's name
  `description` - the entry's description
  `iconSmall` - the entry's small icon
  `iconLarge` - the entry's large icon
  `tool` - the type of tool that this entry uses
Since:
  3.1

Method Detail

### createTool

    public Tool createTool()

  Creates the tool of the type specified by `setToolClass(Class)` for this ToolEntry. The tool is also configured with the properties set in `setToolProperty(Object, Object)`. Sub-classes overriding this method should ensure that their tools are also configured with those properties.

  Returns:
    the tool for this entry

### getToolProperties

    protected Map getToolProperties()

  Returns:
    the properties set in `setToolProperty(Object, Object)`
  Since:
    3.1

### getToolProperty

    public Object getToolProperty(Object key)

  Returns the property value for the specified property key.

  Parameters:
    `key` - the property key
  Returns:
    the value for the requested property
  Since:
    3.1

### setToolClass

    public void setToolClass(Class toolClass)

  Sets the type of tool to be created. This provides clients with a method of specifying a different type of tool to be created without having to sub-class. The provided class should have a default constructor for this to work successfully.

  Parameters:
    `toolClass` - the type of tool to be created by this entry
  Since:
    3.1

### setToolProperty

    public void setToolProperty(Object key,
                                Object value)

  Clients can use this method to configure the associated tool without having to sub-class.

  Parameters:
    `key` - the property name
    `value` - a value of type associated with the given property
  Since:
    3.1
  See Also:
    `Tool.setProperties(Map)`

Eclipse GEF 3.2

Copyright (c) IBM Corp. and others 2000, 2006. All Rights Reserved.