org.eclipse.emf.edit.ui.provider
Class AdapterFactoryLabelProvider

java.lang.Object
  extended by org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
All Implemented Interfaces:
INotifyChangedListener, IBaseLabelProvider, ILabelProvider, ITableLabelProvider
Direct Known Subclasses:
AdapterFactoryLabelProvider.ColorProvider, AdapterFactoryLabelProvider.FontAndColorProvider, AdapterFactoryLabelProvider.FontProvider, MappingDomainLabelProvider

public class AdapterFactoryLabelProvider
extends java.lang.Object
implements ILabelProvider, ITableLabelProvider, INotifyChangedListener

This label provider wraps an AdapterFactory and it delegates its JFace provider interfaces to corresponding adapter-implemented item provider interfaces. All method calls to the various label provider interfaces are delegated to interfaces implemented by the adapters generated by the AdapterFactory. ILabelProvider is delegated to IItemLabelProvider; IFontProvider is delegated to IItemFontProvider; IColorProvider is delegated to IItemColorProvider; ITableLabelProvider is delegated to ITableItemLabelProvider; and ITableFontProvider is delegated to ITableItemFontProvider. and ITableColorProvider is delegated to ITableItemColorProvider.

The label provider has no mechanism for notifying the viewer of changes. As long as the AdapterFactory is also used in an AdapterFactoryContentProvider, this won't be a problem, because notifications will be forward as a result of that.


Nested Class Summary
static class AdapterFactoryLabelProvider.ColorProvider
          An extended version of the adapter factory label provider that also provides for colors.
static class AdapterFactoryLabelProvider.FontAndColorProvider
          An extended version of the adapter factory label provider that also provides for fonts and colors.
static class AdapterFactoryLabelProvider.FontProvider
          An extended version of the adapter factory label provider that also provides for fonts.
 
Field Summary
protected  AdapterFactory adapterFactory
          This keep track of the one factory we are using.
protected  Color defaultBackground
          The background color that will be used when no background color is specified.
protected  Font defaultFont
          The font that will be used when no font is specified.
protected  Color defaultForeground
          The foreground color that will be used when no foreground color is specified.
protected  java.util.Collection<ILabelProviderListener> labelProviderListeners
          This keeps track of the label provider listeners.
 
Constructor Summary
AdapterFactoryLabelProvider(AdapterFactory adapterFactory)
          Construct an instance that wraps the given factory.
 
Method Summary
 void addListener(ILabelProviderListener listener)
          Since we won't ever generate these notifications, we can just ignore this.
 void dispose()
          This discards the content provider and removes this as a listener to the adapterFactory.
 void fireLabelProviderChanged()
           
 AdapterFactory getAdapterFactory()
          Return the wrapped AdapterFactory.
 Color getBackground(java.lang.Object object)
          This implements IColorProvider.getBackground by forwarding it to an object that implements IItemColorProvider.getBackground
 Color getBackground(java.lang.Object object, int columnIndex)
          This implements ITableColorProvider.getBackground by forwarding it to an object that implements ITableItemColorProvider.getBackground or failing that, an object that implements IItemColorProvider.getBackground where the columnIndex is ignored.
protected  Color getColorFromObject(java.lang.Object object)
           
 Image getColumnImage(java.lang.Object object, int columnIndex)
          This implements ITableLabelProvider.getColumnImage by forwarding it to an object that implements ITableItemLabelProvider.getColumnImage or failing that, an object that implements IItemLabelProvider.getImage where the columnIndex is ignored.
 java.lang.String getColumnText(java.lang.Object object, int columnIndex)
          This implements ITableLabelProvider.getColumnText by forwarding it to an object that implements ITableItemLabelProvider.getColumnText or failing that, an object that implements IItemLabelProvider.getText where the columnIndex are is ignored.
 Color getDefaultBackground()
          Return the default background color.
 Font getDefaultFont()
          Return the default font.
 Color getDefaultForeground()
          Return the default foreground color.
protected  Image getDefaultImage(java.lang.Object object)
           
 Font getFont(java.lang.Object object)
          This implements IFontProvider.getFont by forwarding it to an object that implements IItemFontProvider.getFont
 Font getFont(java.lang.Object object, int columnIndex)
          This implements ITableFontProvider.getFont by forwarding it to an object that implements ITableItemFontProvider.getFont or failing that, an object that implements IItemFontProvider.getFont where the columnIndex is ignored.
protected  Font getFontFromObject(java.lang.Object object)
           
 Color getForeground(java.lang.Object object)
          This implements IColorProvider.getForeground by forwarding it to an object that implements IItemColorProvider.getForeground
 Color getForeground(java.lang.Object object, int columnIndex)
          This implements ITableColorProvider.getForeground by forwarding it to an object that implements ITableItemColorProvider.getForeground or failing that, an object that implements IItemColorProvider.getForeground where the columnIndex is ignored.
 Image getImage(java.lang.Object object)
          This implements ILabelProvider.getImage by forwarding it to an object that implements IItemLabelProvider.getImage
protected  Image getImageFromObject(java.lang.Object object)
           
 java.lang.String getText(java.lang.Object object)
          This implements ILabelProvider.getText by forwarding it to an object that implements IItemLabelProvider.getText
 boolean isLabelProperty(java.lang.Object object, java.lang.String id)
          This always returns true right now.
 void notifyChanged(Notification notification)
           
 void removeListener(ILabelProviderListener listener)
          Since we won't ever add listeners, we can just ignore this.
 void setAdapterFactory(AdapterFactory adapterFactory)
          Set the wrapped AdapterFactory.
 void setDefaultBackground(Color color)
          Set the default background color.
 void setDefaultFont(Font font)
          Set the default font.
 void setDefaultForeground(Color color)
          Set the default foreground color.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

adapterFactory

protected AdapterFactory adapterFactory
This keep track of the one factory we are using. Use a ComposedAdapterFactory if adapters from more the one factory are involved in the model.


defaultFont

protected Font defaultFont
The font that will be used when no font is specified.


defaultForeground

protected Color defaultForeground
The foreground color that will be used when no foreground color is specified.


defaultBackground

protected Color defaultBackground
The background color that will be used when no background color is specified.


labelProviderListeners

protected java.util.Collection<ILabelProviderListener> labelProviderListeners
This keeps track of the label provider listeners.

Constructor Detail

AdapterFactoryLabelProvider

public AdapterFactoryLabelProvider(AdapterFactory adapterFactory)
Construct an instance that wraps the given factory. If the adapter factory is an IChangeNotifier, a listener is added to it, so it's important to call dispose().

Parameters:
adapterFactory - an adapter factory that yield adapters that implement the various item label provider interfaces.
Method Detail

getAdapterFactory

public AdapterFactory getAdapterFactory()
Return the wrapped AdapterFactory.


setAdapterFactory

public void setAdapterFactory(AdapterFactory adapterFactory)
Set the wrapped AdapterFactory. If the adapter factory is an IChangeNotifier, a listener is added to it, so it's important to call dispose().


getDefaultFont

public Font getDefaultFont()
Return the default font.


setDefaultFont

public void setDefaultFont(Font font)
Set the default font.


getDefaultForeground

public Color getDefaultForeground()
Return the default foreground color.


setDefaultForeground

public void setDefaultForeground(Color color)
Set the default foreground color.


getDefaultBackground

public Color getDefaultBackground()
Return the default background color.


setDefaultBackground

public void setDefaultBackground(Color color)
Set the default background color.


addListener

public void addListener(ILabelProviderListener listener)
Since we won't ever generate these notifications, we can just ignore this.

Specified by:
addListener in interface IBaseLabelProvider

removeListener

public void removeListener(ILabelProviderListener listener)
Since we won't ever add listeners, we can just ignore this.

Specified by:
removeListener in interface IBaseLabelProvider

dispose

public void dispose()
This discards the content provider and removes this as a listener to the adapterFactory.

Specified by:
dispose in interface IBaseLabelProvider

isLabelProperty

public boolean isLabelProperty(java.lang.Object object,
                               java.lang.String id)
This always returns true right now.

Specified by:
isLabelProperty in interface IBaseLabelProvider

getImage

public Image getImage(java.lang.Object object)
This implements ILabelProvider.getImage by forwarding it to an object that implements IItemLabelProvider.getImage

Specified by:
getImage in interface ILabelProvider

getDefaultImage

protected Image getDefaultImage(java.lang.Object object)

getImageFromObject

protected Image getImageFromObject(java.lang.Object object)

getText

public java.lang.String getText(java.lang.Object object)
This implements ILabelProvider.getText by forwarding it to an object that implements IItemLabelProvider.getText

Specified by:
getText in interface ILabelProvider

getFont

public Font getFont(java.lang.Object object)
This implements IFontProvider.getFont by forwarding it to an object that implements IItemFontProvider.getFont


getFontFromObject

protected Font getFontFromObject(java.lang.Object object)

getForeground

public Color getForeground(java.lang.Object object)
This implements IColorProvider.getForeground by forwarding it to an object that implements IItemColorProvider.getForeground


getBackground

public Color getBackground(java.lang.Object object)
This implements IColorProvider.getBackground by forwarding it to an object that implements IItemColorProvider.getBackground


getColorFromObject

protected Color getColorFromObject(java.lang.Object object)

getColumnImage

public Image getColumnImage(java.lang.Object object,
                            int columnIndex)
This implements ITableLabelProvider.getColumnImage by forwarding it to an object that implements ITableItemLabelProvider.getColumnImage or failing that, an object that implements IItemLabelProvider.getImage where the columnIndex is ignored.

Specified by:
getColumnImage in interface ITableLabelProvider

getColumnText

public java.lang.String getColumnText(java.lang.Object object,
                                      int columnIndex)
This implements ITableLabelProvider.getColumnText by forwarding it to an object that implements ITableItemLabelProvider.getColumnText or failing that, an object that implements IItemLabelProvider.getText where the columnIndex are is ignored.

Specified by:
getColumnText in interface ITableLabelProvider

getFont

public Font getFont(java.lang.Object object,
                    int columnIndex)
This implements ITableFontProvider.getFont by forwarding it to an object that implements ITableItemFontProvider.getFont or failing that, an object that implements IItemFontProvider.getFont where the columnIndex is ignored.


getForeground

public Color getForeground(java.lang.Object object,
                           int columnIndex)
This implements ITableColorProvider.getForeground by forwarding it to an object that implements ITableItemColorProvider.getForeground or failing that, an object that implements IItemColorProvider.getForeground where the columnIndex is ignored.


getBackground

public Color getBackground(java.lang.Object object,
                           int columnIndex)
This implements ITableColorProvider.getBackground by forwarding it to an object that implements ITableItemColorProvider.getBackground or failing that, an object that implements IItemColorProvider.getBackground where the columnIndex is ignored.


fireLabelProviderChanged

public void fireLabelProviderChanged()

notifyChanged

public void notifyChanged(Notification notification)
Specified by:
notifyChanged in interface INotifyChangedListener

Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.