/** * Binds the viewer to the specified input, using the specified label * properties to generate labels. * * @param viewer * the viewer to set up * @param input * the input to set on the viewer * @param labelProperties * the respective properties to use for labels in each of the * viewer's columns */ public static void bind(StructuredViewer viewer, IObservableList input, IValueProperty... labelProperties) { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); if (viewer.getInput() != null) viewer.setInput(null); viewer.setContentProvider(contentProvider); viewer.setLabelProvider(new ObservableMapLabelProvider(Properties .observeEach(contentProvider.getKnownElements(), labelProperties))); if (input != null) viewer.setInput(input); }
@Override public void init ( final ICommonContentExtensionSite config ) { final ITreeContentProvider contentProvider = config.getService ().getContentExtensionById ( this.contentExtensionId ).getContentProvider (); if ( contentProvider instanceof ObservableSetTreeContentProvider ) { addSource ( ( (ObservableSetTreeContentProvider)contentProvider ).getKnownElements () ); } else if ( contentProvider instanceof ObservableSetContentProvider ) { addSource ( ( (ObservableSetContentProvider)contentProvider ).getKnownElements () ); } else if ( contentProvider instanceof ObservableListContentProvider ) { addSource ( ( (ObservableListContentProvider)contentProvider ).getKnownElements () ); } else if ( contentProvider instanceof ObservableListTreeContentProvider ) { addSource ( ( (ObservableListTreeContentProvider)contentProvider ).getKnownElements () ); } }