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.microsoft.tfs.client.common.ui.wit.form.controls.test.TestStepsControl.java

License:Open Source License

/**
 * Create the parameter data table. The table is collapsed if there are no
 * columns defined in the work item.// w w  w .  j  a v  a  2s  . c  om
 *
 * @param parent
 *        The parent layout composite.
 * @param workItem
 *        The test case work item.
 *
 * @return The allocated table viewer
 */
private TableViewer createDataTable(final Composite parent, final WorkItem workItem) {
    final Label label = new Label(parent, SWT.NONE);
    label.setText(Messages.getString("TestStepsControl.ParameterValuesLabelText")); //$NON-NLS-1$

    final TableViewer dataViewer = new TableViewer(parent, SWT.BORDER | SWT.FULL_SELECTION);
    final Table dataTable = dataViewer.getTable();
    GridDataBuilder.newInstance().align(SWT.FILL, SWT.FILL).grab(true, true).span(1, 1).minHeight(75)
            .applyTo(dataTable);

    dataTable.setHeaderVisible(true);
    dataTable.setLinesVisible(true);
    final TableLayout layout = new TableLayout();
    dataTable.setLayout(layout);

    final ParamDataTable[] paramDataTables = getParamDataTables();
    if (paramDataTables.length > 0) {
        sash.setMaximizedControl(null);
        updateDataTableColumns(dataViewer, paramDataTables[0].getColumnNames());
    } else {
        sash.setMaximizedControl(stepsTable.getTable());
    }

    dataViewer.setContentProvider(new ParamDataContentProvider());
    dataViewer.setLabelProvider(new ParamDataLabelProvider());
    dataViewer.setInput(workItem);

    return dataViewer;
}

From source file:com.microsoft.tfs.client.common.ui.wit.form.controls.test.TestStepsControl.java

License:Open Source License

/**
 * Compare the existing set of columns with the specified defined set of
 * column names. Do nothing if they are the same. If they differ, delete any
 * existing columns from the parameter table and allocate new columns.
 *
 * @param tableViewer/*from   w  w  w  . j  a  va 2s . co  m*/
 *        the parameter data table viewer.
 * @param definedColumnNames
 *        the current set of column names contained in the work item.
 */
private void updateDataTableColumns(final TableViewer tableViewer, final String[] definedColumnNames) {
    // Retrieve the names of the existing columns.
    final HashSet<String> existingColumnNames = new HashSet<String>();
    for (final TableColumn column : tableViewer.getTable().getColumns()) {
        existingColumnNames.add(column.getText());
    }

    // Check for a new column in the specified defined columns.
    boolean hasNewColumn = false;
    for (final String columnName : definedColumnNames) {
        if (existingColumnNames.contains(columnName)) {
            existingColumnNames.remove(columnName);
        } else {
            hasNewColumn = true;
            break;
        }
    }

    // Don't create new columns if the column set did not change.
    if (hasNewColumn || existingColumnNames.size() > 0) {
        // Dispose of the old columns.
        while (tableViewer.getTable().getColumns().length > 0) {
            tableViewer.getTable().getColumns()[0].dispose();
        }

        // Allocate a new column layout.
        final TableLayout layout = new TableLayout();
        tableViewer.getTable().setLayout(layout);

        // Allocate the new columns.
        for (final String columnName : definedColumnNames) {
            final TableColumn column = new TableColumn(tableViewer.getTable(), SWT.None);
            column.setText(columnName);
            layout.addColumnData(new ColumnWeightData(5, true));
        }

        // Size the new column layout.
        for (final TableColumn column : tableViewer.getTable().getColumns()) {
            column.pack();
        }

        tableViewer.refresh();
    }
}

From source file:com.microsoft.tfs.client.common.ui.wit.qe.QueryEditorControl.java

License:Open Source License

private void setupTableViewer(final TableViewer viewer, final Project project,
        final QEQueryRowCollection rowCollection) {
    final Table table = viewer.getTable();
    table.setHeaderVisible(true);//ww w. j  a v  a 2 s.co  m
    table.setLinesVisible(true);
    createColumns(table);

    /* Pad table height by four pixels to increase readability */
    final int extraTableHeight = 4;

    table.addListener(/* SWT.MeasureItem */41, new MeasureItemHeightListener(extraTableHeight));

    viewer.setLabelProvider(SafeLabelProvider
            .wrap(new LabelProvider(rowCollection, table.getItemHeight() + extraTableHeight, getDisplay())));
    viewer.setContentProvider(new ContentProvider());

    viewer.setColumnProperties(getColumnProperties());

    final QueryEditorCellModifier cellModifier = new QueryEditorCellModifier(rowCollection, project, viewer);
    viewer.setCellModifier(cellModifier);

    viewer.setCellEditors(new CellEditor[] { null, null, new ComboBoxCellEditor(table, new String[] {}),
            new ComboBoxCellEditor(table, new String[] {}), new ComboBoxCellEditor(table, new String[] {}),
            new ComboBoxCellEditor(table, new String[] {}) });

    cellModifier.hookCellEditors();

    CellEditorAccessibilityHelper.setupAccessibleCellEditors(viewer);

    table.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            selectConsecutiveRows(table);
        }
    });

    table.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(final MouseEvent e) {
            final Table table = (Table) e.widget;
            final TableItem lastTableItem = table.getItem(table.getItemCount() - 1);
            if (lastTableItem.getBounds(1).contains(e.x, e.y)) {
                addRowPressed(viewer, rowCollection);
            }
        }
    });

    table.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(final KeyEvent e) {
            if (e.keyCode != SWT.CR && e.keyCode != ' ') {
                return;
            }

            final Point index = CellEditorAccessibilityHelper.getFocusCellIndex(viewer);

            if (index.x == columnIndexOf(ADD_ROW_COLUMN) && index.y == table.getItemCount() - 1) {
                addRowPressed(viewer, rowCollection);
            }
        }
    });

    menuManager = new MenuManager("#popup"); //$NON-NLS-1$
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(final IMenuManager manager) {
            fillContextMenu(manager);
        }
    });

    table.setMenu(menuManager.createContextMenu(table));
}

From source file:com.microsoft.tfs.client.common.ui.wit.qe.QueryEditorControl.java

License:Open Source License

public IAction getAction(final String actionId) {
    if (!ActionFactory.DELETE.getId().equals(actionId)) {
        return null;
    }/*w ww .j a v a 2s.c o  m*/

    final TableViewer tableViewer = getFocusedTableViewer();
    if (tableViewer == null) {
        return null;
    }

    if (tableViewer.getTable().getSelectionCount() == 0) {
        return null;
    }

    return deleteAction;
}

From source file:com.microsoft.tfs.client.common.ui.wit.qe.QueryEditorControl.java

License:Open Source License

private void createActions() {
    insertAction = new Action() {
        @Override//from  w  w  w  .j a  va2  s  . co  m
        public void run() {
            final TableViewer tableViewer = getFocusedTableViewer();
            final int[] boundaries = getSelectedRowBoundaries(tableViewer.getTable());
            final QEQueryRowCollection rows = getRowCollection(tableViewer);

            int addAtIndex;
            if (boundaries == null) {
                addAtIndex = rows.getRowCount();
            } else {
                addAtIndex = boundaries[boundaries.length - 1];
            }

            addNewRow(addAtIndex, tableViewer);
        }
    };
    insertAction.setText(Messages.getString("QueryEditorControl.InsertActionText")); //$NON-NLS-1$
    insertAction.setImageDescriptor(imageHelper.getImageDescriptor("images/wit/insert_clause.gif")); //$NON-NLS-1$

    deleteAction = new Action() {
        @Override
        public void run() {
            /*
             * See:
             * Microsoft.TeamFoundation.WorkItemTracking.Controls.FilterGrid
             * .DeleteSelectedClause()
             */

            final TableViewer tableViewer = getFocusedTableViewer();
            final Object[] selection = ((IStructuredSelection) tableViewer.getSelection()).toArray();
            final QEQueryRowCollection rows = getRowCollection(tableViewer);

            for (int i = 0; i < selection.length; i++) {
                rows.deleteRow((QEQueryRow) selection[i]);
            }

            if (rows.getRowCount() == 0) {
                /*
                 * We deleted all the rows. Add a new one at the beginning.
                 */
                addNewRow(0, tableViewer);
            } else {
                if (rows.getRowCount() > 0) {
                    /*
                     * ensure that the first row never has a logical
                     * operator set
                     */
                    rows.getRow(0).setLogicalOperator(""); //$NON-NLS-1$
                }

                refresh(tableViewer);
            }
        }
    };
    deleteAction.setText(Messages.getString("QueryEditorControl.DeleteClauseActionText")); //$NON-NLS-1$
    deleteAction.setImageDescriptor(imageHelper.getImageDescriptor("images/wit/delete_clause.gif")); //$NON-NLS-1$

    groupAction = new Action() {
        @Override
        public void run() {
            final TableViewer tableViewer = getFocusedTableViewer();
            final int[] boundaries = getSelectedRowBoundaries(tableViewer.getTable());
            getRowCollection(tableViewer).getGrouping().addGrouping(boundaries[0], boundaries[1]);
            refresh(tableViewer);
        }
    };
    groupAction.setText(Messages.getString("QueryEditorControl.GroupClauseActionText")); //$NON-NLS-1$
    groupAction.setImageDescriptor(imageHelper.getImageDescriptor("images/wit/group_clause.gif")); //$NON-NLS-1$

    ungroupAction = new Action() {
        @Override
        public void run() {
            final TableViewer tableViewer = getFocusedTableViewer();
            final int[] boundaries = getSelectedRowBoundaries(tableViewer.getTable());
            getRowCollection(tableViewer).getGrouping().removeGrouping(boundaries[0], boundaries[1]);
            refresh(tableViewer);
        }
    };
    ungroupAction.setText(Messages.getString("QueryEditorControl.UnGroupClauseActionText")); //$NON-NLS-1$
    ungroupAction.setImageDescriptor(imageHelper.getImageDescriptor("images/wit/ungroup_clause.gif")); //$NON-NLS-1$
}

From source file:com.microsoft.tfs.client.common.ui.wit.qe.QueryEditorControl.java

License:Open Source License

private void fillContextMenu(final IMenuManager manager) {
    final TableViewer tableViewer = getFocusedTableViewer();
    if (tableViewer != null) {
        final boolean itemsSelected = ((IStructuredSelection) tableViewer.getSelection()).size() > 0;
        final int[] boundaries = getSelectedRowBoundaries(tableViewer.getTable());
        final QEQueryRowCollection rows = getRowCollection(tableViewer);

        insertAction.setEnabled(true);//from   w w  w. ja v a2s  .  c  om
        deleteAction.setEnabled(itemsSelected);
        groupAction.setEnabled(itemsSelected && rows.getGrouping().canGroup(boundaries[0], boundaries[1]));
        ungroupAction.setEnabled(itemsSelected && rows.getGrouping().canUngroup(boundaries[0], boundaries[1]));

        manager.add(insertAction);
        manager.add(deleteAction);
        manager.add(groupAction);
        manager.add(ungroupAction);
        manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    }
}

From source file:com.moulis.rcp.guido.client.view.ClientView.java

License:Open Source License

private void buildTableViewer(Composite container) {
    Composite tableComposite = new Composite(container, SWT.NONE);

    TableViewer tableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);
    table = tableViewer.getTable();
    table.setHeaderVisible(true);//  w w  w.ja v  a 2  s  .co m

    TableColumnLayout columnLayout = new TableColumnLayout();
    tableComposite.setLayout(columnLayout);
    buildTableViewerColumns(tableViewer, columnLayout);

    tableViewer.setContentProvider(ArrayContentProvider.getInstance());
    tableViewer.setInput(getClientListBouchon().getList());

}

From source file:com.mousefeed.eclipse.preferences.presentation.PresentationModePreferencePage.java

License:Open Source License

private void createColumns(final TableViewer viewer) {
    final LocalResourceManager resManager = new LocalResourceManager(JFaceResources.getResources(),
            viewer.getTable());

    createTableViewerColumn(viewer, "Scheme", 150, new ColumnLabelProvider() {

        @Override// ww w . j a va  2s  .c  om
        public String getText(Object element) {
            String schemeId = ((SchemeConfig) element).getSchemeId();
            Scheme scheme = bindingService.getScheme(schemeId);
            if (scheme != null && scheme.isDefined()) {
                try {
                    return scheme.getName();
                } catch (NotDefinedException e) {
                    // can not happen
                    e.printStackTrace();
                }
            }
            return "Undefined (" + schemeId + ")";
        }
    }, null);
    createTableViewerColumn(viewer, "Label", 50, new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((SchemeConfig) element).getLabel();
        }
    }, new TextEditingSupport<SchemeConfig>(viewer, SchemeConfig.class) {

        @Override
        protected String getStringValue(SchemeConfig element) {
            return element.getLabel();
        }

        @Override
        protected void setStringValue(SchemeConfig element, String value) {
            element.setLabel(value);
            viewer.refresh();
        }

    });
    createTableViewerColumn(viewer, "Color", 150, new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return "";
        }

        @Override
        public Color getBackground(Object element) {
            return resManager.createColor(((SchemeConfig) element).getColorCode());
        }
    }, new ColorEditingSupport<SchemeConfig>(viewer, SchemeConfig.class) {

        @Override
        protected RGB getRGBValue(SchemeConfig element) {
            return element.getColorCode();
        }

        @Override
        protected void setRGBValue(SchemeConfig element, RGB value) {
            element.setColorCode(value);
            viewer.refresh();

        }
    });
}

From source file:com.nextep.designer.dbgm.ui.services.impl.DatabaseModelUIService.java

License:Open Source License

private void registerContextMenu(TableViewer viewer, IWorkbenchPart part) {
    MenuManager contextMenu = new MenuManager();
    contextMenu.setRemoveAllWhenShown(true);

    // this is to work around complaints about missing standard groups.
    contextMenu.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
            manager.add(new GroupMarker("sql"));
            manager.add(new Separator());
            manager.add(new GroupMarker("actions"));
            manager.add(new Separator());
            manager.add(new GroupMarker("version")); //$NON-NLS-1$
        }/*from w  ww  .  j a  v  a2  s. co  m*/
    });

    if (part != null) {
        final IWorkbenchPartSite menuSite = part.getSite();
        if (menuSite != null) {
            ISelectionProvider globalProvider = menuSite.getSelectionProvider();
            if (globalProvider instanceof IGlobalSelectionProvider) {
                ((IGlobalSelectionProvider) globalProvider).registerSelectionProvider(part, viewer);
            }
            menuSite.registerContextMenu("columnsEditor_" + viewer.toString(), contextMenu, viewer);
        }
    }
    Menu menu = contextMenu.createContextMenu(viewer.getTable());
    viewer.getTable().setMenu(menu);
}

From source file:com.nextep.designer.sqlclient.ui.rcp.SQLResultsView.java

License:Open Source License

private void registerContextMenu(TableViewer viewer) {
    MenuManager contextMenu = new MenuManager();
    contextMenu.setRemoveAllWhenShown(true);

    // this is to work around complaints about missing standard groups.
    contextMenu.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            manager.add(new GroupMarker("editions")); //$NON-NLS-1$
            manager.add(new Separator());
            manager.add(new GroupMarker("actions")); //$NON-NLS-1$
            manager.add(new Separator());
            manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));

        }//from  ww  w  .  j a v  a  2  s  . c  o  m
    });

    getSite().registerContextMenu(contextMenu, viewer);
    Menu menu = contextMenu.createContextMenu(viewer.getTable());
    viewer.getTable().setMenu(menu);
}