List of usage examples for org.eclipse.jface.databinding.viewers ObservableSetTreeContentProvider ObservableSetTreeContentProvider
public ObservableSetTreeContentProvider(IObservableFactory<? super E, ? extends IObservableSet<E>> setFactory, TreeStructureAdvisor<E> structureAdvisor)
From source file:com.baremetalstudios.mapleide.internal.ResourceNavigator.java
License:Open Source License
@Inject public ResourceNavigator(Composite parent, final IEclipseContext context, IWorkspace workspace) { final Realm realm = SWTObservables.getRealm(parent.getDisplay()); this.context = context; parent.setLayout(new FillLayout()); TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { StructuredSelection selection = (StructuredSelection) event.getSelection(); selectionService//from w w w . j a v a 2 s. c om .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); // context.modify(IServiceConstants.ACTIVE_SELECTION, selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); } }); IObservableFactory setFactory = new IObservableFactory() { public IObservable createObservable(Object element) { if (element instanceof IContainer && ((IContainer) element).exists()) { IObservableSet observableSet = observableSets.get(element); if (observableSet == null) { observableSet = new WritableSet(realm); try { observableSet.addAll(Arrays.asList(((IContainer) element).members())); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } observableSets.put((IContainer) element, observableSet); } return observableSet; } return Observables.emptyObservableSet(); } }; viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() { public Boolean hasChildren(Object element) { return Boolean.valueOf(element instanceof IContainer); } })); viewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof IResource) return ((IResource) element).getName(); return element == null ? "" : element.toString(); } }); viewer.setSorter(new ViewerSorter()); viewer.setInput(workspace.getRoot()); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { MapleIDEApplication app = (MapleIDEApplication) application; IStructuredSelection s = (IStructuredSelection) event.getSelection(); for (Object o : s.toArray()) { if (o instanceof IFile) { IFile f = (IFile) o; context.set(IFile.class, f); String fExt = f.getFileExtension(); EDITOR: for (EditorPartDescriptor desc : app.getEditorPartDescriptors()) { for (String ext : desc.getFileextensions()) { if (ext.equals(fExt)) { context.set(EditorPartDescriptor.class, desc); System.err.println("Opening with: " + desc); Command cmd = commandService .getCommand("com.baremetalstudios.mapleide.command.openeditor"); // Command cmd = commandService.getCommand("simpleide.command.openeditor"); ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(cmd, null); handlerService.executeHandler(pCmd); break EDITOR; } } } } } } }); setupContextMenu(viewer, parent.getShell()); workspace.addResourceChangeListener(listener); }
From source file:org.adorsys.plh.pkix.workbench.navigator.internal.ResourceNavigator.java
License:Open Source License
@Inject public ResourceNavigator(Composite parent, final IEclipseContext context, IWorkspace workspace) { final Realm realm = SWTObservables.getRealm(parent.getDisplay()); this.context = context; parent.setLayout(new FillLayout()); TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { StructuredSelection selection = (StructuredSelection) event.getSelection(); selectionService//from w w w .j a v a 2s . c o m .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); // context.modify(IServiceConstants.ACTIVE_SELECTION, selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); } }); IObservableFactory setFactory = new IObservableFactory() { public IObservable createObservable(Object element) { if (element instanceof IContainer && ((IContainer) element).exists()) { IObservableSet observableSet = observableSets.get(element); if (observableSet == null) { observableSet = new WritableSet(realm); try { observableSet.addAll(Arrays.asList(((IContainer) element).members())); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } observableSets.put((IContainer) element, observableSet); } return observableSet; } return Observables.emptyObservableSet(); } }; viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() { public Boolean hasChildren(Object element) { return Boolean.valueOf(element instanceof IContainer); } })); viewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof IResource) return ((IResource) element).getName(); return element == null ? "" : element.toString(); } }); viewer.setSorter(new ViewerSorter()); viewer.setInput(workspace.getRoot()); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); for (Object o : s.toArray()) { if (o instanceof IFile) { IFile f = (IFile) o; context.set(IFile.class, f); String fExt = f.getFileExtension(); EDITOR: for (MPartDescriptor desc : application.getDescriptors()) { String category = desc.getCategory(); if (category == null) continue; String[] categories = category.split(","); for (String ext : categories) { if (ext.equalsIgnoreCase(fExt)) { context.set(MPartDescriptor.class, desc); System.err.println("Opening with: " + desc); Command cmd = commandService.getCommand("desktop.command.openeditor"); ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(cmd, null); handlerService.executeHandler(pCmd); break EDITOR; } } } } } } }); setupContextMenu(viewer, parent.getShell()); workspace.addResourceChangeListener(listener); }
From source file:org.eclipse.e4.demo.e4photo.Library.java
License:Open Source License
@Inject public Library(Composite parent, final IWorkspace workspace) { final Realm realm = SWTObservables.getRealm(parent.getDisplay()); this.workspace = workspace; initializeWorkspace();/*from w w w .jav a 2s. co m*/ viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTree().setData("org.eclipse.e4.ui.css.id", "library"); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { StructuredSelection selection = (StructuredSelection) event.getSelection(); selectionService .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); } }); IObservableFactory setFactory = new IObservableFactory() { public IObservable createObservable(Object element) { if (element instanceof IContainer && ((IContainer) element).exists()) { IObservableSet observableSet = observableSets.get(element); if (observableSet == null) { observableSet = new WritableSet(realm); try { observableSet.addAll(Arrays.asList(((IContainer) element).members())); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } observableSets.put((IContainer) element, observableSet); } return observableSet; } return Observables.emptyObservableSet(); } }; viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() { public Boolean hasChildren(Object element) { return Boolean.valueOf(element instanceof IContainer); } })); viewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof IResource) return ((IResource) element).getName(); return element == null ? "" : element.toString(); } }); viewer.setSorter(new ViewerSorter()); viewer.setInput(workspace.getRoot()); // Button button = new Button(parent, SWT.PUSH); // button.setText("Create Project"); // button.addSelectionListener(new SelectionListener() { // public void widgetSelected(SelectionEvent e) { // String projectName = "Project" + (counter++); // final IProject project = workspace.getRoot().getProject( // projectName); // final IProjectDescription pd = workspace // .newProjectDescription(projectName); // try { // workspace.run(new IWorkspaceRunnable() { // public void run(IProgressMonitor monitor) // throws CoreException { // project.create(pd, monitor); // project.open(monitor); // } // }, new NullProgressMonitor()); // } catch (CoreException e1) { // // TODO Auto-generated catch block // e1.printStackTrace(); // } // } // // public void widgetDefaultSelected(SelectionEvent e) { // } // }); GridLayoutFactory.fillDefaults().generateLayout(parent); }
From source file:org.eclipse.e4.demo.simpleide.navigator.internal.ResourceNavigator.java
License:Open Source License
@Inject public ResourceNavigator(Composite parent, final IEclipseContext context, IWorkspace workspace) { final Realm realm = SWTObservables.getRealm(parent.getDisplay()); this.context = context; parent.setLayout(new FillLayout()); TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { StructuredSelection selection = (StructuredSelection) event.getSelection(); selectionService/*from ww w. j a va2 s. c om*/ .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); // context.modify(IServiceConstants.ACTIVE_SELECTION, selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); } }); IObservableFactory setFactory = new IObservableFactory() { public IObservable createObservable(Object element) { if (element instanceof IContainer && ((IContainer) element).exists()) { IObservableSet observableSet = observableSets.get(element); if (observableSet == null) { observableSet = new WritableSet(realm); try { observableSet.addAll(Arrays.asList(((IContainer) element).members())); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } observableSets.put((IContainer) element, observableSet); } return observableSet; } return Observables.emptyObservableSet(); } }; viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() { public Boolean hasChildren(Object element) { return Boolean.valueOf(element instanceof IContainer); } })); viewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof IResource) return ((IResource) element).getName(); return element == null ? "" : element.toString(); } }); viewer.setSorter(new ViewerSorter()); viewer.setInput(workspace.getRoot()); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { MSimpleIDEApplication app = (MSimpleIDEApplication) application; IStructuredSelection s = (IStructuredSelection) event.getSelection(); for (Object o : s.toArray()) { if (o instanceof IFile) { IFile f = (IFile) o; context.set(IFile.class, f); String fExt = f.getFileExtension(); EDITOR: for (MEditorPartDescriptor desc : app.getEditorPartDescriptors()) { for (String ext : desc.getFileextensions()) { if (ext.equals(fExt)) { context.set(MEditorPartDescriptor.class, desc); System.err.println("Opening with: " + desc); Command cmd = commandService.getCommand("simpleide.command.openeditor"); ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(cmd, null); handlerService.executeHandler(pCmd); break EDITOR; } } } } } } }); setupContextMenu(viewer, parent.getShell()); workspace.addResourceChangeListener(listener); }
From source file:org.eclipse.e4.xwt.jface.ObservableTreeContentProvider.java
License:Open Source License
public void updateContext(Object context, Object value) { if (context == this.context && this.value == value) { return;// ww w . ja v a 2 s .c om } this.context = context; this.value = value; IObservableFactory observableFactory = XWT.observableFactory(context, getContentPath(), UpdateSourceTrigger.Default); IObservable observable = observableFactory.createObservable(value); if (observable instanceof IObservableList) { delegate = new ObservableListTreeContentProvider(observableFactory, null); } else if (observable instanceof IObservableSet) { delegate = new ObservableSetTreeContentProvider(observableFactory, null); } else { throw new UnsupportedOperationException(observable.getClass().getName()); } }
From source file:org.eclipse.scada.configuration.ui.component.ComponentOutputDialog.java
License:Open Source License
@Override protected Control createDialogArea(final Composite parent) { getShell().setText("Component Output"); final Composite composite = (Composite) super.createDialogArea(parent); composite.setLayout(new FillLayout()); final TableLayout layout = new TableLayout(); this.viewer = new TreeViewer(composite, SWT.FULL_SELECTION | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); this.viewer.setAutoExpandLevel(2); this.viewer.getTree().setHeaderVisible(true); this.viewer.getTree().setLayout(layout); this.viewer.setContentProvider(this.contentProvider = new ObservableSetTreeContentProvider( new ComponentOutputObservableFactory(), null)); {/*from ww w .java2s . c om*/ final TreeViewerColumn col1 = new TreeViewerColumn(this.viewer, SWT.NONE); col1.getColumn().setText("Name"); col1.setLabelProvider( new NameLabelProvider(getShell().getDisplay(), this.contentProvider.getKnownElements())); layout.addColumnData(new ColumnWeightData(150)); } { final IObservableMap map = PojoProperties.value(ItemEntry.PROP_ITEM) .observeDetail(this.contentProvider.getKnownElements()); final IObservableMap map2 = EMFProperties.value(OsgiPackage.Literals.ITEM__NAME).observeDetail(map); final TreeViewerColumn col2 = new TreeViewerColumn(this.viewer, SWT.NONE); col2.getColumn().setText("Item ID"); col2.setLabelProvider(new ObservableMapStyledCellLabelProvider(map2)); layout.addColumnData(new ColumnWeightData(150)); } { final IObservableMap map = PojoProperties.value(ItemEntry.PROP_ITEM) .observeDetail(this.contentProvider.getKnownElements()); final IObservableMap map2 = EMFProperties.value(OsgiPackage.Literals.ITEM__INFORMATION) .observeDetail(map); final IObservableMap map3 = EMFProperties.value(OsgiPackage.Literals.ITEM_INFORMATION__DESCRIPTION) .observeDetail(map2); final TreeViewerColumn col2 = new TreeViewerColumn(this.viewer, SWT.NONE); col2.getColumn().setText("Description"); col2.setLabelProvider(new ObservableMapStyledCellLabelProvider(map3)); layout.addColumnData(new ColumnWeightData(100)); } { final IObservableMap map = PojoProperties.value(ItemEntry.PROP_CUSTOMIZATION_REQUEST) .observeDetail(this.contentProvider.getKnownElements()); final IObservableMap map2 = PojoProperties.value("globalizationLevel").observeDetail(map); final TreeViewerColumn col2 = new TreeViewerColumn(this.viewer, SWT.NONE); col2.getColumn().setText("GL"); col2.setLabelProvider(new ObservableMapStyledCellLabelProvider(map2)); layout.addColumnData(new ColumnWeightData(25)); } { final IObservableMap map = PojoProperties.value(ItemEntry.PROP_ITEM) .observeDetail(this.contentProvider.getKnownElements()); final TreeViewerColumn col2 = new TreeViewerColumn(this.viewer, SWT.NONE); col2.getColumn().setText("Type"); col2.setLabelProvider(new ObservableMapStyledCellLabelProvider(map) { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); final Item value = (Item) this.attributeMaps[0].get(element); if (value == null) { return; } final StyledString s = new StyledString(); s.append(value.eClass().getName()); s.append(String.format(" (%s)", value.eClass().getEPackage().getName()), //$NON-NLS-1$ StyledString.QUALIFIER_STYLER); cell.setText(s.getString()); cell.setStyleRanges(s.getStyleRanges()); } }); layout.addColumnData(new ColumnWeightData(50)); } this.viewer.getControl().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(final DisposeEvent e) { handleDispose(); } }); this.viewer.setComparator(new ViewerComparator() { @Override public int compare(final Viewer viewer, final Object e1, final Object e2) { final ItemEntry i1 = AdapterHelper.adapt(e1, ItemEntry.class); final ItemEntry i2 = AdapterHelper.adapt(e2, ItemEntry.class); if (i1 == i2) { return 0; } if (i1 == null) { return -1; } return StringHelper.join(i1.getLocal(), ".").compareTo(StringHelper.join(i2.getLocal(), ".")); //$NON-NLS-1$ //$NON-NLS-2$ }; }); this.viewer.setInput(this.input); return composite; }
From source file:org.eclipse.scada.core.ui.connection.information.InformationViewPart.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { this.list = new ConnectionInformationList(); parent.setLayout(new FillLayout()); this.viewer = new TreeViewer(parent, SWT.FULL_SELECTION); this.viewer.getTree().setHeaderVisible(true); final TableLayout layout = new TableLayout(); this.viewer.getTree().setLayout(layout); final ObservableSetTreeContentProvider contentProvider = new ObservableSetTreeContentProvider( new IObservableFactory() { @Override// ww w. j av a 2 s . c o m public IObservable createObservable(final Object target) { if (target instanceof IObservable) { return (IObservable) target; } else if (target instanceof ConnectionInformationProvider) { return new ConnectionInformationWrapper((ConnectionInformationProvider) target); } return null; } }, new TreeStructureAdvisor() { }); { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); col.setLabelProvider(new LabelProvider(contentProvider.getRealizedElements())); layout.addColumnData(new ColumnWeightData(100)); } { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); col.setLabelProvider(new LabelProvider(contentProvider.getRealizedElements())); layout.addColumnData(new ColumnWeightData(50)); col.getColumn().setText("Current"); } { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); col.setLabelProvider(new LabelProvider(contentProvider.getRealizedElements())); layout.addColumnData(new ColumnWeightData(50)); col.getColumn().setText("Min"); } { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); col.setLabelProvider(new LabelProvider(contentProvider.getRealizedElements())); layout.addColumnData(new ColumnWeightData(50)); col.getColumn().setText("Max"); } this.viewer.setContentProvider(contentProvider); this.viewer.setInput(this.list.getList()); this.viewer.setComparator(new InformationBeanComparator()); getViewSite().setSelectionProvider(this.viewer); hookContextMenu(getViewSite()); }
From source file:org.eclipse.scada.da.client.dataitem.details.part.flags.FlagsDetailsPart.java
License:Open Source License
@Override public void createPart(final Composite parent) { super.createPart(parent); this.viewer = new TreeViewer(parent); final IObservableFactory factory = new IObservableFactory() { @Override//from w w w. j a v a 2 s. c o m public IObservable createObservable(final Object target) { if (target instanceof IObservable) { return (IObservable) target; } else if (target instanceof GroupEntry) { return ((GroupEntry) target).getEntries(); } return null; } }; final ObservableSetTreeContentProvider contentProvider = new ObservableSetTreeContentProvider(factory, null); this.viewer.setContentProvider(contentProvider); final TableLayout tableLayout = new TableLayout(); this.col1 = new TreeViewerColumn(this.viewer, SWT.NONE); this.col1.getColumn().setText(Messages.FlagsDetailsPart_ColFlagLabel); tableLayout.addColumnData(new ColumnWeightData(100)); this.col1.setLabelProvider(new ColumnLabelLabelProvider(contentProvider.getRealizedElements())); this.col2 = new TreeViewerColumn(this.viewer, SWT.NONE); this.col2.getColumn().setText(Messages.FlagsDetailsPart_ColStateLabel); tableLayout.addColumnData(new ColumnWeightData(100)); this.col2.setLabelProvider(new ColumnLabelStateProvider(contentProvider.getRealizedElements())); this.viewer.getTree().setHeaderVisible(true); this.viewer.getTree().setLayout(tableLayout); this.viewer.setUseHashlookup(true); this.viewer.setInput(this.groupSet); this.groupSet.add(new GroupEntry("error", Messages.FlagsDetailsPart_GroupErrorLabel)); //$NON-NLS-1$ this.groupSet.add(new GroupEntry("alarm", Messages.FlagsDetailsPart_GroupAlarmLabel)); //$NON-NLS-1$ this.groupSet.add(new GroupEntry("warning", Messages.FlagsDetailsPart_GroupWarningLabel)); //$NON-NLS-1$ this.groupSet.add(new GroupEntry("blocked", Messages.FlagsDetailsPart_GroupBlockingLabel)); //$NON-NLS-1$ this.groupSet.add(new GroupEntry("ackRequired", Messages.FlagsDetailsPart_GroupAknLabel)); //$NON-NLS-1$ this.groupSet.add(new GroupEntry("manual", Messages.FlagsDetailsPart_ManualLabel)); //$NON-NLS-1$ }
From source file:org.eclipse.scada.da.server.ui.internal.ServersViewer.java
License:Open Source License
public ServersViewer(final Composite parent) { parent.setLayout(new FillLayout()); this.viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); this.contentProvider = new ObservableSetTreeContentProvider(new ObservableFactoryImpl(), null); this.viewer.setContentProvider(this.contentProvider); this.labelProvider = new ServerLabelProvider(this.contentProvider.getKnownElements()); this.viewer.setLabelProvider(this.labelProvider); this.viewer.setInput(HivesPlugin.getDefault().getServerManager()); this.viewer.getControl().addDisposeListener(new DisposeListener() { @Override/*from w w w. j a v a 2 s . c o m*/ public void widgetDisposed(final DisposeEvent e) { handleDispose(); } }); ColumnViewerToolTipSupport.enableFor(this.viewer); }
From source file:org.eclipse.scada.da.ui.summary.explorer.SummaryExplorerViewPart.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { this.realm = SWTObservables.getRealm(parent.getDisplay()); this.viewer = new TreeViewer(parent, SWT.FULL_SELECTION); final ObservableSetTreeContentProvider contentProvider = new ObservableSetTreeContentProvider( new FactoryImpl(), new TreeStructureAdvisor() { });//from w ww .j a v a 2 s . c o m this.viewer.setContentProvider(contentProvider); this.viewer.getTree().setHeaderVisible(true); final TableLayout layout = new TableLayout(); { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); final ListeningStyledCellLabelProvider labelProvider = new NameLabelProviderImpl( contentProvider.getRealizedElements()); col.setLabelProvider(labelProvider); col.getColumn().setText("Name"); layout.addColumnData(new ColumnWeightData(100)); this.labelProviders.add(labelProvider); } for (final State state : State.values()) { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); final ListeningStyledCellLabelProvider labelProvider = new StateLabelProviderImpl( contentProvider.getRealizedElements(), state); col.setLabelProvider(labelProvider); col.getColumn().setText(state.name()); layout.addColumnData(new ColumnWeightData(25)); this.labelProviders.add(labelProvider); } this.viewer.getTree().setLayout(layout); }