List of usage examples for org.eclipse.jface.databinding.viewers TreeStructureAdvisor TreeStructureAdvisor
TreeStructureAdvisor
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/* www. j a v a 2 s. co 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) { 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:com.netxforge.netxstudio.screens.f4.MappingStatistics.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext bindingContext = new EMFDataBindingContext(); ObservableListTreeContentProvider treeContentProvider = new ObservableListTreeContentProvider( new IObservableFactory() { private IEMFListProperty subStatisticsObservableProperty = EMFEditProperties.list( editingService.getEditingDomain(), MetricsPackage.Literals.MAPPING_STATISTIC__SUB_STATISTICS); public IObservable createObservable(Object target) { IObservable ol = null; if (target instanceof IObservableList) { ol = (IObservable) target; } else if (target instanceof MappingStatistic) { ol = subStatisticsObservableProperty.observe(target); }//from w w w. j a va 2 s .co m return ol; } }, new TreeStructureAdvisor() { @Override public Object getParent(Object element) { if (element instanceof EObject) { EObject eo = (EObject) element; if (eo.eContainer() != null) { return eo.eContainer(); } } return null; } @Override public Boolean hasChildren(Object element) { if (element instanceof MappingStatistic) { return ((MappingStatistic) element).getSubStatistics().size() > 0 ? Boolean.TRUE : null; } return super.hasChildren(element); } }); statisticsTreeViewer.setContentProvider(treeContentProvider); IObservableMap[] observeMaps = EMFObservables.observeMaps(treeContentProvider.getKnownElements(), new EStructuralFeature[] { MetricsPackage.Literals.MAPPING_STATISTIC__MESSAGE }); statisticsTreeViewer.setLabelProvider(new StatisticObservableMapLabelProvider(observeMaps)); // Cool, observer the whole resource. IEMFListProperty l = EMFProperties.list(MetricsPackage.Literals.METRIC_SOURCE__STATISTICS); IObservableList metricSourceObservableList = l.observe(metricSource); statisticsTreeViewer.setInput(metricSourceObservableList); /** * Set a comparator to sort our columns, only sort the objects of type * */ statisticsTreeViewer.setComparator(new ViewerComparator() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#category(java.lang * .Object) */ @Override public int category(Object element) { // Set categories for our objects, only interrested in Service // flows for now. if (element instanceof MappingStatistic) return 1; return super.category(element); } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse * .jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ @Override public int compare(Viewer viewer, Object e1, Object e2) { int cat1 = category(e1); int cat2 = category(e2); if (cat1 != cat2) { return cat1 - cat2; } if (e1 instanceof MappingStatistic && e2 instanceof MappingStatistic) { MappingStatistic ms1 = (MappingStatistic) e1; MappingStatistic ms2 = (MappingStatistic) e2; if (ms1.eIsSet(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION) && ms2.eIsSet(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION)) { return ms2.getMappingDuration().getBegin().compare(ms1.getMappingDuration().getBegin()); } } return 0; // Do not compare other types. // return super.compare(viewer, e1, e2); } }); final IObservableValue selectionObservable = ViewerProperties.singleSelection() .observe(statisticsTreeViewer); // Observables for a single selection. IObservableValue messageObservable = SWTObservables.observeText(this.txtMessage, SWT.None); IObservableValue totalRecordsObservable = SWTObservables.observeText(this.txtTotalRecords, SWT.None); IObservableValue startTimeObservable = SWTObservables.observeText(this.txtStartDateTime, SWT.None); IObservableValue endTimeObservable = SWTObservables.observeText(this.txtEndDateTime, SWT.None); IObservableValue metricStartTimeObservable = SWTObservables.observeText(this.txtMetricStartDateTime, SWT.None); IObservableValue metricEndTimeObservable = SWTObservables.observeText(this.txtMetricEndDateTime, SWT.None); IObservableValue totalExpectedValuesObservable = SWTObservables.observeText(this.txtTotalValues, SWT.None); IObservableValue totalFailedValuesObservable = SWTObservables.observeText(this.txtTotalFailedValues, SWT.None); IEMFValueProperty messageProperty = EMFProperties.value(MetricsPackage.Literals.MAPPING_STATISTIC__MESSAGE); final IEMFValueProperty totalRecordsProperty = EMFProperties .value(MetricsPackage.Literals.MAPPING_STATISTIC__TOTAL_RECORDS); IEMFValueProperty startDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION, GenericsPackage.Literals.DATE_TIME_RANGE__BEGIN)); IEMFValueProperty endDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION, GenericsPackage.Literals.DATE_TIME_RANGE__END)); IEMFValueProperty metricStartDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__PERIOD_ESTIMATE, GenericsPackage.Literals.DATE_TIME_RANGE__BEGIN)); IEMFValueProperty metricEndDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__PERIOD_ESTIMATE, GenericsPackage.Literals.DATE_TIME_RANGE__END)); ComputedValue computedTotalExpectedValue = new ComputedValue() { @Override protected Object calculate() { Object value = totalRecordsProperty.observeDetail(selectionObservable).getValue(); if (value instanceof Integer) { return new Integer(StudioUtils.metricsInMetricSource(metricSource).size() * (Integer) value) .toString(); } return 0; } }; ComputedValue computedTotalFailedValue = new ComputedValue() { @Override protected Object calculate() { Object selectedObject = selectionObservable.getValue(); // recursively compute for sub-statistics. if (selectedObject instanceof MappingStatistic) { return new Integer(StudioUtils.mappingFailedCount((MappingStatistic) selectedObject)) .toString(); } return 0; } }; EMFUpdateValueStrategy modelToTargetStrategy = new EMFUpdateValueStrategy(); modelToTargetStrategy.setConverter(new ModelDateConverter()); bindingContext.bindValue(messageObservable, messageProperty.observeDetail(selectionObservable)); bindingContext.bindValue(totalRecordsObservable, totalRecordsProperty.observeDetail(selectionObservable)); bindingContext.bindValue(startTimeObservable, startDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(endTimeObservable, endDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(metricStartTimeObservable, metricStartDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(metricEndTimeObservable, metricEndDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(totalExpectedValuesObservable, computedTotalExpectedValue); bindingContext.bindValue(totalFailedValuesObservable, computedTotalFailedValue); // bindingContext.bindValue(totalExpectedValuesObservable, // computedTotalExpectedValue, new UpdateValueStrategy(false, // UpdateValueStrategy.POLICY_NEVER), null); // // bindingContext.bindValue(totalFailedValuesObservable, // computedTotalFailedValue, new UpdateValueStrategy(false, // UpdateValueStrategy.POLICY_NEVER), null); ObservableListContentProvider recordsContentProvider = new ObservableListContentProvider(); tblViewerRecords.setContentProvider(recordsContentProvider); // IObservableMap[] recordsObserveMaps = EMFObservables.observeMaps( // listContentProvider.getKnownElements(), // new EStructuralFeature[] { // MetricsPackage.Literals.MAPPING_RECORD__ROW, // MetricsPackage.Literals.MAPPING_RECORD__COLUMN, // MetricsPackage.Literals.MAPPING_RECORD__MESSAGE, }); tblViewerRecords.setLabelProvider(new RecordsObservableMapLabelProvider()); IEMFListProperty recordsProperty = EMFProperties .list(MetricsPackage.Literals.MAPPING_STATISTIC__FAILED_RECORDS); tblViewerRecords.setInput(recordsProperty.observeDetail(selectionObservable)); return bindingContext; }
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/* ww w .jav a2 s .com*/ .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.bonitasoft.studio.diagram.custom.wizard.AbstractManageDiagramWizardPage.java
License:Open Source License
private TreeStructureAdvisor diagramTreeStructure() { return new TreeStructureAdvisor() { }; }
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 . ja v a 2s.com*/ 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. ja v a2 s . 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) { 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.tools.emf.ui.internal.common.ModelEditor.java
License:Open Source License
private TreeViewer createTreeViewerArea(Composite parent) { final Composite treeArea = new Composite(parent, SWT.BORDER); treeArea.setLayout(new FillLayout()); treeArea.setData(CSS_CLASS_KEY, "formContainer"); //$NON-NLS-1$ treeArea.setBackgroundMode(SWT.INHERIT_DEFAULT); TreeViewer tempViewer = null;/*from ww w. j a v a2 s. c o m*/ String property = System.getProperty(ORG_ECLIPSE_E4_TOOLS_MODELEDITOR_FILTEREDTREE_ENABLED_XMITAB_DISABLED); if (property != null || preferences.getBoolean("tab-form-search-show", false)) { //$NON-NLS-1$ FilteredTree viewParent = new FilteredTree(treeArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL, new PatternFilter(), true); tempViewer = viewParent.getViewer(); } else { tempViewer = new TreeViewerEx(treeArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL, emfDocumentProvider, modelProvider); } final TreeViewer viewer = tempViewer; viewer.setLabelProvider(new ComponentLabelProvider(this, messages)); ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider( new ObservableFactoryImpl(), new TreeStructureAdvisor() { }); viewer.setContentProvider(contentProvider); final WritableSet clearedSet = new WritableSet(); contentProvider.getKnownElements().addSetChangeListener(new ISetChangeListener() { @Override public void handleSetChange(SetChangeEvent event) { for (Object o : event.diff.getAdditions()) { if (o instanceof EObject) { clearedSet.add(o); } } for (Object o : event.diff.getRemovals()) { if (o instanceof EObject) { clearedSet.remove(o); } } } }); for (FeaturePath p : labelFeaturePaths) { IObservableMap map = EMFProperties.value(p).observeDetail(clearedSet); map.addMapChangeListener(new IMapChangeListener() { @Override public void handleMapChange(MapChangeEvent event) { viewer.update(event.diff.getChangedKeys().toArray(), null); } }); } viewer.setInput(modelProvider.getRoot()); viewer.setAutoExpandLevel(2); viewer.expandToLevel(viewer.getAutoExpandLevel()); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = (TreeViewer) event.getViewer(); IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection(); Object selectedNode = thisSelection.getFirstElement(); if (mod1Down) { if (viewer.getExpandedState(selectedNode)) viewer.setExpandedState(selectedNode, false); else viewer.expandToLevel(selectedNode, AbstractTreeViewer.ALL_LEVELS); } else { viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode)); } } }); // Effect of filtered tree implementation (bug 391086) viewer.getTree().addTreeListener(new TreeAdapter() { @Override public void treeCollapsed(TreeEvent e) { viewer.expandToLevel(viewer.getAutoExpandLevel()); } }); int ops = DND.DROP_MOVE; viewer.addDragSupport(ops, new Transfer[] { MemoryTransfer.getInstance() }, new DragListener(viewer)); viewer.addDropSupport(ops, new Transfer[] { MemoryTransfer.getInstance() }, new DropListener(viewer, modelProvider.getEditingDomain())); return viewer; }
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//from w w w . j ava 2s . com 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.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() { });// ww w . j a va 2 s .com 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); }
From source file:org.eclipsetrader.ui.internal.charts.views.HistoryDataDetailEditor.java
License:Open Source License
void createViewer(Composite parent) { Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI); tree.setHeaderVisible(true);/*from w w w . j a v a2 s .c om*/ tree.setLinesVisible(true); viewer = new TreeViewer(tree); IObservableFactory observableFactory = new IObservableFactory() { @Override public IObservable createObservable(Object target) { if (target instanceof HistoryDataDetailEditorModel) { return Observables .unmodifiableObservableList(((HistoryDataDetailEditorModel) target).getList()); } if (target instanceof HistoryDataEditorModel) { return Observables.unmodifiableObservableList(((HistoryDataEditorModel) target).getList()); } return null; } }; TreeStructureAdvisor treeStructureAdvisor = new TreeStructureAdvisor() { @Override public Boolean hasChildren(Object element) { if (element instanceof HistoryDataEditorModel) { return true; } return false; } }; ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider(observableFactory, treeStructureAdvisor); viewer.setContentProvider(contentProvider); GC gc = new GC(parent); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Time); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.timeValue(), BeanProperties.value(HistoryDataElement.PROP_DATE))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Open); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_OPEN))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_High); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_HIGH))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Low); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_LOW))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Close); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_CLOSE))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Volume); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.longValue(), BeanProperties.value(HistoryDataElement.PROP_VOLUME))); if (Platform.WS_GTK.equals(Platform.getWS())) { viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setWidth(1); } final String[] properties = new String[] { HistoryDataElement.PROP_DATE, HistoryDataElement.PROP_OPEN, HistoryDataElement.PROP_HIGH, HistoryDataElement.PROP_LOW, HistoryDataElement.PROP_CLOSE, HistoryDataElement.PROP_VOLUME, "" //$NON-NLS-1$ }; DataViewerLabelProvider labelProvider = new DataViewerLabelProvider( BeansObservables.observeMaps(contentProvider.getKnownElements(), properties)); labelProvider.setDateFormat(Util.getTimeFormat()); viewer.setLabelProvider(labelProvider); viewer.setSorter(new ViewerSorter() { @Override public int compare(Viewer viewer, Object o1, Object o2) { if ((o1 instanceof HistoryDataEditorModel) && (o2 instanceof HistoryDataEditorModel)) { TimeSpan ts1 = ((HistoryDataEditorModel) o1).getBarSize(); TimeSpan ts2 = ((HistoryDataEditorModel) o2).getBarSize(); if (ts1.higherThan(ts2)) { return 1; } if (ts2.higherThan(ts1)) { return -1; } return 0; } else if ((o1 instanceof HistoryDataElement) && (o2 instanceof HistoryDataElement)) { HistoryDataElement e1 = (HistoryDataElement) o1; HistoryDataElement e2 = (HistoryDataElement) o2; if (e1.getDate() != null && e2.getDate() != null) { return e1.getDate().compareTo(e2.getDate()); } if (e1.getDate() != null && e2.getDate() == null) { return -1; } if (e1.getDate() == null && e2.getDate() != null) { return 1; } } return 0; } }); CellNavigationStrategy naviStrat = new CellNavigationStrategy() { @Override public ViewerCell findSelectedCell(ColumnViewer viewer, ViewerCell currentSelectedCell, Event event) { ViewerCell cell = super.findSelectedCell(viewer, currentSelectedCell, event); if (cell != null) { if (cell.getColumnIndex() == properties.length - 1) { return null; } Tree tree = ((TreeViewer) viewer).getTree(); tree.showColumn(tree.getColumn(cell.getColumnIndex())); } return cell; } }; TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer), naviStrat); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(viewer, focusCellManager, activationStrategy, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); tree.addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN || e.detail == SWT.TRAVERSE_ESCAPE) { e.doit = false; } } }); tree.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (viewer.isCellEditorActive()) { return; } if (e.keyCode == SWT.INSERT) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); HistoryDataEditorModel parent = null; int index = 0; if (!selection.isEmpty()) { parent = model.getParent(selection.getFirstElement()); if (parent == null) { return; } index = parent.getList().indexOf(selection.getFirstElement()); if (index == -1) { index = parent.getList().size(); } } final HistoryDataElement element = new HistoryDataElement(); parent.getList().add(index, element); e.doit = false; Display.getDefault().asyncExec(new Runnable() { @Override public void run() { if (!viewer.getControl().isDisposed()) { viewer.editElement(element, 0); } } }); } else if (e.character == SWT.DEL) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); for (Object element : selection.toList()) { HistoryDataEditorModel parent = model.getParent(selection.getFirstElement()); if (parent != null) { if (parent.getList().remove(element)) { changeSupport.firePropertyChange(PROP_DIRTY, dirty, dirty = true); } } } } } }); viewer.setInput(model); }