List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer
public TableViewer(Composite parent, int style)
From source file:au.gov.ansto.bragg.quokka.ui.workflow.AddConfigDialog.java
License:Open Source License
protected Control createCustomArea(Composite parent) { Composite mainArea = new Composite(parent, SWT.NONE); mainArea.setLayout(new GridLayout(3, false)); Button templateButton = new Button(mainArea, SWT.RADIO); templateButton.setText("From an existing configuration"); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(templateButton); templateButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { tableViewer.getTable().setEnabled(true); isNewConfig = false;/*from w w w . ja v a 2 s .com*/ } }); Label label = new Label(mainArea, SWT.NONE); label.setText(" "); Button newButton = new Button(mainArea, SWT.RADIO); newButton.setText("New an empty configuration"); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(newButton); newButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { tableViewer.getTable().setEnabled(false); isNewConfig = true; } }); tableViewer = new TableViewer(parent, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION | SWT.V_SCROLL); Table table = tableViewer.getTable(); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).hint(800, SWT.DEFAULT).span(3, 1) .applyTo(table); tableViewer.setContentProvider(new ArrayContentProvider()); tableViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof InstrumentConfigTemplate) { InstrumentConfigTemplate template = (InstrumentConfigTemplate) element; if (template.isStandard()) { return "[STANDARD] " + template.getName(); } else { return template.getName() + " - " + template.getDescription(); } } return super.getText(element); } }); tableViewer.setInput(allTemplates.toArray(new InstrumentConfigTemplate[allTemplates.size()])); tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { selectedConfig = (InstrumentConfigTemplate) ((IStructuredSelection) event.getSelection()) .getFirstElement(); // Enable remove button for non standard config if (selectedConfig != null) { removeButton.setEnabled(!selectedConfig.isStandard()); } } }); tableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { // Double click on selection is same as pressing OK (close the dialog) buttonPressed(OK); } }); return mainArea; }
From source file:au.gov.ga.earthsci.application.handlers.ShowViewDialog.java
License:Apache License
@Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); composite.setLayout(new FillLayout()); TableViewer viewer = new TableViewer(composite, SWT.NONE); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new PartLabelProvider()); //TODO this part collection is simply a list of parts that have been shown before //need to improve this collection so that it removes duplicates, and also contains //parts that are registered but have never been displayed viewer.setInput(application.getDescriptors()); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override// w ww .j a v a 2s . com public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); selection = new MPartDescriptor[s.size()]; Iterator<?> iterator = s.iterator(); for (int i = 0; iterator.hasNext(); i++) { MPartDescriptor part = (MPartDescriptor) iterator.next(); selection[i++] = part; } } }); return composite; }
From source file:au.gov.ga.earthsci.application.parts.retrieve.RetrievePart.java
License:Apache License
@Inject public void init(Composite parent, MPart part) { Color listBackground = parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND); downloadBackgroundColor = SWTUtil.shouldDarken(listBackground) ? SWTUtil.darker(listBackground) : SWTUtil.lighter(listBackground); retrievalService.addListener(this); viewer = new TableViewer(parent, SWT.V_SCROLL); viewer.setContentProvider(ArrayContentProvider.getInstance()); viewer.setInput(retrievals);/*from w w w .j a va2 s. c o m*/ viewer.getTable().setLinesVisible(true); viewer.getTable().setHeaderVisible(true); /*viewer.setSorter(new ViewerSorter() { @Override public int category(Object element) { return ((JobInfo) element).job.getState(); } @Override public int compare(Viewer viewer, Object e1, Object e2) { return ((JobInfo) e1).job.getPriority() - ((JobInfo) e2).job.getPriority(); } }); viewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return ((JobInfo) element).job.getState() != Job.SLEEPING; } });*/ createColumns(); }
From source file:au.gov.ga.earthsci.bookmark.part.BookmarksPart.java
License:Apache License
private void initList(Composite parent) { Composite tableHolder = new Composite(parent, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true;/*from w w w . j a v a 2 s. c om*/ gd.horizontalAlignment = GridData.FILL; tableHolder.setLayoutData(gd); TableColumnLayout layout = new TableColumnLayout(); tableHolder.setLayout(layout); bookmarkListTableViewer = new TableViewer(tableHolder, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); bookmarkListTableViewer.getTable().setHeaderVisible(false); bookmarkListTableViewer.getTable().setLinesVisible(false); bookmarkListTableViewer.getTable().setLayoutData(gd); ObservableListContentProvider contentProvider = new ObservableListContentProvider(); bookmarkListTableViewer.setContentProvider(contentProvider); IObservableMap labelMap = BeanProperties.value("name").observeDetail(contentProvider.getKnownElements()); //$NON-NLS-1$ TableViewerColumn column = new TableViewerColumn(bookmarkListTableViewer, SWT.LEFT); column.setEditingSupport(new BookmarkNameEditingSupport(bookmarkListTableViewer)); column.setLabelProvider(new ObservableMapCellLabelProvider(labelMap) { @Override public void update(ViewerCell cell) { super.update(cell); cell.setText(" " + ((IBookmark) cell.getElement()).getName()); //$NON-NLS-1$ cell.setImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_BOOKMARKS)); } }); ColumnLayoutData cld = new ColumnWeightData(12); layout.setColumnData(column.getColumn(), cld); // Allow edit (rename) only via programmatic access (rename command) ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( bookmarkListTableViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(bookmarkListTableViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); // Populate the current selection with the actual bookmark items bookmarkListTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) bookmarkListTableViewer.getSelection(); List<?> list = selection.toList(); selectionService.setSelection(list.toArray(new IBookmark[list.size()])); } }); // Apply the bookmark on double click bookmarkListTableViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { controller.apply((IBookmark) ((IStructuredSelection) event.getSelection()).getFirstElement()); } }); // Deselect when clicking outside a valid row bookmarkListTableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (bookmarkListTableViewer.getTable().getItem(new Point(e.x, e.y)) == null) { bookmarkListTableViewer.setSelection(null); } } }); }
From source file:au.gov.ga.earthsci.bookmark.ui.BookmarksPart.java
License:Apache License
private void initList(Composite parent) { Composite tableHolder = new Composite(parent, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true;/*from w w w . jav a2s . c o m*/ gd.horizontalAlignment = GridData.FILL; tableHolder.setLayoutData(gd); TableColumnLayout layout = new TableColumnLayout(); tableHolder.setLayout(layout); bookmarkListTableViewer = new TableViewer(tableHolder, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); bookmarkListTableViewer.getTable().setHeaderVisible(false); bookmarkListTableViewer.getTable().setLinesVisible(false); bookmarkListTableViewer.getTable().setLayoutData(gd); ObservableListContentProvider<IBookmark> contentProvider = new ObservableListContentProvider<IBookmark>( IBookmark.class); bookmarkListTableViewer.setContentProvider(contentProvider); IObservableSet<IBookmark> knownElements = contentProvider.getKnownElements(); IObservableMap<IBookmark, String> nameMap = BeanProperties.value(IBookmark.class, "name", String.class) //$NON-NLS-1$ .observeDetail(knownElements); TableViewerColumn column = new TableViewerColumn(bookmarkListTableViewer, SWT.LEFT); column.setEditingSupport(new BookmarkNameEditingSupport(bookmarkListTableViewer)); column.setLabelProvider(new ObservableMapCellLabelProvider<IBookmark, String>(nameMap) { @Override public void update(ViewerCell cell) { super.update(cell); cell.setText(" " + ((IBookmark) cell.getElement()).getName()); //$NON-NLS-1$ cell.setImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_BOOKMARKS)); } }); ColumnLayoutData cld = new ColumnWeightData(12); layout.setColumnData(column.getColumn(), cld); // Allow edit (rename) only via programmatic access (rename command) ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( bookmarkListTableViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(bookmarkListTableViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); // Populate the current selection with the actual bookmark items bookmarkListTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) bookmarkListTableViewer.getSelection(); List<?> list = selection.toList(); selectionService.setSelection(list.toArray(new IBookmark[list.size()])); } }); // Apply the bookmark on double click bookmarkListTableViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { controller.apply((IBookmark) ((IStructuredSelection) event.getSelection()).getFirstElement()); } }); // Deselect when clicking outside a valid row bookmarkListTableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (bookmarkListTableViewer.getTable().getItem(new Point(e.x, e.y)) == null) { bookmarkListTableViewer.setSelection(null); } } }); }
From source file:au.gov.ga.earthsci.common.ui.color.ColorMapEditor.java
License:Apache License
private void addEntriesList(Composite parent) { Composite tableContainer = new Composite(parent, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.horizontalSpan = 2;// w w w. j a v a 2s. c o m tableContainer.setLayoutData(gd); TableColumnLayout layout = new TableColumnLayout(); tableContainer.setLayout(layout); // Not sure why, but columns and column label providers only work when SWT.VIRTUAL is used entriesTable = new TableViewer(tableContainer, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL); entriesTable.setContentProvider(ArrayContentProvider.getInstance()); entriesTable.getTable().setHeaderVisible(true); entriesTable.getTable().setLinesVisible(true); entriesTable.setInput(map.getEntries().entrySet()); TableViewerColumn valueColumn = new TableViewerColumn(entriesTable, SWT.NONE); valueColumn.getColumn().setText(Messages.ColorMapEditor_TableValueColumnLabel); valueColumn.setLabelProvider(new ColumnLabelProvider() { @SuppressWarnings("unchecked") @Override public String getText(Object element) { Double value = ((Entry<Double, Color>) element).getKey(); String result = "" + value; //$NON-NLS-1$ if (map.isPercentageBased()) { result += " (" + (int) (value * 100) + "%)"; //$NON-NLS-1$ //$NON-NLS-2$ } return result; } }); layout.setColumnData(valueColumn.getColumn(), new ColumnPixelData(80, false)); TableViewerColumn colorNameColumn = new TableViewerColumn(entriesTable, SWT.NONE); colorNameColumn.getColumn().setText(Messages.ColorMapEditor_TableColorColumnLabel); colorNameColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Color color = getColorFromElement(element); return "RGBA(" + color.getRed() + ", " //$NON-NLS-1$ //$NON-NLS-2$ + color.getGreen() + ", " //$NON-NLS-1$ + color.getBlue() + ", " //$NON-NLS-1$ + color.getAlpha() + ")"; //$NON-NLS-1$ } @Override public String getToolTipText(Object element) { return "#" + getColorKey(getColorFromElement(element)); //$NON-NLS-1$ } @SuppressWarnings("unchecked") private Color getColorFromElement(Object element) { return ((Entry<Double, Color>) element).getValue(); } private String getColorKey(Color color) { return Integer.toHexString(color.getRGB()); } }); layout.setColumnData(colorNameColumn.getColumn(), new ColumnWeightData(100, false)); ColumnViewerToolTipSupport.enableFor(entriesTable, ToolTip.NO_RECREATE); }
From source file:au.gov.ga.earthsci.common.ui.dialogs.SpatialReferenceSelectorDialog.java
License:Apache License
private void addReferencesTableViewer(Composite container) { Composite tableContainer = new Composite(container, SWT.NONE); tableContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); TableColumnLayout tableColumnLayout = new TableColumnLayout(); tableContainer.setLayout(tableColumnLayout); referencesView = new TableViewer(tableContainer, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.SINGLE | SWT.VIRTUAL | SWT.FULL_SELECTION); referencesView.setContentProvider(ArrayContentProvider.getInstance()); referencesView.setInput(SpatialReferences.get()); referencesView.getTable().setLinesVisible(true); referencesView.getTable().setHeaderVisible(true); TableViewerColumn epsgColumn = new TableViewerColumn(referencesView, SWT.NONE); epsgColumn.getColumn().setText(Messages.getString("SpatialReferenceSelectorDialog.CodeColumnTitle")); //$NON-NLS-1$ tableColumnLayout.setColumnData(epsgColumn.getColumn(), new ColumnPixelData(80)); epsgColumn.setLabelProvider(new ColumnLabelProvider() { @Override/*from w w w. j a va 2 s. co m*/ public String getText(Object element) { return ((SpatialReferenceSummary) element).getEpsg(); } }); TableViewerColumn nameColumn = new TableViewerColumn(referencesView, SWT.NONE); nameColumn.getColumn().setText(Messages.getString("SpatialReferenceSelectorDialog.NameColumnTitle")); //$NON-NLS-1$ tableColumnLayout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(100)); nameColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((SpatialReferenceSummary) element).getName(); } }); }
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 www .jav a 2s . c om 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.DiscoveryPart.java
License:Apache License
@PostConstruct public void init(final Composite parent, final MPart part) { context.set(DiscoveryPart.class, this); viewOnGlobe = ViewOnGlobeHandler.isViewOnGlobe(part); parent.setLayout(new GridLayout(1, true)); Composite searchComposite = new Composite(parent, SWT.NONE); searchComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); searchComposite.setLayout(createGridLayout(2, 0)); searchText = new Text(searchComposite, SWT.SEARCH); searchText.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); searchText.setMessage(Messages.DiscoveryPart_SearchPlaceholder); searchText.addTraverseListener(new TraverseListener() { @Override/*from w ww .j av a2 s.c o m*/ public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN) { performSearch(); } } }); searchButton = new Button(searchComposite, SWT.PUSH); searchButton.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false)); searchButton.setText(Messages.DiscoveryPart_Search); searchButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { performSearch(); } }); searchText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { searchButton.setEnabled(searchText.getText().length() != 0); } }); searchButton.setEnabled(false); Composite resultsRootComposite = new Composite(parent, SWT.NONE); resultsRootComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); resultsRootComposite.setLayout(createGridLayout(1, 0)); resultsSashForm = new SashForm(resultsRootComposite, SWT.VERTICAL | SWT.SMOOTH); resultsSashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); discoveriesViewer = new TableViewer(resultsSashForm, SWT.BORDER); discoveriesViewer.setContentProvider(new ArrayContentProvider()); discoveriesViewer.setLabelProvider(new DiscoveryLabelProvider()); discoveriesViewer.setComparator(new DiscoveryComparator()); resultsComposite = new Composite(resultsSashForm, SWT.NONE); resultsComposite.setLayout(createGridLayout(1, 0)); resultsViewerComposite = new Composite(resultsComposite, SWT.NONE); resultsViewerComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); resultsViewerComposite.setLayout(new FillLayout()); createResultsViewer(); pageLinks = new PageLinks(resultsComposite, SWT.NONE); pageLinks.setPageCount(20); pageLinks.setSelectedPage(4); pageLinks.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false)); pageLinks.addPageListener(this); pageLinks.setVisible(false); ((GridData) pageLinks.getLayoutData()).exclude = true; resultsSashForm.setWeights(new int[] { 2, 8 }); new TableViewerSelectionHelper<IDiscovery>(discoveriesViewer, IDiscovery.class) { @Override protected void itemSelected(IDiscovery selection) { discoverySelected(selection); } @Override protected void itemDefaultSelected(IDiscovery selection) { discoveryDefaultSelected(selection); } }; }
From source file:au.gov.ga.earthsci.discovery.ui.DiscoveryPart.java
License:Apache License
private void createResultsViewer() { if (resultsViewer != null) { resultsViewer.getControl().dispose(); }/* ww w .j a va 2 s . co m*/ resultsViewer = new TableViewer(resultsViewerComposite, SWT.BORDER | SWT.FULL_SELECTION); resultsViewer.setContentProvider(discoveryContentProvider); resultsViewer.getTable().setLinesVisible(true); resultsViewerComposite.layout(); //keep the column width in sync with the table width final TableColumn resultsColumn = new TableColumn(resultsViewer.getTable(), SWT.LEFT); Listener resizeListener = new Listener() { @Override public void handleEvent(Event event) { resultsColumn.setWidth(resultsViewer.getTable().getClientArea().width); } }; resultsViewer.getControl().addListener(SWT.Resize, resizeListener); resultsViewer.getControl().addListener(SWT.Paint, resizeListener); new TableViewerSelectionHelper<IDiscoveryResult>(resultsViewer, IDiscoveryResult.class) { @Override protected void itemSelected(IDiscoveryResult selection) { resultSelected(selection); } @Override protected void itemDefaultSelected(IDiscoveryResult selection) { resultDefaultSelected(selection); } }; resultsViewer.getTable().addMouseMoveListener(new MouseMoveListener() { @Override public void mouseMove(MouseEvent e) { IDiscoveryResult result = null; ViewerCell cell = resultsViewer.getCell(new Point(e.x, e.y)); if (cell != null) { result = (IDiscoveryResult) cell.getElement(); } resultMouseOver(result); } }); resultsViewer.getTable().addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseExit(MouseEvent e) { resultMouseOver(null); } }); }