List of usage examples for org.eclipse.jface.viewers ITableLabelProvider getColumnText
public String getColumnText(Object element, int columnIndex);
From source file:org.eclipse.wst.sse.ui.preferences.CodeAssistCyclingConfigurationBlock.java
License:Open Source License
private void createOwnPageViewer(Composite composite) { fOwnPageViewer = CheckboxTableViewer.newCheckList(composite, SWT.SINGLE | SWT.BORDER); Table table = fOwnPageViewer.getTable(); table.setHeaderVisible(true);//from w ww . j ava 2 s .com table.setLinesVisible(false); table.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 1, 1)); TableColumn nameColumn = new TableColumn(table, SWT.NONE); nameColumn.setText(SSEUIMessages.CodeAssistAdvancedConfigurationBlock_separate_table_category_column_title); nameColumn.setResizable(false); fOwnPageViewer.setContentProvider(new ArrayContentProvider()); ITableLabelProvider labelProvider = new OwnPageTableLabelProvider(); fOwnPageViewer.setLabelProvider(labelProvider); fOwnPageViewer.setInput(fModel.pageElements); fOwnPageViewer.setComparator(new ModelViewerComparator(fCategoryPageComparator)); final int ICON_AND_CHECKBOX_WITH = 50; final int HEADER_MARGIN = 20; int minNameWidth = computeWidth(table, nameColumn.getText()) + HEADER_MARGIN; for (int i = 0; i < fModel.pageElements.size(); i++) { minNameWidth = Math.max(minNameWidth, computeWidth(table, labelProvider.getColumnText(fModel.pageElements.get(i), 0)) + ICON_AND_CHECKBOX_WITH); } nameColumn.setWidth(minNameWidth); fOwnPageViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { boolean checked = event.getChecked(); ModelElement element = (ModelElement) event.getElement(); element.setShouldDisplayOnOwnPage(checked); } }); table.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { handleOwnPageTableSelection(); } }); }
From source file:org.eclipselabs.changelog.ChangeLogView.java
License:Open Source License
protected void copyToClipBoard(boolean all) { FileEntry[] entries;//ww w . j a v a2 s . c om if (all) { Collection<?> input = (Collection<?>) filesTreeViewer.getInput(); entries = input.toArray(new FileEntry[input.size()]); } else { List<FileEntry> list = ((IStructuredSelection) filesTreeViewer.getSelection()).toList(); entries = list.toArray(new FileEntry[list.size()]); } // ordena conforme a ordenao do usurio filesTreeViewer.getSorter().sort(filesTreeViewer, entries); // pega o mesmo label visvel para o usurio ITableLabelProvider labelProvider = (ITableLabelProvider) filesTreeViewer.getLabelProvider(); StringWriter buf = new StringWriter(); PrintWriter writer = new PrintWriter(buf); for (FileEntry file : entries) { writer.print(labelProvider.getColumnText(file, 0)); writer.print(FILE_REVISION_SEPARATOR); writer.println(file.getRevision()); } Clipboard clipboard = new Clipboard(getSite().getShell().getDisplay()); clipboard.setContents(new Object[] { buf.getBuffer().toString() }, new Transfer[] { TextTransfer.getInstance() }); clipboard.dispose(); }
From source file:org.eclipselabs.changelog.ChangeLogView.java
License:Open Source License
private void updateFilesText(Collection<FileEntry> files) { StringBuilder buf = new StringBuilder(); ITableLabelProvider labelProvider = (ITableLabelProvider) filesTreeViewer.getLabelProvider(); for (FileEntry file : files) { buf.append(labelProvider.getColumnText(file, 0)); buf.append(FILE_REVISION_SEPARATOR); buf.append(file.getRevision());//from w w w . ja v a 2 s .com buf.append("\n"); } filesTextViewer.getDocument().set(buf.toString()); }
From source file:org.jboss.tools.deltacloud.ui.views.cloudelements.TableViewerColumnComparator.java
License:Open Source License
private int compareByColumn(Viewer viewer, Object e1, Object e2) { Assert.isTrue(viewer instanceof TableViewer && ((TableViewer) viewer).getLabelProvider() instanceof ITableLabelProvider); ITableLabelProvider provider = (ITableLabelProvider) ((TableViewer) viewer).getLabelProvider(); String s1 = provider.getColumnText(e1, column); String s2 = provider.getColumnText(e2, column); return s1.compareToIgnoreCase(s2); }
From source file:org.kalypso.ogc.gml.table.LayerTableViewer.java
License:Open Source License
public String[][] exportTable(final boolean onlySelected) { Object[] features;//from ww w. jav a2 s. c o m if (onlySelected) { final IStructuredSelection sel = (IStructuredSelection) getSelection(); features = sel.toArray(); } else { final IFeaturesProvider featuresProvider = getInput(); if (featuresProvider == null) return new String[0][]; features = featuresProvider.getFeatureList().toFeatures(); } final Collection<String[]> lines = new ArrayList<>(); final ITableLabelProvider labelProvider = (ITableLabelProvider) getLabelProvider(); final Table table = getTable(); final TableColumn[] columns = table.getColumns(); final String[] firstLine = new String[columns.length]; for (int j = 0; j < columns.length; j++) firstLine[j] = columns[j].getText(); lines.add(firstLine); for (final Object element : features) { final String[] line = new String[columns.length]; for (int j = 0; j < columns.length; j++) line[j] = labelProvider.getColumnText(element, j); lines.add(line); } return lines.toArray(new String[features.length][]); }
From source file:org.key_project.util.eclipse.swt.SWTUtil.java
License:Open Source License
/** * <p>//from w w w.ja va 2s .co m * Makes the columns in the given {@link TableViewer} sortable. * </p> * <p> * <b>Attention:</b> It is required to call this method once after * the {@link TableViewer} is filled with the available columns. * </p> * @param viewer The {@link TableViewer} to make his columns sortable. */ public static void makeTableColumnsSortable(final TableViewer viewer) { if (viewer != null && !viewer.getTable().isDisposed()) { final Table table = viewer.getTable(); Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = table.getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = table.getSortDirection(); if (sortColumn == currentColumn) { if (dir == SWT.UP) { dir = SWT.DOWN; } else if (dir == SWT.DOWN) { dir = SWT.NONE; } else { dir = SWT.UP; } } else { table.setSortColumn(currentColumn); dir = SWT.UP; } table.setSortDirection(dir); final int columnIndex = table.indexOf(currentColumn); final int sortDirection = dir; // sort the data based on column and direction viewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewerComp, Object e1, Object e2) { if (sortDirection == SWT.UP || sortDirection == SWT.DOWN) { Assert.isTrue(viewer.getLabelProvider() instanceof ITableLabelProvider); ITableLabelProvider provider = (ITableLabelProvider) viewer.getLabelProvider(); String e1value = provider.getColumnText(e1, columnIndex); String e2value = provider.getColumnText(e2, columnIndex); int comparison = e1value.compareTo(e2value); if (sortDirection == SWT.UP) { return comparison; } else { return comparison * -1; } } else { return 0; // Original order. } } }); } }; TableColumn[] columns = table.getColumns(); for (TableColumn column : columns) { column.addListener(SWT.Selection, sortListener); } } }
From source file:org.multicore_association.shim.edit.gui.swt.viewer.ShimObjectTableFilter.java
License:MIT License
/** * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, * java.lang.Object, java.lang.Object) *///from w w w. j av a2 s . co m @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (searchString == null || searchString.isEmpty()) { return true; } List<Integer> searchIndexes = new ArrayList<Integer>(); TableViewer tableViewer = (TableViewer) viewer; TableColumn[] columns = tableViewer.getTable().getColumns(); for (int i = 0; i < columns.length; i++) { if (searchFiled != null && !searchFiled.equals(columns[i].getText())) { continue; } searchIndexes.add(i); } ITableLabelProvider labelProvider = (ITableLabelProvider) tableViewer.getLabelProvider(); ShimObject obj = (ShimObject) element; for (Integer searchIndex : searchIndexes) { String columnText = labelProvider.getColumnText(obj, searchIndex); if (isMatch(columnText)) { return true; } } return false; }
From source file:org.netxms.ui.eclipse.objectmanager.propertypages.helpers.AccessListComparator.java
License:Open Source License
@Override public int compare(Viewer viewer, Object e1, Object e2) { ITableLabelProvider lp = (ITableLabelProvider) ((SortableTableViewer) viewer).getLabelProvider(); int column = (Integer) ((SortableTableViewer) viewer).getTable().getSortColumn().getData("ID"); //$NON-NLS-1$ String text1 = lp.getColumnText(e1, column); String text2 = lp.getColumnText(e2, column); if (text1 == null) text1 = ""; //$NON-NLS-1$ if (text2 == null) text2 = ""; //$NON-NLS-1$ int result = text1.compareToIgnoreCase(text2); return (((SortableTableViewer) viewer).getTable().getSortDirection() == SWT.UP) ? result : -result; }
From source file:org.nightlabs.base.ui.table.GenericInvertViewerSorter.java
License:Open Source License
@SuppressWarnings("unchecked") //$NON-NLS-1$ public int compare(Viewer viewer, Object e1, Object e2, int columnIndex) { int cat1 = category(e1); int cat2 = category(e2); if (cat1 != cat2) { return cat1 - cat2; }//from ww w. j a v a 2 s .co m Comparable comp1 = null; Comparable comp2 = null; if (viewer == null || !(viewer instanceof ContentViewer)) { comp1 = e1.toString(); comp2 = e2.toString(); } else { ContentViewer contentViewer = (ContentViewer) viewer; IBaseLabelProvider prov = ((ContentViewer) viewer).getLabelProvider(); if (prov instanceof IColumnComparatorProvider) { IColumnComparatorProvider cprov = (IColumnComparatorProvider) prov; // comp1 = cprov.getColumnComparable(e1, columnIndex); // comp2 = cprov.getColumnComparable(e2, columnIndex); Comparator comparator = cprov.getColumnComparator(e1, columnIndex); if (comparator != null) { return comparator.compare(e1, e2); } } if (prov instanceof ITableLabelProvider) { ITableLabelProvider lprov = (ITableLabelProvider) prov; comp1 = lprov.getColumnText(e1, columnIndex); comp2 = lprov.getColumnText(e2, columnIndex); } // handle special case of ColumnViewers and new Eclipse 3.3 API // (e.g. TableViewerColumn#setLabelProvider(ColumnLabelProvider)) else if (contentViewer instanceof ColumnViewer) { final ColumnViewer columnViewer = (ColumnViewer) contentViewer; // this always returns a result even if no ColumnLabelProvider was set for a column // then getText() just returns element.toString(), therefore the check for ColumnLabelProvider // should be quite at the end and definitely after the check for ITabelLabelProvider CellLabelProvider lprov = columnViewer.getLabelProvider(columnIndex); if (lprov != null && (lprov instanceof ColumnLabelProvider)) { final ColumnLabelProvider clprov = (ColumnLabelProvider) lprov; comp1 = clprov.getText(e1); comp2 = clprov.getText(e2); } else if (lprov != null && lprov instanceof ColumnSpanLabelProvider) { ColumnSpanLabelProvider cslp = (ColumnSpanLabelProvider) lprov; comp1 = cslp.getColumnText(e1, columnIndex); comp2 = cslp.getColumnText(e2, columnIndex); } else { comp1 = e1.toString(); comp2 = e2.toString(); } } else if (prov instanceof ILabelProvider) { ILabelProvider lprov = (ILabelProvider) prov; comp1 = lprov.getText(e1); comp2 = lprov.getText(e2); } else { comp1 = e1.toString(); comp2 = e2.toString(); } } if (comp1 == null) { return comp2 != null ? -1 : 0; } if (comp2 == null) { return comp1 != null ? 1 : 0; } if (comp1 instanceof String && comp2 instanceof String) { return collator.compare(comp1, comp2); } return comp1.compareTo(comp2); }
From source file:org.seasar.uruma.viewer.AbstractGenericColumnViewerComparator.java
License:Apache License
/** * ????<br />/*w w w . ja v a2 s . c om*/ * ????????????<br /> * * @param viewer * {@link ColumnViewer} * @param e1 * 1 * @param e2 * 2 * @param sortColumn * ?? * @return ? */ protected int doCompare(final ColumnViewer viewer, final Object e1, final Object e2, final int sortColumn) { IBaseLabelProvider baseLabelProvider = viewer.getLabelProvider(); String value1 = ""; String value2 = ""; if (baseLabelProvider instanceof ITableLabelProvider) { ITableLabelProvider prov = (ITableLabelProvider) baseLabelProvider; value1 = prov.getColumnText(e1, sortColumn); value2 = prov.getColumnText(e2, sortColumn); } else { value1 = e1.toString(); value2 = e2.toString(); } if (value1 == null) { value1 = ""; } if (value2 == null) { value2 = ""; } return getComparator().compare(value1, value2); }