List of usage examples for org.eclipse.jface.viewers TableViewer getTable
public Table getTable()
From source file:com.memtoreclipse.tutorial.jface.viewers.table.adv.Snippet018TableViewerAddRemoveColumnsWithEditing.java
License:Open Source License
private void addMenu(final TableViewer v) { final MenuManager mgr = new MenuManager(); final Action insertEmailBefore = new Action("Insert E-Mail before") { public void run() { addEmailColumn(v, activeColumn); }/*ww w . ja v a2 s .co m*/ }; final Action insertEmailAfter = new Action("Insert E-Mail after") { public void run() { addEmailColumn(v, activeColumn + 1); } }; final Action removeEmail = new Action("Remove E-Mail") { public void run() { removeEmailColumn(v); } }; mgr.setRemoveAllWhenShown(true); mgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { if (v.getTable().getColumnCount() == 2) { manager.add(insertEmailBefore); manager.add(insertEmailAfter); } else { manager.add(removeEmail); } } }); v.getControl().setMenu(mgr.createContextMenu(v.getControl())); }
From source file:com.memtoreclipse.tutorial.jface.viewers.table.adv.Snippet018TableViewerAddRemoveColumnsWithEditing.java
License:Open Source License
private void removeEmailColumn(TableViewer v) { int emailIndex = -1; for (int i = 0; i < v.getColumnProperties().length; i++) { if (v.getColumnProperties()[i].toString().equals("email")) { emailIndex = i;/* ww w . j av a2 s. c om*/ break; } } ArrayList list = new ArrayList(Arrays.asList(v.getCellEditors())); list.remove(emailIndex); CellEditor[] editors = new CellEditor[list.size()]; list.toArray(editors); v.setCellEditors(editors); list = new ArrayList(Arrays.asList(v.getColumnProperties())); list.remove(emailIndex); String[] columnProperties = new String[list.size()]; list.toArray(columnProperties); v.setColumnProperties(columnProperties); v.getTable().getColumn(emailIndex).dispose(); v.refresh(); }
From source file:com.memtoreclipse.tutorial.jface.viewers.table.adv.Snippet018TableViewerAddRemoveColumnsWithEditing.java
License:Open Source License
private void addEmailColumn(TableViewer v, int columnIndex) { ArrayList list = new ArrayList(Arrays.asList(v.getCellEditors())); list.add(columnIndex, new TextCellEditor(v.getTable())); CellEditor[] editors = new CellEditor[list.size()]; list.toArray(editors);// w ww. j av a2 s. co m v.setCellEditors(editors); list = new ArrayList(Arrays.asList(v.getColumnProperties())); list.add(columnIndex, "email"); String[] columnProperties = new String[list.size()]; list.toArray(columnProperties); v.setColumnProperties(columnProperties); // 1. Add new column TableColumn column = new TableColumn(v.getTable(), SWT.NONE, columnIndex); column.setText("E-Mail"); // 2. Update the viewer v.refresh(); // 3. Make the colum visible column.setWidth(200); }
From source file:com.memtoreclipse.tutorial.jface.viewers.table.adv.Snippet040TableViewerSorting.java
License:Open Source License
public Snippet040TableViewerSorting(Shell shell) { TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.setContentProvider(new MyContentProvider()); TableViewerColumn column = new TableViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200);// w ww . jav a2 s. c om column.getColumn().setText("Givenname"); column.getColumn().setMoveable(true); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return ((Person) element).givenname; } }); column.setEditingSupport(new AbstractEditingSupport(v) { protected Object getValue(Object element) { return ((Person) element).givenname; } protected void doSetValue(Object element, Object value) { ((Person) element).givenname = value.toString(); } }); ColumnViewerSorter cSorter = new ColumnViewerSorter(v, column) { protected int doCompare(Viewer viewer, Object e1, Object e2) { Person p1 = (Person) e1; Person p2 = (Person) e2; return p1.givenname.compareToIgnoreCase(p2.givenname); } }; column = new TableViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setText("Surname"); column.getColumn().setMoveable(true); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return ((Person) element).surname; } }); column.setEditingSupport(new AbstractEditingSupport(v) { protected Object getValue(Object element) { return ((Person) element).surname; } protected void doSetValue(Object element, Object value) { ((Person) element).surname = value.toString(); } }); new ColumnViewerSorter(v, column) { protected int doCompare(Viewer viewer, Object e1, Object e2) { Person p1 = (Person) e1; Person p2 = (Person) e2; return p1.surname.compareToIgnoreCase(p2.surname); } }; column = new TableViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setText("E-Mail"); column.getColumn().setMoveable(true); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return ((Person) element).email; } }); column.setEditingSupport(new AbstractEditingSupport(v) { protected Object getValue(Object element) { return ((Person) element).email; } protected void doSetValue(Object element, Object value) { ((Person) element).email = value.toString(); } }); new ColumnViewerSorter(v, column) { protected int doCompare(Viewer viewer, Object e1, Object e2) { Person p1 = (Person) e1; Person p2 = (Person) e2; return p1.email.compareToIgnoreCase(p2.email); } }; Person[] model = createModel(); v.setInput(model); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); cSorter.setSorter(cSorter, ColumnViewerSorter.ASC); }
From source file:com.mercatis.lighthouse3.status.ui.editors.pages.StatusOverviewEditorPage.java
License:Apache License
private void createMenu(TableViewer viewer) { MenuManager menuMgr = new MenuManager("Status", CONTEXT_MENU_ID); getEditor().getSite().registerContextMenu(CONTEXT_MENU_ID, menuMgr, viewer); viewer.getControl().setMenu(menuMgr.getMenu()); Menu contextMenu = menuMgr.createContextMenu(getEditor().getSite().getShell()); viewer.getTable().setMenu(contextMenu); }
From source file:com.microsoft.tfs.client.common.ui.framework.celleditor.accessibility.CellEditorAccessibility.java
License:Open Source License
public static final Point getFocusCellIndex(final TableViewer viewer) { try {//from ww w .j ava2s. co m if (viewer.getColumnViewerEditor() != null) { final ViewerCell focusCell = viewer.getColumnViewerEditor().getFocusCell(); if (focusCell != null) { final int x = focusCell.getColumnIndex(); final int y = viewer.getTable().indexOf((TableItem) focusCell.getItem()); return new Point(x, y); } } } catch (final Exception e) { log.warn("Could not determine cell index", e); //$NON-NLS-1$ } return new Point(-1, -1); }
From source file:com.microsoft.tfs.client.common.ui.framework.helper.TableViewerSorter.java
License:Open Source License
/** * Creates a new {@link TableViewerSorter} for the specified * {@link TableViewer}. The specified {@link Collator} is used. The table * will initially be sorted on the specified column in the specified * direction./*w ww. j av a2 s.c o m*/ * * @param viewer * a {@link TableViewer} to sort (must not be <code>null</code>) * @param collator * a {@link Collator} to use, or <code>null</code> to use a default * {@link Collator} * @param initialColumn * the initial column index to sort on * @param initialDirection * a {@link SortDirection} to initially sort the table, or null to * use the column sort default */ public TableViewerSorter(final TableViewer viewer, final Collator collator, final int initialColumn, final SortDirection initialDirection) { super(collator == null ? Collator.getInstance() : collator); Check.notNull(viewer, "viewer"); //$NON-NLS-1$ this.viewer = viewer; initialSortColumn = initialColumn; initialSortDirection = initialDirection; final TableColumn[] columns = viewer.getTable().getColumns(); for (int i = 0; i < columns.length; i++) { final int columnIndex = i; columns[i].addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { sort(columnIndex); } }); } }
From source file:com.microsoft.tfs.client.common.ui.framework.table.TableViewerUtils.java
License:Open Source License
/** * Creates {@link TableColumn}s for the specified {@link TableViewer} based * on the specified {@link TableColumnData} array. * * @param viewer/*from ww w . jav a 2 s . co m*/ * the {@link TableViewer} to create columns for (must not be * <code>null</code>) * @param headerVisible * <code>true</code> if the {@link Table}'s header should be visible * @param linesVisible * <code>true</code> if the {@link Table}'s lines should be visible * @param persistenceKey * a persistence key used to save and restore column widths, or * <code>null</code> if no column width persistence should be done * @param columnData * the {@link TableColumnData} array that controls the number and * kind of columns that are created (must not be <code>null</code> * and must not contain <code>null</code> elements) */ public static void setupTableViewer(final TableViewer viewer, final boolean headerVisible, final boolean linesVisible, final String persistenceKey, final TableColumnData[] columnData) { Check.notNull(viewer, "viewer"); //$NON-NLS-1$ TableUtils.setupTable(viewer.getTable(), headerVisible, linesVisible, persistenceKey, columnData); final String[] columnProperties = new String[columnData.length]; boolean setColumnProperties = false; for (int i = 0; i < columnData.length; i++) { columnProperties[i] = columnData[i].propertyName; if (columnProperties[i] != null) { setColumnProperties = true; } } if (setColumnProperties) { viewer.setColumnProperties(columnProperties); } }
From source file:com.microsoft.tfs.client.common.ui.helpers.AutomationIDHelper.java
License:Open Source License
/** * Sets the accessible / automation ID for a CheckboxTableViewer. This * actually sets the automation ID on the wrapped table control, so that * users need not have knowledge of the underlying table, and can use * getTableById() methods in swtbot./* w w w. j ava2 s . com*/ * * @param tableViewerControl * Table Viewer Control to name * @param id * Accessible ID/control-name for the widget */ public static void setWidgetID(final TableViewer tableViewerControl, final String id) { Check.notNull(tableViewerControl, "tableViewerControl"); //$NON-NLS-1$ setWidgetID(tableViewerControl.getTable(), id); }
From source file:com.microsoft.tfs.client.common.ui.wit.form.controls.test.TestStepsControl.java
License:Open Source License
/** * Create the steps table./*from w w w . ja v a 2 s. c om*/ * * @param composite * the parent layout composite * @param workItem * the test case work item * * @return the allocated table viewer */ private TableViewer createStepsTable(final Composite composite, final WorkItem workItem) { final TableViewer viewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); GridDataBuilder.newInstance().align(SWT.FILL, SWT.FILL).grab(true, true).span(1, 1).minHeight(75) .applyTo(viewer.getTable()); final Table table = viewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); final TableLayout tableLayout = new TableLayout(); table.setLayout(tableLayout); tableLayout.addColumnData(new ColumnPixelData(60, true)); final TableColumn column1 = new TableColumn(table, SWT.NONE); column1.setImage(TestStepUtil.imageHelper.getImage("images/common/attachment.gif")); //$NON-NLS-1$ column1.setResizable(true); tableLayout.addColumnData(new ColumnWeightData(10, true)); final TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText(Messages.getString("TestStepsControl.ColumnNameAction")); //$NON-NLS-1$ column2.setResizable(true); tableLayout.addColumnData(new ColumnWeightData(8, true)); final TableColumn column3 = new TableColumn(table, SWT.NONE); column3.setText(Messages.getString("TestStepsControl.ColumnNameExpectedResult")); //$NON-NLS-1$ column3.setResizable(true); viewer.setContentProvider(new TestStepContentProvider()); viewer.setLabelProvider(new TestStepLabelProvider()); viewer.setInput(workItem); return viewer; }