Example usage for org.eclipse.jface.viewers TableViewer getTable

List of usage examples for org.eclipse.jface.viewers TableViewer getTable

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewer getTable.

Prototype

public Table getTable() 

Source Link

Document

Returns this table viewer's table control.

Usage

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;
}