Class PaletteEntryFactory
- Direct Known Subclasses:
PaletteContainerFactory
,PaletteSeparatorFactory
,PaletteStackFactory
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:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
canCreate
(PaletteEntry selected) This method is called by thePaletteCustomizerDialog
to determine whether to enable or disable this action on the toolbar and the context menu.protected abstract PaletteEntry
createNewEntry
(Shell shell) Create the PaletteEntrycreateNewEntry
(Shell shell, PaletteEntry selected) This method is called when a new palette entry of the type supported by thisPaletteEntryFactory
is to be created.protected PaletteContainer
determineContainerForNewEntry
(PaletteEntry selected) Given the current selection, this method determines the parent for the new entry to be created.protected int
determineIndexForNewEntry
(PaletteContainer c, PaletteEntry selected) Calculates the index at which the new entry is to be created, given the current selection.protected Object
determineTypeForNewEntry
(PaletteEntry selected) Given the current selection, this method determines the type of the new entry to be created.getLabel()
void
setImageDescriptor
(ImageDescriptor imgDesc) Sets theImageDescriptor
used to create the image to represent this factoryvoid
Sets this factory's name.
-
Constructor Details
-
PaletteEntryFactory
public PaletteEntryFactory()
-
-
Method Details
-
createNewEntry
This method is called when a new palette entry of the type supported by thisPaletteEntryFactory
is to be created.- Parameters:
shell
- TheShell
of thePaletteCustomizerDialog
selected
- ThePaletteEntry
that was selected in the outline when this action was launched. Will never benull
.- Returns:
- PaletteEntry The newly created
PaletteEntry
-
createNewEntry
Create the PaletteEntry- Parameters:
shell
- TheShell
of thePaletteCustomizerDialog
; it can be used to create another warning or information dialog.- Returns:
- The newly created entry
-
canCreate
This method is called by thePaletteCustomizerDialog
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 selectedPaletteEntry
(Will never benull
)- Returns:
true
if, given the current selection, thisPaletteEntryFactory
can create a newPaletteEntry
-
determineContainerForNewEntry
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
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
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 containerselected
- 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
- Returns:
ImageDescriptor
used to create the image to represent this factory
-
getLabel
- Returns:
- This factory's name
-
setImageDescriptor
Sets theImageDescriptor
used to create the image to represent this factory- Parameters:
imgDesc
- The new ImageDescriptor
-
setLabel
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
-