|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.emf.edit.provider.WrapperItemProvider org.eclipse.emf.edit.provider.DelegatingWrapperItemProvider
public class DelegatingWrapperItemProvider
A wrapper for model objects and other wrappers. This handles most of the item provider methods by delegating to the
item provider returned by adapting on the value, but it returns the owner
as the parent, and it has to decorate the children, property descriptors, and commands that it returns.
Nested Class Summary | |
---|---|
protected class |
DelegatingWrapperItemProvider.AffectedObjectsWrappingCommand
An AffectedObjectsWrappingCommand wraps another command to substitute this wrapper for its value
and child wrappers for their corresponding child values, whenever they appear in the affected objects. |
protected class |
DelegatingWrapperItemProvider.AffectedObjectsWrappingCommandActionDelegate
An AffectedObjectsWrappingCommandActionDelegate wraps another command that also implements
CommandActionDelegate , to substitute this wrapper for its value and child wrappers for their
corresponding child values, whenever they appear in the affected objects. |
protected class |
DelegatingWrapperItemProvider.DelegatingWrapperItemPropertyDescriptor
A DelegatingWrapperItemPropertyDescriptor decorates an ItemPropertyDescriptor and
manages a command owner override. |
Nested classes/interfaces inherited from class org.eclipse.emf.edit.provider.WrapperItemProvider |
---|
WrapperItemProvider.ReplacementAffectedObjectCommand, WrapperItemProvider.SimpleCopyCommand, WrapperItemProvider.WrapperItemPropertyDescriptor, WrapperItemProvider.WrappingCopyCommand |
Field Summary | |
---|---|
protected IChangeNotifier |
changeNotifier
Records any listeners for this wrapper and fires notifications to them. |
protected java.util.Map<java.lang.Object,IWrapperItemProvider> |
childrenMap
The wrapped children are cached here, keyed by the children returned by the delegate item provider. |
protected java.util.Collection<?> |
delegateChildren
The collection of children last returned by the delegate item provider is cached here. |
protected java.lang.Object |
delegateItemProvider
The wrapped value's item provider, to which most methods are delegated. |
protected java.util.List<IItemPropertyDescriptor> |
propertyDescriptors
The decorated property descriptors are cached here. |
Fields inherited from class org.eclipse.emf.edit.provider.WrapperItemProvider |
---|
adapterFactory, COPY_COMMAND_DESCRIPTION, COPY_COMMAND_LABEL, feature, index, owner, value |
Fields inherited from interface org.eclipse.emf.edit.provider.IItemFontProvider |
---|
BOLD_FONT, BOLD_ITALIC_FONT, ITALIC_FONT, NORMAL_FONT |
Fields inherited from interface org.eclipse.emf.edit.provider.IItemColorProvider |
---|
GRAYED_OUT_COLOR |
Constructor Summary | |
---|---|
DelegatingWrapperItemProvider(java.lang.Object value,
java.lang.Object owner,
AdapterFactory adapterFactory)
Deprecated. As of EMF 2.0.1, replaced by this form . This constructor will be removed as public API, but remain available as a protected method. |
|
DelegatingWrapperItemProvider(java.lang.Object value,
java.lang.Object owner,
EStructuralFeature feature,
int index,
AdapterFactory adapterFactory)
Creates an instance for the given value. |
Method Summary | |
---|---|
void |
addListener(INotifyChangedListener listener)
Adds a listener to receive this wrapper's repeated notifications. |
Command |
createCommand(java.lang.Object object,
EditingDomain domain,
java.lang.Class<? extends Command> commandClass,
CommandParameter commandParameter)
Uses the delegate item provider to create a command for the delegate value, and then calls wrapCommand to return an appropriate wrapper-substituting command wrapper for it. |
protected IWrapperItemProvider |
createWrapper(java.lang.Object value,
java.lang.Object owner,
AdapterFactory adapterFactory)
Creates a new instance of this wrapper for the given value, owner, and adapter factory. |
void |
dispose()
Deactivates notification repeating and disposes any wrappers it is maintaining for its children. |
void |
fireNotifyChanged(Notification notification)
Fires a notification to the adapter factory and any registered listeners. |
java.lang.Object |
getBackground(java.lang.Object object)
Uses the delegate item provider to return the delegate value's background color. |
java.lang.Object |
getBackground(java.lang.Object object,
int columnIndex)
Uses the delegate item provider to return the delegate value's background color. |
java.util.Collection<?> |
getChildren(java.lang.Object object)
Uses the delegate item provider to return the delegate value's children, with appropriate wrappers to ensure that this wrapper is considered their parent. |
java.lang.Object |
getColumnImage(java.lang.Object object,
int columnIndex)
Uses the delegate item provider to return the delegate value's column image. |
java.lang.String |
getColumnText(java.lang.Object object,
int columnIndex)
Uses the delegate item provider to return the delegate value's column text. |
protected java.lang.Object |
getDelegateValue()
Returns the value from which to obtain and which to pass to a delegate item provider. |
java.lang.Object |
getEditableValue(java.lang.Object object)
Uses the delegate item provider to return an editable value. |
java.util.Collection<?> |
getElements(java.lang.Object object)
Uses the delegate item provider to return the delegate value's elements. |
java.lang.Object |
getFont(java.lang.Object object)
Uses the delegate item provider to return the delegate value's font. |
java.lang.Object |
getFont(java.lang.Object object,
int columnIndex)
Uses the delegate item provider to return the delegate value's font. |
java.lang.Object |
getForeground(java.lang.Object object)
Uses the delegate item provider to return the delegate value's foreground color. |
java.lang.Object |
getForeground(java.lang.Object object,
int columnIndex)
Uses the delegate item provider to return the delegate value's foreground color. |
java.lang.Object |
getImage(java.lang.Object object)
Uses the delegate item provider to return the delegate value's image. |
java.util.Collection<?> |
getNewChildDescriptors(java.lang.Object object,
EditingDomain editingDomain,
java.lang.Object sibling)
Uses the delegate item provider to return the delegate value's new child descriptors. |
java.util.List<IItemPropertyDescriptor> |
getPropertyDescriptors(java.lang.Object object)
Wraps the property descriptors returned by the delegate item provider, caching and returning them. |
protected java.lang.Object |
getRefreshElement(Notification notification)
Returns the operative object of this notification, from which the viewer would be refreshed. |
java.lang.String |
getText(java.lang.Object object)
Uses the delegate item provider to return the delegate value's text. |
boolean |
hasChildren(java.lang.Object object)
Uses the delegate item provider to test whether the delegate value has children. |
void |
notifyChanged(Notification notification)
Called by delegateItemProvider when it normally fires a notification to it's adapter factory; if the
notification originated from the delegate value, this repeats the notification, using wrapNotification to substitute this wrapper as the operative object. |
void |
removeListener(INotifyChangedListener listener)
Removes a notification listener. |
protected void |
updateChildren()
Uses the delegate item provider to get the delegate value's children, assigning the collection to delegateChildren , and to update the childrenMap . |
protected Command |
wrapCommand(Command command,
java.lang.Class<? extends Command> commandClass)
Wraps the given command in an appropriate command that will substitute the delegating wrapper for its value and child wrappers for their corresponding values, whenever they appear in the affected objects. |
protected Notification |
wrapNotification(Notification notification)
Wraps the given notification, substituting this wrapper as the operative object, by calling ViewerNotification.wrapNotification . |
Methods inherited from class org.eclipse.emf.edit.provider.WrapperItemProvider |
---|
baseCreateCommand, createCopyCommand, createDragAndDropCommand, createSetCommand, getFeature, getIndex, getOwner, getParent, getPropertyCategory, getPropertyDescription, getPropertyDescriptor, getPropertyFilterFlags, getPropertyImage, getPropertyImage, getPropertyName, getRootAdapterFactory, getUpdateableText, getValue, isPropertyMultiLine, isPropertySettable, isPropertySortChoices, setIndex |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.eclipse.emf.edit.provider.ITreeItemContentProvider |
---|
getParent |
Methods inherited from interface org.eclipse.emf.edit.provider.IItemPropertySource |
---|
getPropertyDescriptor |
Methods inherited from interface org.eclipse.emf.edit.provider.IEditingDomainItemProvider |
---|
getParent |
Field Detail |
---|
protected java.lang.Object delegateItemProvider
protected java.util.Map<java.lang.Object,IWrapperItemProvider> childrenMap
protected java.util.Collection<?> delegateChildren
protected java.util.List<IItemPropertyDescriptor> propertyDescriptors
protected IChangeNotifier changeNotifier
Constructor Detail |
---|
public DelegatingWrapperItemProvider(java.lang.Object value, java.lang.Object owner, EStructuralFeature feature, int index, AdapterFactory adapterFactory)
IChangeNotifier
,
a listener is added to it,
so it's important to call dispose()
.
java.lang.IllegalArgumentException
- If the specified value is null.@Deprecated public DelegatingWrapperItemProvider(java.lang.Object value, java.lang.Object owner, AdapterFactory adapterFactory)
this form
. This constructor will be removed as public API, but remain available as a protected method.
java.lang.IllegalArgumentException
- If the specified value is null.Method Detail |
---|
public void dispose()
dispose
in interface IDisposable
dispose
in class WrapperItemProvider
protected java.lang.Object getDelegateValue()
public java.util.Collection<?> getElements(java.lang.Object object)
getElements
in interface IStructuredItemContentProvider
getElements
in class WrapperItemProvider
public java.util.Collection<?> getChildren(java.lang.Object object)
childrenMap
, after updating it by calling updateChildren
.
getChildren
in interface IEditingDomainItemProvider
getChildren
in interface ITreeItemContentProvider
getChildren
in class WrapperItemProvider
protected void updateChildren()
delegateChildren
, and to update the childrenMap
. New children are wrapped by calling createWrapper
and added to the map; Wrappers for children that have been removed are disposed.
protected IWrapperItemProvider createWrapper(java.lang.Object value, java.lang.Object owner, AdapterFactory adapterFactory)
public boolean hasChildren(java.lang.Object object)
hasChildren
in interface ITreeItemContentProvider
hasChildren
in class WrapperItemProvider
public java.lang.String getText(java.lang.Object object)
getText
in interface IItemLabelProvider
getText
in class WrapperItemProvider
public java.lang.Object getImage(java.lang.Object object)
getImage
in interface IItemLabelProvider
getImage
in class WrapperItemProvider
public java.lang.Object getFont(java.lang.Object object)
getFont
in interface IItemFontProvider
getFont
in class WrapperItemProvider
public java.lang.Object getForeground(java.lang.Object object)
getForeground
in interface IItemColorProvider
getForeground
in class WrapperItemProvider
public java.lang.Object getBackground(java.lang.Object object)
getBackground
in interface IItemColorProvider
getBackground
in class WrapperItemProvider
public java.lang.String getColumnText(java.lang.Object object, int columnIndex)
getColumnText
in interface ITableItemLabelProvider
public java.lang.Object getColumnImage(java.lang.Object object, int columnIndex)
getColumnImage
in interface ITableItemLabelProvider
public java.lang.Object getFont(java.lang.Object object, int columnIndex)
getFont
in interface ITableItemFontProvider
public java.lang.Object getForeground(java.lang.Object object, int columnIndex)
getForeground
in interface ITableItemColorProvider
public java.lang.Object getBackground(java.lang.Object object, int columnIndex)
getBackground
in interface ITableItemColorProvider
public java.util.List<IItemPropertyDescriptor> getPropertyDescriptors(java.lang.Object object)
getPropertyDescriptors
in interface IItemPropertySource
getPropertyDescriptors
in class WrapperItemProvider
public java.lang.Object getEditableValue(java.lang.Object object)
getEditableValue
in interface IItemPropertySource
getEditableValue
in class WrapperItemProvider
public java.util.Collection<?> getNewChildDescriptors(java.lang.Object object, EditingDomain editingDomain, java.lang.Object sibling)
getNewChildDescriptors
in interface IEditingDomainItemProvider
getNewChildDescriptors
in class WrapperItemProvider
public Command createCommand(java.lang.Object object, EditingDomain domain, java.lang.Class<? extends Command> commandClass, CommandParameter commandParameter)
wrapCommand
to return an appropriate wrapper-substituting command wrapper for it. Drag and drop commands are
created directly by calling createDragAndDropCommand
.
createCommand
in interface IEditingDomainItemProvider
createCommand
in class WrapperItemProvider
protected Command wrapCommand(Command command, java.lang.Class<? extends Command> commandClass)
DelegatingWrapperItemProvider.AffectedObjectsWrappingCommand
or an DelegatingWrapperItemProvider.AffectedObjectsWrappingCommandActionDelegate
,
depending on whether the given command implements CommandActionDelegate
.
public void addListener(INotifyChangedListener listener)
addListener
in interface IChangeNotifier
public void removeListener(INotifyChangedListener listener)
removeListener
in interface IChangeNotifier
public void fireNotifyChanged(Notification notification)
fireNotifyChanged
in interface IChangeNotifier
public void notifyChanged(Notification notification)
delegateItemProvider
when it normally fires a notification to it's adapter factory; if the
notification originated from the delegate value, this repeats the notification, using wrapNotification
to substitute this wrapper as the operative object.
notifyChanged
in interface INotifyChangedListener
protected java.lang.Object getRefreshElement(Notification notification)
IViewerNotification
, the element
is returned. Otherwise, the
notifier
is returned.
protected Notification wrapNotification(Notification notification)
ViewerNotification.wrapNotification
.
|
Copyright 2001-2006 IBM Corporation and others. All Rights Reserved. |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |