List of usage examples for org.eclipse.jface.viewers StructuredSelection EMPTY
StructuredSelection EMPTY
To view the source code for org.eclipse.jface.viewers StructuredSelection EMPTY.
Click Source Link
From source file:at.spardat.xma.gui.mapper.MapperDialog.java
License:Open Source License
/** * The selection changed in the widget-tree. The reaction is, that an associated * relationship and the attribute is highlithed. *///from ww w . ja va 2s .c om private void widgetTreeSelectionChanged(SelectionChangedEvent event) { Iterator iter = ((StructuredSelection) event.getSelection()).iterator(); if (iter.hasNext()) { Object widget = iter.next(); if (widget instanceof IBDAttachable) { //for debugging debug("--> widget selected: " + ((IBDAttachable) widget).getNamInstance()); // is there a relationship attached? Relationship rel = mdlRels_.find((IBDAttachable) widget); if (rel == null) { // no attachment; deselect all bdTreeViewer.setSelection(StructuredSelection.EMPTY); mapGraphics_.setFocusedRelationship(null); } else { MdlAttribute attr = rel.attribute_; if (attr != null) { if (mapGraphics_.getFocusedRelationship() != rel) { mapGraphics_.setFocusedRelationship(rel); StructuredSelection sel = new StructuredSelection(attr); bdTreeViewer.setSelection(sel, true); } } } relArea.redraw(); stateChanged(); } } }
From source file:at.spardat.xma.gui.mapper.MapperDialog.java
License:Open Source License
/** * The selection changed in the businessData-tree. The reaction is, that an associated * relationshiop and the widget is highlighted. *///from w w w . ja v a 2 s . c om private void bdTreeSelectionChanged(SelectionChangedEvent event) { int numSelected = 0; Iterator iter = ((StructuredSelection) event.getSelection()).iterator(); while (iter.hasNext()) { iter.next(); numSelected++; } if (numSelected == 1) { iter = ((StructuredSelection) event.getSelection()).iterator(); if (iter.hasNext()) { Object attribute = iter.next(); if (attribute instanceof MdlAttribute) { // for debugging debug("---> attribute selected: " + ((MdlAttribute) attribute).getNamInstance()); // is there a relationship attached? Relationship rel = null; // fixe for mantis bug 18593 rel = getInvolvedRS((MdlAttribute) attribute); if (rel != null) { if (mapGraphics_.getFocusedRelationship() != rel) { mapGraphics_.setFocusedRelationship(rel); StructuredSelection sel = new StructuredSelection(rel.bdAttachable_); widgetTreeViewer.setSelection(sel, true); } } else { // no attachment; deselect all widgetTreeViewer.setSelection(StructuredSelection.EMPTY); mapGraphics_.setFocusedRelationship(null); } relArea.redraw(); stateChanged(); } } } }
From source file:at.spardat.xma.guidesign.presentation.action.GuidesignActionBarContributor.java
License:Open Source License
/** * the sense of this override of the superclass method is to remove * undo/redo from the global actions//from w w w.j ava2 s. c om */ public void update() { ISelectionProvider selectionProvider = activeEditor instanceof ISelectionProvider ? (ISelectionProvider) activeEditor : activeEditor.getEditorSite().getSelectionProvider(); ISelection selection = selectionProvider.getSelection(); IStructuredSelection structuredSelection = selection instanceof IStructuredSelection ? (IStructuredSelection) selection : StructuredSelection.EMPTY; deleteAction.updateSelection(structuredSelection); cutAction.updateSelection(structuredSelection); copyAction.updateSelection(structuredSelection); pasteAction.updateSelection(structuredSelection); //undoAction.update(); //redoAction.update(); }
From source file:at.spardat.xma.guidesign.presentation.GuidesignEditor.java
License:Open Source License
/** * Handles what to do with changed resources on activation. */// w w w .j a va 2s.c o m protected void handleChangedResources(Resource changedResource) { if (!isDirty() || handleDirtyConflict()) { // remember old selection before we reload the model ISelection isel = getSelection(); Resource mainResource = (Resource) editingDomain.getResourceSet().getResources().get(0); //for (Iterator i = changedResources.iterator(); i.hasNext(); ) { Resource resource = changedResource; // main resource changed? boolean isMainRes = mainResource.equals(resource); if (resource.isLoaded()) { resource.unload(); } try { resource.load(Collections.EMPTY_MAP); component = (XMAComponent) resource.getContents().get(0); } catch (IOException exception) { GUIDesignerPlugin.INSTANCE.log(exception); } // main resource changed? if (isMainRes) { // Determine the new selection final ISelection newSel; if (isel instanceof StructuredSelection) { EList eList = resource.getContents(); newSel = createNewSelection((StructuredSelection) isel, eList); } else { newSel = StructuredSelection.EMPTY; } // Take the new selection as input when possible (to avoid flickering) Object input = resource; if (newSel instanceof StructuredSelection) { StructuredSelection structSel = (StructuredSelection) newSel; if (structSel.getFirstElement() instanceof XMAWidget) { input = (XMAWidget) structSel.getFirstElement(); } } // force viewer to reload graphViewer.invalidateOldInput(); graphViewer.setInput(input); // we only care about structured selections (there should not be somethin else) if (isel instanceof StructuredSelection) { // asyncExec to avoid timing problems getSite().getShell().getDisplay().asyncExec(new Runnable() { public void run() { //set the selection to the composite setSelection(newSel); } }); } } //} ((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone(); dirty = false; firePropertyChange(IEditorPart.PROP_DIRTY); } }
From source file:at.spardat.xma.guidesign.presentation.GuidesignEditor.java
License:Open Source License
/** * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection. * <!-- begin-user-doc -->/*from w w w. j ava 2 s . c om*/ * <!-- end-user-doc --> * @generated */ public ISelection getSelection() { if (editorSelection == null) { return StructuredSelection.EMPTY; } else { return editorSelection; } }
From source file:au.gov.ga.earthsci.application.parts.layer.LayerTreePart.java
License:Apache License
@PostConstruct public void init(Composite parent, EMenuService menuService) { LayerOpacityToolControl.setPartContext(context); viewer = new CheckboxTreeViewer(parent, SWT.MULTI); viewer.getTree().setBackgroundImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_TRANSPARENT)); context.set(TreeViewer.class, viewer); clipboard = new Clipboard(shell.getDisplay()); context.set(Clipboard.class, clipboard); IListProperty childrenProperty = new MultiListProperty( new IListProperty[] { BeanProperties.list("children") }); //$NON-NLS-1$ ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider( childrenProperty.listFactory(), null); viewer.setContentProvider(contentProvider); //TreeViewerEditor.create(viewer, new SecondClickColumnViewerEditorActivationStrategy(viewer), ColumnViewerEditor.DEFAULT); IObservableSet knownElements = contentProvider.getKnownElements(); IObservableMap enabledMap = BeanProperties.value("enabled").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap opacityMap = BeanProperties.value("opacity").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap nameMap = BeanProperties.value("name").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap labelMap = BeanProperties.value("label").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap statusMap = BeanProperties.value("status").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap anyChildrenEnabledMap = BeanProperties.value("anyChildrenEnabled") //$NON-NLS-1$ .observeDetail(knownElements); IObservableMap allChildrenEnabledMap = BeanProperties.value("allChildrenEnabled") //$NON-NLS-1$ .observeDetail(knownElements); IObservableMap childrenMap = BeanProperties.value("children").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap expandedMap = BeanProperties.value("expanded").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap[] labelAttributeMaps = new IObservableMap[] { enabledMap, opacityMap, nameMap, labelMap, anyChildrenEnabledMap, allChildrenEnabledMap, statusMap }; labelProvider = new LayerTreeLabelProvider(labelAttributeMaps); viewer.setLabelProvider(labelProvider); viewer.setCheckStateProvider(new LayerTreeCheckStateProvider()); viewer.setInput(model.getRootNode()); viewer.setExpandedElements(getExpandedNodes()); IMapChangeListener childrenListener = new IMapChangeListener() { @Override//from w w w . ja va 2s. c o m public void handleMapChange(MapChangeEvent event) { //for any children added, expand the nodes Set<?> addedKeys = event.diff.getAddedKeys(); for (Object o : addedKeys) { if (o instanceof ILayerTreeNode) { ((ILayerTreeNode) o).getParent().getValue().setExpanded(true); } } } }; IMapChangeListener expandedListener = new IMapChangeListener() { @Override public void handleMapChange(MapChangeEvent event) { //ensure the expanded elements are kept in sync with the model viewer.getTree().getDisplay().asyncExec(new Runnable() { @Override public void run() { if (!viewer.getTree().isDisposed()) { viewer.setExpandedElements(getExpandedNodes()); } } }); } }; childrenMap.addMapChangeListener(childrenListener); childrenMap.addMapChangeListener(expandedListener); expandedMap.addMapChangeListener(expandedListener); viewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); if (element instanceof ILayerTreeNode) { ILayerTreeNode node = (ILayerTreeNode) element; node.enableChildren(event.getChecked()); } } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); List<?> list = selection.toList(); ILayerTreeNode[] array = list.toArray(new ILayerTreeNode[list.size()]); selectionService.setSelection(array.length == 1 ? array[0] : array); } }); viewer.addTreeListener(new ITreeViewerListener() { @Override public void treeExpanded(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(true); } @Override public void treeCollapsed(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(false); } }); viewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell == null) return; ILayerTreeNode layer = (ILayerTreeNode) cell.getElement(); selectLayer(layer); } @Override public void mouseDown(MouseEvent e) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell == null) { viewer.setSelection(StructuredSelection.EMPTY); } } }); viewer.getTree().addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); if (selection.size() == 1) { ILayerTreeNode layer = (ILayerTreeNode) selection.getFirstElement(); selectLayer(layer); } } } }); viewer.setCellEditors(new CellEditor[] { new TextCellEditor(viewer.getTree(), SWT.BORDER) }); viewer.setColumnProperties(new String[] { "layer" }); //$NON-NLS-1$ viewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { if (element instanceof Item) { element = ((Item) element).getData(); } ((ILayerTreeNode) element).setLabel((String) value); } @Override public Object getValue(Object element, String property) { if (element instanceof Item) { element = ((Item) element).getData(); } return ((ILayerTreeNode) element).getLabelOrName(); } @Override public boolean canModify(Object element, String property) { return true; } }); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(viewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); //add drag and drop support int ops = DND.DROP_COPY | DND.DROP_MOVE; viewer.addDragSupport(ops, new Transfer[] { LayerTransfer.getInstance() }, new LayerTreeDragSourceListener(viewer)); viewer.addDropSupport(ops, new Transfer[] { LayerTransfer.getInstance(), FileTransfer.getInstance() }, new LayerTreeDropAdapter(viewer, model, context)); //add context menu menuService.registerContextMenu(viewer.getTree(), "au.gov.ga.earthsci.application.layertree.popupmenu"); //$NON-NLS-1$ }
From source file:au.gov.ga.earthsci.discovery.ui.TableViewerSelectionHelper.java
License:Apache License
public TableViewerSelectionHelper(final TableViewer viewer, final Class<T> selectionType) { viewer.getControl().addMouseListener(new MouseAdapter() { @Override/*from w w w . j a v a 2 s . com*/ public void mouseDown(MouseEvent e) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell == null) { viewer.setSelection(StructuredSelection.EMPTY); } } }); viewer.getTable().addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); Object s = selection.getFirstElement(); if (s == null) { itemSelected(null); } else if (selectionType.isInstance(s)) { T t = selectionType.cast(s); itemSelected(t); } } @Override public void widgetDefaultSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); Object s = selection.getFirstElement(); if (selectionType.isInstance(s)) { T t = selectionType.cast(s); itemDefaultSelected(t); } } }); }
From source file:au.gov.ga.earthsci.layer.ui.LayerTreePart.java
License:Apache License
protected void createStructureViewer(Composite parent, EMenuService menuService, CTabItem tabItem) { structureViewer = new CheckboxTreeViewer(parent, SWT.MULTI); tabItem.setControl(structureViewer.getControl()); structureViewer.getTree()//from w w w. j a v a2 s.c om .setBackgroundImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_TRANSPARENT)); context.set(TreeViewer.class, structureViewer); clipboard = new Clipboard(parent.getDisplay()); context.set(Clipboard.class, clipboard); //create a property change listener for updating the labels whenever a property //changes on an ILayerTreeNode instance final PropertyChangeListener anyChangeListener = new PropertyChangeListener() { @Override public void propertyChange(final PropertyChangeEvent evt) { updateElementLabel(evt.getSource()); } }; //create a property change listener that ensures the expanded state of the tree //is kept in sync with the value of the expanded property for each node final PropertyChangeListener expandedChangeListener = new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { syncExpandedNodes(); } }; //setup the label provider labelProvider = new LayerTreeLabelProvider(); //create a bean list property associated with ILayerTreeNode's children property IBeanListProperty<ILayerTreeNode, ILayerTreeNode> childrenProperty = BeanProperties .list(ILayerTreeNode.class, "children", ILayerTreeNode.class); //$NON-NLS-1$ //setup a factory for creating observables observing ILayerTreeNodes IObservableFactory<ILayerTreeNode, IObservableList<ILayerTreeNode>> observableFactory = childrenProperty .listFactory(); //listen for any changes (additions/removals) to any of the children in the tree observableListTreeSupport = new ObservableListTreeSupport<ILayerTreeNode>(observableFactory); observableListTreeSupport.addListener(new ITreeChangeListener<ILayerTreeNode>() { @Override public void elementAdded(ILayerTreeNode element) { element.addPropertyChangeListener(anyChangeListener); element.addPropertyChangeListener("expanded", expandedChangeListener); //$NON-NLS-1$ } @Override public void elementRemoved(ILayerTreeNode element) { element.removePropertyChangeListener(anyChangeListener); element.removePropertyChangeListener("expanded", expandedChangeListener); //$NON-NLS-1$ } }); //create a content provider that listens for changes to any children in the tree ObservableListTreeContentProvider<ILayerTreeNode> contentProvider = new ObservableListTreeContentProvider<ILayerTreeNode>( observableFactory, null); //set the viewer's providers structureViewer.setContentProvider(contentProvider); structureViewer.setLabelProvider(labelProvider); structureViewer.setCheckStateProvider(new LayerTreeCheckStateProvider()); //set the viewer and listener inputs structureViewer.setInput(model.getRootNode()); observableListTreeSupport.setInput(model.getRootNode()); //Listen for any additions to the tree, and expand added node's parent, so that //added nodes are always visible. This is done after the input is set up, so that //we don't expand all the nodes that are already in the tree. observableListTreeSupport.addListener(new TreeChangeAdapter<ILayerTreeNode>() { @Override public void elementAdded(ILayerTreeNode element) { //for any children added, expand the nodes if (!element.isRoot()) { element.getParent().setExpanded(true); } //if the nodes were already expanded, the expanded property change event //is not fired, so we need to sync the expanded state anyway syncExpandedNodes(); //when a layer is added, we should activate this part and select the added element activateAndSelectElement(element); } }); //expand any nodes that should be expanded after unpersisting syncExpandedNodes(); //enable/disable any nodes that are checked/unchecked structureViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); if (element instanceof ILayerTreeNode) { ILayerTreeNode node = (ILayerTreeNode) element; node.enableChildren(event.getChecked()); } } }); //setup the selection tracking structureViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) structureViewer.getSelection(); List<?> list = selection.toList(); ILayerTreeNode[] array = list.toArray(new ILayerTreeNode[list.size()]); settingSelection = true; selectionService.setSelection(array.length == 1 ? array[0] : array); settingSelection = false; } }); structureViewer.getTree().addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) structureViewer.getSelection(); ILayerTreeNode firstElement = (ILayerTreeNode) selection.getFirstElement(); if (firstElement != null) { selectLayer(firstElement); } } }); //setup tree expansion/collapse listening structureViewer.addTreeListener(new ITreeViewerListener() { @Override public void treeExpanded(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(true); } @Override public void treeCollapsed(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(false); } }); //make tree cells unselectable by selecting outside structureViewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { ViewerCell cell = structureViewer.getCell(new Point(e.x, e.y)); if (cell == null) { structureViewer.setSelection(StructuredSelection.EMPTY); } } }); //setup cell editing structureViewer .setCellEditors(new CellEditor[] { new TextCellEditor(structureViewer.getTree(), SWT.BORDER) }); structureViewer.setColumnProperties(new String[] { "layer" }); //$NON-NLS-1$ structureViewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { if (element instanceof Item) { element = ((Item) element).getData(); } ((ILayerTreeNode) element).setLabel((String) value); } @Override public Object getValue(Object element, String property) { if (element instanceof Item) { element = ((Item) element).getData(); } return ((ILayerTreeNode) element).getLabelOrName(); } @Override public boolean canModify(Object element, String property) { return true; } }); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( structureViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(structureViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); //add drag and drop support int ops = DND.DROP_COPY | DND.DROP_MOVE; structureViewer.addDragSupport(ops, new Transfer[] { LocalLayerTransfer.getInstance(), LayerTransfer.getInstance() }, new LayerTreeDragSourceListener(structureViewer)); structureViewer .addDropSupport(ops, new Transfer[] { LocalLayerTransfer.getInstance(), LayerTransfer.getInstance(), FileTransfer.getInstance() }, new LayerTreeDropAdapter(structureViewer, model, context)); //add context menu menuService.registerContextMenu(structureViewer.getTree(), "au.gov.ga.earthsci.application.layertree.popupmenu"); //$NON-NLS-1$ }
From source file:bilab.ValueViewer.java
License:Open Source License
@Override public ISelection getSelection() { if (viewer != null) { return viewer.getSelection(); } return StructuredSelection.EMPTY; }
From source file:bndtools.MakeBundleWithRefreshAction.java
License:Open Source License
@Override public void run(IAction action) { // What should we refresh?? IStructuredSelection selection = StructuredSelection.EMPTY; if (targetPart instanceof IEditorPart) { IEditorInput input = ((IEditorPart) targetPart).getEditorInput(); if (input instanceof IFileEditorInput) { IFile file = ((IFileEditorInput) input).getFile(); selection = new StructuredSelection(file); }// w w w . ja v a2s .com } else { ISelection sel = targetPart.getSite().getSelectionProvider().getSelection(); if (sel instanceof IStructuredSelection) { selection = (IStructuredSelection) sel; } } selectionChanged(action, selection); super.run(action); final List<IResource> resources = new ArrayList<IResource>(selection.size()); for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { Object next = iter.next(); if (next instanceof IResource) resources.add((IResource) next); } if (!resources.isEmpty()) { final IWorkspace workspace = resources.get(0).getWorkspace(); final IWorkspaceRunnable operation = new IWorkspaceRunnable() { public void run(IProgressMonitor monitor) throws CoreException { SubMonitor progress = SubMonitor.convert(monitor, resources.size()); MultiStatus status = new MultiStatus(Plugin.PLUGIN_ID, 0, "One or more errors occurred while refreshing resources", null); for (IResource resource : resources) { try { resource.getParent().refreshLocal(1, progress.newChild(1)); } catch (CoreException e) { status.add(new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, e.getMessage(), e)); } } if (!status.isOK()) { ErrorDialog.openError(targetPart.getSite().getShell(), "Error", null, status); } } }; IRunnableWithProgress task = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { workspace.run(operation, monitor); } catch (CoreException e) { throw new InvocationTargetException(e); } } }; try { targetPart.getSite().getWorkbenchWindow().run(false, false, task); } catch (InvocationTargetException e) { CoreException ce = (CoreException) e.getCause(); ErrorDialog.openError(targetPart.getSite().getShell(), "Error", null, new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, "Error refreshing resources", ce)); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } // Process it IRunnableContext context = targetPart.getSite().getWorkbenchWindow(); try { context.run(false, false, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { } }); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }