Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.jface.databinding.viewers
Class ObservableListTreeContentProvider


java.lang.Object
  extended by 
org.eclipse.jface.databinding.viewers.ObservableListTreeContentProvider
All Implemented Interfaces:
IContentProvider, IStructuredContentProvider, ITreeContentProvider

public class ObservableListTreeContentProvider
extends Object
implements ITreeContentProvider

An ITreeContentProvider for use with an AbstractTreeViewer, which uses the provided list factory to obtain the elements of a tree. Object of this class listen for changes to each IObservableList created by the factory, and will insert and remove viewer elements to reflect the observed changes.

Since:
1.2
Restriction:
This class is not intended to be subclassed by clients.

Constructor Summary
ObservableListTreeContentProvider ( IObservableFactory listFactory, TreeStructureAdvisor structureAdvisor)
          Constructs an ObservableListTreeContentProvider using the given list factory.
 
Method Summary
 void dispose ()
          Disposes of this content provider.
  Object[] getChildren ( Object parentElement)
          Returns the child elements of the given parent element.
  Object[] getElements ( Object inputElement)
          Returns the elements to display in the viewer when its input is set to the given element.
  IObservableSet getKnownElements ()
          Returns the set of elements known to this content provider.
  Object getParent ( Object element)
          Returns the parent for the given element, or null indicating that the parent can't be computed.
  IObservableSet getRealizedElements ()
          Returns the set of known elements which have been realized in the viewer.
 boolean hasChildren ( Object element)
          Returns whether the given element has children.
 void inputChanged ( Viewer viewer, Object oldInput, Object newInput)
          Notifies this content provider that the given viewer's input has been switched to a different element.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObservableListTreeContentProvider

public ObservableListTreeContentProvider(
IObservableFactory listFactory,
                                         
TreeStructureAdvisor structureAdvisor)
Constructs an ObservableListTreeContentProvider using the given list factory.

Parameters:
listFactory - observable factory that produces an IObservableList of children for a given parent element. Observable lists created by this factory must be on the realm of the current display.
structureAdvisor - an advisor that will be consulted from the implementations of the getParent(Object) and hasChildren(Object) methods, or null if no advisor is available. It is recommended that clients pass a non-null advisor if they can provide additional structural information about the tree.
Method Detail

inputChanged

public void inputChanged(
Viewer viewer,
                         
Object oldInput,
                         
Object newInput)
Description copied from interface: IContentProvider
Notifies this content provider that the given viewer's input has been switched to a different element.

A typical use for this method is registering the content provider as a listener to changes on the new input (using model-specific means), and deregistering the viewer from the old input. In response to these change notifications, the content provider should update the viewer (see the add, remove, update and refresh methods on the viewers).

The viewer should not be updated during this call, as it might be in the process of being disposed.

Specified by:
inputChanged in interface IContentProvider
Parameters:
viewer - the viewer
oldInput - the old input element, or null if the viewer did not previously have an input
newInput - the new input element, or null if the viewer does not have an input

getElements

public 
Object[] getElements(
Object inputElement)
Description copied from interface: IStructuredContentProvider
Returns the elements to display in the viewer when its input is set to the given element. These elements can be presented as rows in a table, items in a list, etc. The result is not modified by the viewer.

NOTE: For instances where the viewer is displaying a tree containing a single 'root' element it is still necessary that the 'input' does not return itself from this method. This leads to recursion issues (see bug 9262).

Specified by:
getElements in interface IStructuredContentProvider
Parameters:
inputElement - the input element
Returns:
the array of elements to display in the viewer

hasChildren

public boolean hasChildren(
Object element)
Description copied from interface: ITreeContentProvider
Returns whether the given element has children.

Intended as an optimization for when the viewer does not need the actual children. Clients may be able to implement this more efficiently than getChildren.

Specified by:
hasChildren in interface ITreeContentProvider
Parameters:
element - the element
Returns:
true if the given element has children, and false if it has no children

getChildren

public 
Object[] getChildren(
Object parentElement)
Description copied from interface: ITreeContentProvider
Returns the child elements of the given parent element.

The difference between this method and IStructuredContentProvider.getElements is that getElements is called to obtain the tree viewer's root elements, whereas getChildren is used to obtain the children of a given parent element in the tree (including a root).

The result is not modified by the viewer.

Specified by:
getChildren in interface ITreeContentProvider
Parameters:
parentElement - the parent element
Returns:
an array of child elements

getParent

public 
Object getParent(
Object element)
Description copied from interface: ITreeContentProvider
Returns the parent for the given element, or null indicating that the parent can't be computed. In this case the tree-structured viewer can't expand a given node correctly if requested.

Specified by:
getParent in interface ITreeContentProvider
Parameters:
element - the element
Returns:
the parent element, or null if it has none or if the parent cannot be computed

dispose

public void dispose()
Description copied from interface: IContentProvider
Disposes of this content provider. This is called by the viewer when it is disposed.

The viewer should not be updated during this call, as it is in the process of being disposed.

Specified by:
dispose in interface IContentProvider

getKnownElements

public 
IObservableSet getKnownElements()
Returns the set of elements known to this content provider. Label providers may track this set if they need to be notified about additions before the viewer sees the added element, and notified about removals after the element was removed from the viewer. This is intended for use by label providers, as it will always return the items that need labels.

Returns:
readableSet of items that will need labels

getRealizedElements

public 
IObservableSet getRealizedElements()
Returns the set of known elements which have been realized in the viewer. Clients may track this set in order to perform custom actions on elements while they are known to be present in the viewer.

Returns:
the set of known elements which have been realized in the viewer.
Since:
1.3

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire