org.eclipse.jface.action
Class ContributionManager
java.lang.Object
org.eclipse.jface.action.ContributionManager
-
All Implemented Interfaces:
-
IContributionManager
-
Direct Known Subclasses:
-
CoolBarManager,
MenuManager,
StatusLineManager,
ToolBarManager
-
public abstract class ContributionManager
- extends
Object
- implements
IContributionManager
Abstract base class for all contribution managers, and standard
implementation of IContributionManager
. This class provides
functionality common across the specific managers defined by this framework.
This class maintains a list of contribution items and a dirty flag, both as
internal state. In addition to providing implementations of most
IContributionManager
methods, this class automatically
coalesces adjacent separators, hides beginning and ending separators, and
deals with dynamically changing sets of contributions. When the set of
contributions does change dynamically, the changes are propagated to the
control via the update
method, which subclasses must
implement.
Note: A ContributionItem
cannot be shared between different
ContributionManager
s.
Method Summary
|
void
|
add
(
IAction action)
Adds an action as a contribution item to this manager. |
void
|
add
(
IContributionItem item)
Adds a contribution item to this manager. |
protected boolean
|
allowItem
(
IContributionItem itemToAdd)
This method allows subclasses of ContributionManager to
prevent certain items in the contributions list. |
void
|
appendToGroup
(
String groupName,
IAction action)
Adds a contribution item for the given action at the end of the group
with the given name. |
void
|
appendToGroup
(
String groupName,
IContributionItem item)
Adds a contribution item to this manager at the end of the group
with the given name. |
protected void
|
dumpStatistics
()
Internal debug method for printing statistics about this manager to
System.out . |
IContributionItem
|
find
(
String id)
Finds the contribution item with the given id. |
IContributionItem[]
|
getItems
()
Returns all contribution items known to this manager. |
IContributionManagerOverrides
|
getOverrides
()
The ContributionManager implementation of this method
declared on IContributionManager returns the current
overrides. |
int
|
getSize
()
Return the number of contributions in this manager. |
protected boolean
|
hasDynamicItems
()
Returns whether this contribution manager contains dynamic items. |
protected int
|
indexOf
(
IContributionItem item)
Returns the index of the object in the internal structure. |
int
|
indexOf
(
String id)
Returns the index of the item with the given id. |
void
|
insert
(int index,
IContributionItem item)
Insert the item at the given index. |
void
|
insertAfter
(
String ID,
IAction action)
Inserts a contribution item for the given action after the item
with the given id. |
void
|
insertAfter
(
String ID,
IContributionItem item)
Inserts a contribution item after the item with the given id. |
void
|
insertBefore
(
String ID,
IAction action)
Inserts a contribution item for the given action before the item
with the given id. |
void
|
insertBefore
(
String ID,
IContributionItem item)
Inserts a contribution item before the item with the given id. |
protected void
|
internalSetItems
(
IContributionItem[] items)
An internal method for setting the order of the contribution items. |
boolean
|
isDirty
()
Returns whether the list of contributions has recently changed and
has yet to be reflected in the corresponding widgets. |
boolean
|
isEmpty
()
Returns whether this manager has any contribution items. |
protected void
|
itemAdded
(
IContributionItem item)
The given item was added to the list of contributions. |
protected void
|
itemRemoved
(
IContributionItem item)
The given item was removed from the list of contributions. |
void
|
markDirty
()
Marks this contribution manager as dirty. |
void
|
prependToGroup
(
String groupName,
IAction action)
Adds a contribution item for the given action at the beginning of the
group with the given name. |
void
|
prependToGroup
(
String groupName,
IContributionItem item)
Adds a contribution item to this manager at the beginning of the
group with the given name. |
IContributionItem
|
remove
(
IContributionItem item)
Removes the given contribution item from the contribution items
known to this manager. |
IContributionItem
|
remove
(
String ID)
Removes and returns the contribution item with the given id from this manager. |
void
|
removeAll
()
Removes all contribution items from this manager. |
boolean
|
replaceItem
(
String identifier,
IContributionItem replacementItem)
Replaces the item of the given identifier with another contribution item. |
protected void
|
setDirty
(boolean dirty)
Sets whether this manager is dirty. |
void
|
setOverrides
(
IContributionManagerOverrides newOverrides)
Sets the overrides for this contribution manager |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
ContributionManager
protected ContributionManager()
- Creates a new contribution manager.
add
public void add(
IAction action)
-
Description copied from interface:
IContributionManager
- Adds an action as a contribution item to this manager.
Equivalent to
add(new ActionContributionItem(action))
.
-
-
Specified by:
-
add
in interface
IContributionManager
-
-
Parameters:
-
action
- the action, this cannot be null
add
public void add(
IContributionItem item)
-
Description copied from interface:
IContributionManager
- Adds a contribution item to this manager.
-
-
Specified by:
-
add
in interface
IContributionManager
-
-
Parameters:
-
item
- the contribution item, this cannot be null
appendToGroup
public void appendToGroup(
String groupName,
IAction action)
-
Description copied from interface:
IContributionManager
- Adds a contribution item for the given action at the end of the group
with the given name.
Equivalent to
appendToGroup(groupName,new ActionContributionItem(action))
.
-
-
Specified by:
-
appendToGroup
in interface
IContributionManager
-
-
Parameters:
-
groupName
- the name of the group -
action
- the action
appendToGroup
public void appendToGroup(
String groupName,
IContributionItem item)
-
Description copied from interface:
IContributionManager
- Adds a contribution item to this manager at the end of the group
with the given name.
-
-
Specified by:
-
appendToGroup
in interface
IContributionManager
-
-
Parameters:
-
groupName
- the name of the group -
item
- the contribution item
allowItem
protected boolean allowItem(
IContributionItem itemToAdd)
- This method allows subclasses of
ContributionManager
to
prevent certain items in the contributions list.
ContributionManager
will either block or allow an addition
based on the result of this method call. This can be used to prevent
duplication, for example.
-
-
-
Parameters:
-
itemToAdd
- The contribution item to be added; may be null
.
-
Returns:
-
true
if the addition should be allowed;
false
otherwise. The default implementation allows
all items. -
Since:
- 3.0
dumpStatistics
protected void dumpStatistics()
- Internal debug method for printing statistics about this manager to
System.out
.
-
-
find
public
IContributionItem find(
String id)
-
Description copied from interface:
IContributionManager
- Finds the contribution item with the given id.
-
-
Specified by:
-
find
in interface
IContributionManager
-
-
Parameters:
-
id
- the contribution item id
-
Returns:
- the contribution item, or
null
if
no item with the given id can be found
getItems
public
IContributionItem[] getItems()
-
Description copied from interface:
IContributionManager
- Returns all contribution items known to this manager.
-
-
Specified by:
-
getItems
in interface
IContributionManager
-
-
Returns:
- a list of contribution items
getSize
public int getSize()
- Return the number of contributions in this manager.
-
-
-
Returns:
- the number of contributions in this manager
-
Since:
- 3.3
getOverrides
public
IContributionManagerOverrides getOverrides()
- The
ContributionManager
implementation of this method
declared on IContributionManager
returns the current
overrides. If there is no overrides it lazily creates one which overrides
no item state.
-
-
Specified by:
-
getOverrides
in interface
IContributionManager
-
-
Returns:
- the overrides for the items of this manager
-
Since:
- 2.0
hasDynamicItems
protected boolean hasDynamicItems()
- Returns whether this contribution manager contains dynamic items. A
dynamic contribution item contributes items conditionally, dependent on
some internal state.
-
-
-
Returns:
-
true
if this manager contains dynamic items, and
false
otherwise
indexOf
public int indexOf(
String id)
- Returns the index of the item with the given id.
-
-
-
Parameters:
-
id
- The id of the item whose index is requested.
-
Returns:
-
int
the index or -1 if the item is not found
indexOf
protected int indexOf(
IContributionItem item)
- Returns the index of the object in the internal structure. This is
different from
indexOf(String id)
since some contribution
items may not have an id.
-
-
-
Parameters:
-
item
- The contribution item
-
Returns:
- the index, or -1 if the item is not found
-
Since:
- 3.0
insert
public void insert(int index,
IContributionItem item)
- Insert the item at the given index.
-
-
-
Parameters:
-
index
- The index to be used for insertion -
item
- The item to be inserted
insertAfter
public void insertAfter(
String ID,
IAction action)
-
Description copied from interface:
IContributionManager
- Inserts a contribution item for the given action after the item
with the given id.
Equivalent to
insertAfter(id,new ActionContributionItem(action))
.
-
-
Specified by:
-
insertAfter
in interface
IContributionManager
-
-
Parameters:
-
ID
- the contribution item id -
action
- the action to insert
insertAfter
public void insertAfter(
String ID,
IContributionItem item)
-
Description copied from interface:
IContributionManager
- Inserts a contribution item after the item with the given id.
-
-
Specified by:
-
insertAfter
in interface
IContributionManager
-
-
Parameters:
-
ID
- the contribution item id -
item
- the contribution item to insert
insertBefore
public void insertBefore(
String ID,
IAction action)
-
Description copied from interface:
IContributionManager
- Inserts a contribution item for the given action before the item
with the given id.
Equivalent to
insertBefore(id,new ActionContributionItem(action))
.
-
-
Specified by:
-
insertBefore
in interface
IContributionManager
-
-
Parameters:
-
ID
- the contribution item id -
action
- the action to insert
insertBefore
public void insertBefore(
String ID,
IContributionItem item)
-
Description copied from interface:
IContributionManager
- Inserts a contribution item before the item with the given id.
-
-
Specified by:
-
insertBefore
in interface
IContributionManager
-
-
Parameters:
-
ID
- the contribution item id -
item
- the contribution item to insert
isDirty
public boolean isDirty()
-
Description copied from interface:
IContributionManager
- Returns whether the list of contributions has recently changed and
has yet to be reflected in the corresponding widgets.
-
-
Specified by:
-
isDirty
in interface
IContributionManager
-
-
Returns:
-
true
if this manager is dirty, and false
if it is up-to-date
isEmpty
public boolean isEmpty()
-
Description copied from interface:
IContributionManager
- Returns whether this manager has any contribution items.
-
-
Specified by:
-
isEmpty
in interface
IContributionManager
-
-
Returns:
-
true
if there are no items, and
false
otherwise
itemAdded
protected void itemAdded(
IContributionItem item)
- The given item was added to the list of contributions. Marks the manager
as dirty and updates the number of dynamic items, and the memento.
-
-
-
Parameters:
-
item
- the item to be added
itemRemoved
protected void itemRemoved(
IContributionItem item)
- The given item was removed from the list of contributions. Marks the
manager as dirty and updates the number of dynamic items.
-
-
-
Parameters:
-
item
- remove given parent from list of contributions
markDirty
public void markDirty()
-
Description copied from interface:
IContributionManager
- Marks this contribution manager as dirty.
-
-
Specified by:
-
markDirty
in interface
IContributionManager
-
prependToGroup
public void prependToGroup(
String groupName,
IAction action)
-
Description copied from interface:
IContributionManager
- Adds a contribution item for the given action at the beginning of the
group with the given name.
Equivalent to
prependToGroup(groupName,new ActionContributionItem(action))
.
-
-
Specified by:
-
prependToGroup
in interface
IContributionManager
-
-
Parameters:
-
groupName
- the name of the group -
action
- the action
prependToGroup
public void prependToGroup(
String groupName,
IContributionItem item)
-
Description copied from interface:
IContributionManager
- Adds a contribution item to this manager at the beginning of the
group with the given name.
-
-
Specified by:
-
prependToGroup
in interface
IContributionManager
-
-
Parameters:
-
groupName
- the name of the group -
item
- the contribution item
remove
public
IContributionItem remove(
String ID)
-
Description copied from interface:
IContributionManager
- Removes and returns the contribution item with the given id from this manager.
Returns
null
if this manager has no contribution items
with the given id.
-
-
Specified by:
-
remove
in interface
IContributionManager
-
-
Parameters:
-
ID
- the contribution item id
-
Returns:
- the item that was found and removed, or
null
if none
remove
public
IContributionItem remove(
IContributionItem item)
-
Description copied from interface:
IContributionManager
- Removes the given contribution item from the contribution items
known to this manager.
-
-
Specified by:
-
remove
in interface
IContributionManager
-
-
Parameters:
-
item
- the contribution item
-
Returns:
- the
item
parameter if the item was removed,
and null
if it was not found
removeAll
public void removeAll()
-
Description copied from interface:
IContributionManager
- Removes all contribution items from this manager.
-
-
Specified by:
-
removeAll
in interface
IContributionManager
-
replaceItem
public boolean replaceItem(
String identifier,
IContributionItem replacementItem)
- Replaces the item of the given identifier with another contribution item.
This can be used, for example, to replace large contribution items with
placeholders to avoid memory leaks. If the identifier cannot be found in
the current list of items, then this does nothing. If multiple
occurrences are found, then the replacement items is put in the first
position and the other positions are removed.
-
-
-
Parameters:
-
identifier
- The identifier to look for in the list of contributions;
should not be null
. -
replacementItem
- The contribution item to replace the old item; must not be
null
. Use
remove
if that is what you want to do.
-
Returns:
-
true
if the given identifier can be;
Since:
- 3.0
setDirty
protected void setDirty(boolean dirty)
- Sets whether this manager is dirty. When dirty, the list of contributions
is not accurately reflected in the corresponding widgets.
-
-
-
Parameters:
-
dirty
- true
if this manager is dirty, and
false
if it is up-to-date
setOverrides
public void setOverrides(
IContributionManagerOverrides newOverrides)
- Sets the overrides for this contribution manager
-
-
-
Parameters:
-
newOverrides
- the overrides for the items of this manager -
Since:
- 2.0
internalSetItems
protected void internalSetItems(
IContributionItem[] items)
- An internal method for setting the order of the contribution items.
-
-
-
Parameters:
-
items
- the contribution items in the specified order -
Since:
- 3.0
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.