public class EventModelDBContentProvider extends ObservableListTreeContentProvider { public EventModelDBContentProvider() { //super( getObservableListFactory(), getTreeStructureAdvisor() ); super( getObservableListFactory(), null ); } // This factory returns an observable list of children for the given parent. private static IObservableFactory getObservableListFactory() { return new IObservableFactory() { public IObservable createObservable(Object parent) { if( parent instanceof Controller ) { IObservableList list = BeanProperties.list("models").observe( parent ); return list; } return null; } ... etc.
public EventModelDBLabelProvider( IObservableSet knownElements ) { // We pass an array of properties so that appropriate listeners // are added automatically to each element displayed in the viewer. super(Properties.observeEach(knownElements, BeanProperties .values(new String[] { "models", "designators",.... /*All the things I want to listen/react to*/ }))); }