List of usage examples for org.eclipse.jface.viewers StructuredSelection StructuredSelection
public StructuredSelection(List elements)
List
. From source file:au.gov.ga.earthsci.bookmark.part.editor.BookmarkEditorDialog.java
License:Apache License
/** * Create the property tree control (left side) used to display available {@link IBookmarkProperty}s * <p/>/* w w w . j av a 2s . c om*/ * Expects the {@code parent} to have a {@link GridLayout}. */ private Control createPropertyTree(Composite parent) { PatternFilter filter = new BookmarkPropertyTreeFilter(); filter.setIncludeLeadingWildcard(true); editorFilteredTree = new FilteredTree(parent, SWT.FULL_SELECTION, filter, true); GridData gd = new GridData(GridData.FILL_VERTICAL); editorFilteredTree.setLayoutData(gd); if (editorFilteredTree.getFilterControl() != null) { Composite filterComposite = editorFilteredTree.getFilterControl().getParent(); gd = (GridData) filterComposite.getLayoutData(); gd.verticalIndent = 2; gd.horizontalIndent = 1; } ColumnViewerToolTipSupport.enableFor(editorFilteredTree.getViewer()); editorFilteredTree.getViewer().setContentProvider(new BookmarkPropertyTreeContentProvider()); editorFilteredTree.getViewer().setLabelProvider(new BookmarkPropertyTreeLabelProvider()); editorFilteredTree.getViewer().setComparator(new BookmarkPropertyTreeViewerComparator()); editorFilteredTree.getViewer().setInput(editors); editorFilteredTree.getViewer().setAutoExpandLevel(2); editorFilteredTree.getViewer().setSelection(new StructuredSelection(editors.get(0))); editorFilteredTree.getViewer().addPostSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection().isEmpty()) { return; } if (!showEditor( (IBookmarkEditor) ((IStructuredSelection) event.getSelection()).getFirstElement())) { handleEditorChangeError(); } } private void handleEditorChangeError() { try { editorFilteredTree.getViewer().removePostSelectionChangedListener(this); editorFilteredTree.getViewer().setSelection(new StructuredSelection(currentEditor)); } finally { editorFilteredTree.getViewer().addPostSelectionChangedListener(this); } } }); return editorFilteredTree; }
From source file:au.gov.ga.earthsci.bookmark.ui.BookmarksPart.java
License:Apache License
private void initCombo(Composite parent) { bookmarkListsComboViewer = new ComboViewer(parent, SWT.READ_ONLY | SWT.DROP_DOWN); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = false;//from w w w. j a v a 2 s. co m bookmarkListsComboViewer.getCombo().setLayoutData(gd); bookmarkListsComboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (!(element instanceof IBookmarkList)) { return super.getText(element); } return ((IBookmarkList) element).getName(); } }); // Trigger a label refresh if a list name changes etc. ObservableListContentProvider<IBookmarkList> contentProvider = new ObservableListContentProvider<IBookmarkList>( IBookmarkList.class); IObservableSet<IBookmarkList> knownElements = contentProvider.getKnownElements(); IObservableMap<IBookmarkList, String> nameMap = BeanProperties .value(IBookmarkList.class, "name", String.class).observeDetail(knownElements); //$NON-NLS-1$ nameMap.addMapChangeListener(new IMapChangeListener<IBookmarkList, String>() { @Override public void handleMapChange(MapChangeEvent<IBookmarkList, String> event) { for (IBookmarkList key : event.diff.getChangedKeys()) { bookmarkListsComboViewer.refresh(key, true); } } }); IBeanListProperty<IBookmarks, IBookmarkList> listsProperty = BeanProperties.list(IBookmarks.class, "lists", //$NON-NLS-1$ IBookmarkList.class); IObservableList<IBookmarkList> observableList = listsProperty.observe(bookmarks); bookmarkListsComboViewer.setContentProvider(contentProvider); bookmarkListsComboViewer.setInput(observableList); bookmarkListsComboViewer.setSelection(new StructuredSelection(bookmarks.getDefaultList())); bookmarkListsComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { controller.setCurrentList(getSelectedBookmarkList()); } }); }
From source file:au.gov.ga.earthsci.common.ui.color.ColorMapEditor.java
License:Apache License
private void wireMapListeners() { map.addPropertyChangeListener(MutableColorMap.COLOR_MAP_ENTRY_CHANGE_EVENT, new PropertyChangeListener() { @Override//w w w .ja v a 2s . co m public void propertyChange(java.beans.PropertyChangeEvent evt) { Display.getCurrent().asyncExec(new Runnable() { @Override public void run() { entriesTable.refresh(); populateColors(); gradientCanvas.redraw(); } }); } }); map.addPropertyChangeListener(MutableColorMap.ENTRY_MOVED_EVENT, new PropertyChangeListener() { @SuppressWarnings("unchecked") @Override public void propertyChange(java.beans.PropertyChangeEvent evt) { Entry<Double, Color> oldEntry = (Entry<Double, Color>) evt.getOldValue(); Entry<Double, Color> newEntry = (Entry<Double, Color>) evt.getNewValue(); if (currentEntryValue == null || oldEntry.getKey().equals(currentEntryValue)) { currentEntryValue = newEntry.getKey(); entriesTable.refresh(); selectTableEntry(newEntry); } } }); map.addPropertyChangeListener(MutableColorMap.ENTRY_ADDED_EVENT, new PropertyChangeListener() { @Override public void propertyChange(java.beans.PropertyChangeEvent evt) { @SuppressWarnings("unchecked") Entry<Double, Color> newEntry = (Entry<Double, Color>) evt.getNewValue(); final Marker newMarker = addMarker(newEntry); Display.getCurrent().asyncExec(new Runnable() { @Override public void run() { markerCanvas.redraw(newMarker.bounds.x, newMarker.bounds.y, newMarker.bounds.width, newMarker.bounds.height, true); }; }); } }); map.addPropertyChangeListener(MutableColorMap.MODE_CHANGE_EVENT, new PropertyChangeListener() { @Override public void propertyChange(java.beans.PropertyChangeEvent evt) { Display.getCurrent().asyncExec(new Runnable() { @Override public void run() { populateColors(); gradientCanvas.redraw(); modeCombo.setSelection(new StructuredSelection(map.getMode())); }; }); } }); map.addPropertyChangeListener(MutableColorMap.NODATA_CHANGE_EVENT, new PropertyChangeListener() { @Override public void propertyChange(java.beans.PropertyChangeEvent evt) { updateNodataEditorFromMap(); if (map.getMode() == InterpolationMode.EXACT_MATCH) { Display.getCurrent().asyncExec(new Runnable() { @Override public void run() { populateColors(); gradientCanvas.redraw(); } }); } } }); }
From source file:au.gov.ga.earthsci.common.ui.color.ColorMapEditor.java
License:Apache License
/** * Build the options editing// w w w. j a v a 2 s . c om */ private void addOptionsArea() { optionsContainer = new Composite(this, SWT.BORDER); optionsContainer.setLayoutData( new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL)); optionsContainer.setLayout(new GridLayout(2, false)); Label modeLabel = new Label(optionsContainer, SWT.NONE); modeLabel.setText(Messages.ColorMapEditor_ModeLabel); modeCombo = new ComboViewer(optionsContainer, SWT.DROP_DOWN); modeCombo.setContentProvider(ArrayContentProvider.getInstance()); modeCombo.setInput(InterpolationMode.values()); modeCombo.setLabelProvider(new NamedLabelProvider()); modeCombo.setSelection(new StructuredSelection(map.getMode())); final Label modeDescription = new Label(optionsContainer, SWT.WRAP); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 2; gd.horizontalIndent = 10; modeDescription.setLayoutData(gd); modeDescription.setText(map.getMode().getDescription()); modeDescription.setFont(JFaceResources.getFontRegistry().getItalic("default")); //$NON-NLS-1$ modeCombo.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { InterpolationMode newMode = (InterpolationMode) ((IStructuredSelection) event.getSelection()) .getFirstElement(); if (newMode != map.getMode()) { map.setMode(newMode); modeDescription.setText(newMode.getDescription()); } } }); if (hasDataValues) { percentageBasedButton = new Button(optionsContainer, SWT.CHECK); percentageBasedButton.setText(Messages.ColorMapEditor_UsePercentagesLabel); percentageBasedButton.setSelection(map.isPercentageBased()); gd = new GridData(); gd.horizontalSpan = 2; percentageBasedButton.setLayoutData(gd); percentageBasedButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { map.setValuesArePercentages(percentageBasedButton.getSelection(), minDataValue, maxDataValue); } @Override public void widgetDefaultSelected(SelectionEvent e) { map.setValuesArePercentages(percentageBasedButton.getSelection(), minDataValue, maxDataValue); } }); } addEntryEditor(optionsContainer); addAddRemoveButtons(optionsContainer); addEntriesList(optionsContainer); addNodataEditor(optionsContainer); }
From source file:au.gov.ga.earthsci.common.ui.color.ColorMapEditor.java
License:Apache License
private void selectTableEntry(Entry<Double, Color> entry) { if (entry == null) { entriesTable.setSelection(null); return;//from ww w . j a v a2 s . c o m } entriesTable.setSelection(new StructuredSelection(entry)); }
From source file:au.gov.ga.earthsci.common.ui.color.ColorMapEditor.java
License:Apache License
/** * Select the marker at the given coordinate, if one exists *///from w w w.j a v a 2 s . co m private Marker selectMarkerByCoordinate(int x, int y) { Point p = new Point(x, y); Marker result = null; for (Marker m : markers) { m.setSelected(m.contains(p)); if (m.selected) { result = m; entriesTable.setSelection(new StructuredSelection(m.getEntry())); } } return result; }
From source file:au.gov.ga.earthsci.common.ui.preferences.LazyPreferenceDialog.java
License:Apache License
public final void setCurrentPageId(final String preferencePageId) { final IPreferenceNode node = findNodeMatching(preferencePageId); if (node != null) { getTreeViewer().setSelection(new StructuredSelection(node)); showPage(node);/*from www. j a v a 2 s. co m*/ } }
From source file:au.gov.ga.earthsci.discovery.darwin.DarwinURLSelectionDialog.java
License:Apache License
@Override protected Control createDialogArea(Composite parent) { Composite comp = new Composite(parent, SWT.NONE); comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); GridLayout layout = new GridLayout(); layout.marginTop = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); comp.setLayout(layout);//from w w w. j av a 2 s . c o m initializeDialogUnits(comp); viewer = new TableViewer(comp, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); //set max size (actual size is calculated below): gd.widthHint = 600; gd.heightHint = 400; viewer.getTable().setLayoutData(gd); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new LabelProvider()); viewer.setInput(urls); DarwinDiscoveryResultURL longestUrl = urlWithLongestName(urls); if (longestUrl != null) { GC gc = new GC(viewer.getTable()); Point point = gc.textExtent(longestUrl.getName()); gc.dispose(); gd.widthHint = Math.min(gd.widthHint, point.x); } int height = viewer.getTable().getItemHeight() * urls.size() + viewer.getTable().getHeaderHeight(); if (height < gd.heightHint) { //if height of all rows is less than the max height, then use the default height: gd.heightHint = SWT.DEFAULT; } //keep the column width in sync with the table width final TableColumn resultsColumn = new TableColumn(viewer.getTable(), SWT.LEFT); Listener resizeListener = new Listener() { @Override public void handleEvent(Event event) { resultsColumn.setWidth(viewer.getTable().getClientArea().width); } }; viewer.getControl().addListener(SWT.Resize, resizeListener); viewer.getControl().addListener(SWT.Paint, resizeListener); if (selected != null) { viewer.setSelection(new StructuredSelection(selected)); } else if (urls.size() == 1) { viewer.getTable().select(0); } else { //if there is a WMS url, select it by default for (DarwinDiscoveryResultURL url : urls) { if (url.getProtocol().toLowerCase().contains("wms")) //$NON-NLS-1$ { viewer.setSelection(new StructuredSelection(url)); break; } } } viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { validate(); } }); ColumnViewerToolTipSupport.enableFor(viewer); urlLabel = new CLabel(comp, SWT.NONE); urlLabel.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false)); Dialog.applyDialogFont(comp); return comp; }
From source file:au.gov.ga.earthsci.discovery.ui.preferences.DiscoveryServicesPreferencePage.java
License:Apache License
private void editSelected() { IDiscoveryService[] selected = getSelected(); if (selected.length != 1) { return;//w ww . j av a 2 s . c om } IDiscoveryService oldService = selected[0]; EditDiscoveryServiceDialog dialog = new EditDiscoveryServiceDialog(getShell()); dialog.setTitle(Messages.DiscoveryServicesPreferencePage_EditDialogTitle); dialog.setService(oldService); if (dialog.open() == Window.OK) { IDiscoveryService newService = dialog.getService(); if (newService != null) { newService.setEnabled(oldService.isEnabled()); stagingSet.remove(oldService); stagingSet.add(newService); viewer.refresh(); viewer.setSelection(new StructuredSelection(newService)); validateButtons(); } } }
From source file:au.gov.ga.earthsci.layer.ui.LayerTreePart.java
License:Apache License
protected void activateAndSelectElement(final ILayerTreeNode element) { if (!structureViewer.getControl().isDisposed()) { structureViewer.getControl().getDisplay().asyncExec(new Runnable() { @Override// ww w.j a v a 2 s. co m public void run() { MPart part = partService.findPart(PART_ID); if (part != null) { partService.activate(part); structureViewer.setSelection(new StructuredSelection(element), true); tabFolder.setSelection(structureTabItem); } } }); } }