org.eclipse.gef.ui.palette.customize
Class PaletteEntryFactory
java.lang.Object
org.eclipse.gef.ui.palette.customize.PaletteEntryFactory
-
Direct Known Subclasses:
-
PaletteContainerFactory,
PaletteSeparatorFactory,
PaletteStackFactory
- public abstract class PaletteEntryFactory
- extends java.lang.Object
A PaletteEntryFactory creates certain type of
PaletteEntries
.
This class only creates
PaletteEntries
in
PaletteContainers
and not directly in
the
root
. It is recommended that
sub-classes not do that either.
To keep palette customization consistent across different types of editors, it is
recommended that a new entry be created after the currently selected entry. If
the new entry needs to be created inside the currently selected entry (i.e.,
if the currently selected entry is a PaletteContainer
), it should be added
as the last child. Look at
determineContainerForNewEntry(PaletteEntry)
and
determineIndexForNewEntry(PaletteContainer, PaletteEntry)
in this class and
PaletteContainerFactory
to see what the
general guidelines are for creating containers and leaf entries.
-
See Also:
-
PaletteCustomizer
,
PaletteCustomizerDialog
Methods inherited from class java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
|
PaletteEntryFactory
public PaletteEntryFactory()
createNewEntry
public
PaletteEntry createNewEntry(Shell shell,
PaletteEntry selected)
- This method is called when a new palette entry of the type supported by this
PaletteEntryFactory
is to be created.
-
-
Parameters:
-
shell
- The Shell
of the PaletteCustomizerDialog
-
selected
- The PaletteEntry
that was selected in the outline when
this action was launched. Will never be null
.
-
Returns:
- PaletteEntry The newly created
PaletteEntry
createNewEntry
protected abstract
PaletteEntry createNewEntry(Shell shell)
- Create the PaletteEntry
-
-
Parameters:
-
shell
- The Shell
of the PaletteCustomizerDialog
; it
can be used to create another warning or information dialog.
-
Returns:
- The newly created entry
canCreate
public boolean canCreate(
PaletteEntry selected)
- This method is called by the
PaletteCustomizerDialog
to determine
whether to enable or disable this action on the toolbar and the context menu.
This default implementation allows the creation of a new entry only in
PaletteContainer
s with the following user permission:
PERMISSION_FULL_MODIFICATION
-
-
Parameters:
-
selected
- The selected PaletteEntry
(Will never be null
)
-
Returns:
-
true
if, given the current selection, this
PaletteEntryFactory
can create a new PaletteEntry
determineContainerForNewEntry
protected
PaletteContainer determineContainerForNewEntry(
PaletteEntry selected)
- Given the current selection, this method determines the parent for the new entry
to be created.
Sub-classes may override this method.
-
-
Parameters:
-
selected
- The selected entry
-
Returns:
- The parent of the new entry to be created
determineTypeForNewEntry
protected java.lang.Object determineTypeForNewEntry(
PaletteEntry selected)
- Given the current selection, this method determines the type of the new entry
to be created.
Sub-classes may override this method.
-
-
Parameters:
-
selected
- The selected entry
-
Returns:
- The type of the new entry to be created
determineIndexForNewEntry
protected int determineIndexForNewEntry(
PaletteContainer c,
PaletteEntry selected)
- Calculates the index at which the new entry is to be created, given the current
selection.
Sub-classes may override this method.
-
-
Parameters:
-
c
- The parent container -
selected
- The selected entry
-
Returns:
- the index at which the new entry should be added in the given container (-1
indicates add at the end)
getImageDescriptor
public
ImageDescriptor getImageDescriptor()
-
-
Returns:
-
ImageDescriptor
used to create the image to represent this factory
getLabel
public java.lang.String getLabel()
-
-
Returns:
- This factory's name
setImageDescriptor
public void setImageDescriptor(
ImageDescriptor imgDesc)
- Sets the
ImageDescriptor
used to create the image to represent this
factory
-
-
Parameters:
-
imgDesc
- The new ImageDescriptor
setLabel
public void setLabel(java.lang.String newLabel)
- Sets this factory's name. It will be used to list this factory in the toolbar, context
menu, etc.
-
-
Parameters:
-
newLabel
- The new name for this factory
Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.