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

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

Introduction

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

Prototype

@Override
    public Control getControl() 

Source Link

Usage

From source file:org.eclipse.richbeans.generator.TableWidgetBuilder.java

License:Open Source License

@Override
public Control buildWidget(String elementName, Map<String, String> attributes, SwtMetawidget metawidget) {

    // If hidden or an action, return null
    if (TRUE.equals(attributes.get(HIDDEN)) || ACTION.equals(elementName)) {
        return null;
    }/*from w  ww .j a  v a2 s . com*/

    // Otherwise get the type and if a List, build a table
    Class<?> container = WidgetBuilderUtils.getActualClassOrType(attributes, Object.class);
    String contained = WidgetBuilderUtils.getComponentType(attributes);
    Class<?> containedClazz = loadContainedClass(contained);
    Method deleteMethod = getMethod(metawidget.getToInspect(), containedClazz, attributes);

    if (List.class.isAssignableFrom(container) && contained != null && containedClazz != null) {
        TableViewer tableViewer = new TableViewer(metawidget);
        Table table = tableViewer.getTable();
        table.setHeaderVisible(true);
        table.setLinesVisible(true);
        tableViewer.setContentProvider(new ListStructuredContentProvider());

        List<TableColumnModel> columns = readPropertiesFromType(metawidget, contained);
        createColumns(columns, tableViewer);
        createDeleteButtons(tableViewer, deleteMethod, metawidget.getToInspect());

        setupDataInput(containedClazz, columns, attributes, metawidget, tableViewer);

        return tableViewer.getControl();
    }
    return null;
}

From source file:org.eclipse.richbeans.widgets.shuffle.ShuffleViewer.java

License:Open Source License

private final TableViewer createTable(Composite parent, String tooltip, List<T> items, String propName,
        String slabel, boolean selectFromEnd, boolean allowReorder) {

    Composite content = new Composite(parent, SWT.NONE);
    content.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    content.setLayout(new GridLayout(1, false));
    content.setBackground(content.getDisplay().getSystemColor(SWT.COLOR_WHITE));

    if (slabel != null) {
        final Label label = new Label(content, SWT.NONE);
        label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
        label.setText(slabel);//from   ww w  .  j  a  va  2 s  .c o m
        label.setBackground(content.getDisplay().getSystemColor(SWT.COLOR_WHITE));
    }

    TableViewer ret = new TableViewer(content,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    ret.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    ((Table) ret.getControl()).setToolTipText(tooltip); // NOTE This can get clobbered if we used tooltips inside the table.

    final ShuffleContentProvider prov = new ShuffleContentProvider(conf, propName, selectFromEnd);
    ret.setContentProvider(prov);

    ret.setInput(items);

    Composite buttons = new Composite(content, SWT.NONE);
    buttons.setBackground(content.getDisplay().getSystemColor(SWT.COLOR_WHITE));
    buttons.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, true, false));
    buttons.setLayout(new GridLayout(2, true));
    GridUtils.removeMargins(buttons, 20, 0);

    Button down = new Button(buttons, SWT.ARROW | SWT.DOWN);
    down.setBackground(content.getDisplay().getSystemColor(SWT.COLOR_WHITE));
    down.setEnabled(false);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.widthHint = 50;
    down.setLayoutData(gd);
    down.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ShuffleDirection direction = propName.startsWith("from") ? ShuffleDirection.LEFT_DOWN
                    : ShuffleDirection.RIGHT_DOWN;
            moveVertical(ret, propName, 1, direction);
        }
    });

    Button up = new Button(buttons, SWT.ARROW | SWT.UP);
    up.setBackground(content.getDisplay().getSystemColor(SWT.COLOR_WHITE));
    up.setEnabled(false);
    up.setLayoutData(gd);
    up.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ShuffleDirection direction = propName.startsWith("from") ? ShuffleDirection.LEFT_UP
                    : ShuffleDirection.RIGHT_UP;
            moveVertical(ret, propName, -1, direction);
        }
    });
    if (!allowReorder) { // This cannot be changed later
        down.setVisible(false);
        up.setVisible(false);
    }

    PropertyChangeListener pcLeft = evt -> {
        final boolean enabled = evt.getNewValue() != null && evt.getNewValue() instanceof List
                && ((List) evt.getNewValue()).size() > 1;
        fromTable.getControl().getDisplay().syncExec(() -> {
            down.setEnabled(enabled);
            up.setEnabled(enabled);
        });
    };
    conf.addPropertyChangeListener(propName, pcLeft);

    // pcLeft only triggered when list is changed.
    // check whether you should be able to reorder as soon as widget is created
    boolean enabled = items.size() > 1;
    down.setEnabled(enabled);
    up.setEnabled(enabled);

    return ret;
}

From source file:org.eclipse.scada.ae.ui.views.dialog.EventDetailsDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    final Composite content = (Composite) super.createDialogArea(parent);

    content.setLayout(new FillLayout());
    final TableViewer viewer = new TableViewer(content, SWT.FULL_SELECTION);

    viewer.getTable().setHeaderVisible(true);

    final TableLayout layout = new TableLayout();
    viewer.getTable().setLayout(layout);

    final TableViewerColumn colKey = new TableViewerColumn(viewer, SWT.NONE);
    layout.addColumnData(new ColumnWeightData(10));
    colKey.getColumn().setText("Key");
    colKey.setLabelProvider(new CellLabelProvider() {

        @Override/*from  w ww  . ja  v  a 2 s  .  c o m*/
        public void update(final ViewerCell cell) {
            final Map.Entry<?, ?> event = (Entry<?, ?>) cell.getElement();
            cell.setText("" + event.getKey());
        }
    });

    final TableViewerColumn colValue = new TableViewerColumn(viewer, SWT.NONE);
    layout.addColumnData(new ColumnWeightData(10));
    colValue.getColumn().setText("Value");
    colValue.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(final ViewerCell cell) {
            final Map.Entry<?, ?> event = (Entry<?, ?>) cell.getElement();
            cell.setText("" + event.getValue());
        }
    });

    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setInput(this.event.getAttributes().entrySet().toArray(new Map.Entry[0]));

    Dialog.applyDialogFont(viewer.getControl());

    return content;
}

From source file:org.eclipse.scada.ca.ui.editor.forms.common.ConfigurationFormToolkit.java

License:Open Source License

public void createTableSection(final ScrolledForm form, final ConfigurationEditorInput input,
        final String prefix, final String label) {

    // data/*from   w  w  w  .ja  v a 2s .  co  m*/
    final IObservableMap map = KeyPrefixMapObservable.observePrefix(input.getDataMap(), String.class, prefix,
            true);

    // section

    final Section section = this.toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR);
    section.setText(label);

    final Composite client = this.toolkit.createComposite(section, SWT.NONE);
    section.setClient(client);
    this.toolkit.paintBordersFor(client);

    client.setLayout(new GridLayout(1, true));
    final GridData gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    section.setLayoutData(gd);

    // fields
    final TableViewer viewer = new TableViewer(client);

    final TableLayout tableLayout = new TableLayout();
    viewer.getTable().setLayout(tableLayout);

    {
        final TableViewerColumn col = new TableViewerColumn(viewer, SWT.NONE);
        col.getColumn().setText("Key");
        col.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(String.format("%s", ((Map.Entry<?, ?>) cell.getElement()).getKey()));
            }
        });
        tableLayout.addColumnData(new ColumnWeightData(50, true));
    }
    {
        final TableViewerColumn col = new TableViewerColumn(viewer, SWT.NONE);
        col.getColumn().setText("Value");
        col.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(String.format("%s", ((Map.Entry<?, ?>) cell.getElement()).getValue()));
            }
        });
        tableLayout.addColumnData(new ColumnWeightData(100, true));
        col.setEditingSupport(new InlineEditingSupport(map, viewer, this.dbc));
    }

    viewer.getTable().setHeaderVisible(true);

    viewer.setContentProvider(new ObservableMapContentProvider());
    viewer.setInput(map);

    viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));

    viewer.setSorter(new ViewerSorter());

    final ToolBarManager tbm = new ToolBarManager();
    tbm.add(new AddAction(map, form.getShell()));
    tbm.add(new RemoveAction(map, ViewersObservables.observeMultiSelection(viewer)));
    section.setTextClient(tbm.createControl(section));

}

From source file:org.eclipse.scanning.device.ui.model.ModelViewer.java

License:Open Source License

private void createDropTarget(TableViewer viewer) {

    final Table table = (Table) viewer.getControl();

    // Create drop target for file paths.
    DropTarget target = new DropTarget(table, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT);
    final TextTransfer textTransfer = TextTransfer.getInstance();
    final FileTransfer fileTransfer = FileTransfer.getInstance();
    Transfer[] types = new Transfer[] { fileTransfer, textTransfer };
    target.setTransfer(types);//from  www .  ja  v a2 s  .c  om
    target.addDropListener(new DropTargetAdapter() {

        private boolean checkLocation(DropTargetEvent event) {

            if (event.item == null || !(event.item instanceof Item)) {
                return false;
            }

            Item item = (Item) event.item;

            // will accept text but prefer to have files dropped
            Rectangle bounds = ((TableItem) item).getBounds(1);
            Point coordinates = new Point(event.x, event.y);
            coordinates = table.toControl(coordinates);
            if (!bounds.contains(coordinates)) {
                return false;
            }
            return true;
        }

        public void drop(DropTargetEvent event) {

            String path = null;
            if (textTransfer.isSupportedType(event.currentDataType)) {
                path = (String) event.data;
            }
            if (fileTransfer.isSupportedType(event.currentDataType)) {
                String[] files = (String[]) event.data;
                path = files[0];
            }
            if (path == null)
                return;

            if (!checkLocation(event))
                return;

            TableItem item = (TableItem) event.item;

            FieldValue field = (FieldValue) item.getData();
            if (field != null) {
                if (field.isFileProperty()) {
                    try {
                        field.set(path);
                        refresh();
                    } catch (Exception e) {
                        logger.error("Cannot set the field " + field.getName() + " with value " + path, e);
                    }
                }
            }
        }
    });
}

From source file:org.eclipse.sirius.common.ui.tools.api.selection.EMFMessageDialog.java

License:Open Source License

/**
 * Create a tableViewer//from  w w  w  .  j  ava2 s.c om
 * 
 * @param parent
 *            the parent composite
 * @return the created tableViewer
 */
private TableViewer createTableViewer(final Composite parent) {
    TableViewer viewer = null;
    viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    final GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    viewer.getControl().setLayoutData(gridData);
    viewer.getTable().setHeaderVisible(false);
    viewer.getTable().setLinesVisible(false);
    viewer.setContentProvider(new ArrayContentProvider());
    final AdapterFactoryLabelProvider labelProvider = new AdapterFactoryLabelProvider(factory);
    viewer.setLabelProvider(labelProvider);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setInput(this.instances);
    return viewer;
}

From source file:org.eclipse.sirius.common.ui.tools.api.selection.page.EObjectPaneBasedSelectionWizardPage.java

License:Open Source License

/**
 * Create a tableViewer/* w w  w.j a  v a2s . c o m*/
 * 
 * @param parent
 *            the parent composite
 * @return the created tableViewer
 */
private TableViewer createTableViewer(final Composite parent) {
    TableViewer viewer = null;
    viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    final GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    viewer.getControl().setLayoutData(gridData);
    viewer.getTable().setHeaderVisible(false);
    viewer.getTable().setLinesVisible(false);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new EObjectSelectionLabelProvider());
    return viewer;
}

From source file:org.eclipse.tcf.internal.cdt.ui.breakpoints.TCFContextQueryExpressionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite page = new Composite(parent, SWT.NONE);
    GridLayout gridLayout = new GridLayout(1, true);
    page.setLayout(gridLayout);/*w  w w.  j a v a  2 s .com*/
    page.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    tableLayout.addColumnData(new ColumnWeightData(1));
    Table table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    table.setLayout(tableLayout);
    TableViewer tableViewer = new TableViewer(table);
    tableViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    Control cntrl = tableViewer.getControl();
    cntrl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    TableViewerColumn labelColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    labelColumn.getColumn().setText(column_names[0]);
    TableViewerColumn valueColumn = new TableViewerColumn(tableViewer, SWT.Modify);
    valueColumn.getColumn().setText(column_names[1]);
    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.setLabelProvider(new ParameterTableLabelProvider());
    valueColumn.setEditingSupport(new ExpressionEditingSupport(valueColumn.getViewer()));
    tableViewer.setInput(attributes);
    tableViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            String t1 = (String) e1;
            String t2 = (String) e2;
            return t1.compareTo(t2);
        };
    });
    return parent;
}

From source file:org.eclipse.tracecompass.tmf.ui.viewers.table.TmfSimpleTableViewer.java

License:Open Source License

/**
 * Constructor that initializes the parent of the viewer
 *
 * @param table//from   w  ww  .jav  a 2 s  .  com
 *            the {@link TableViewer} to wrap
 */
public TmfSimpleTableViewer(TableViewer table) {
    super(table.getControl().getParent());
    fTableViewer = table;

    final Table tableControl = fTableViewer.getTable();
    tableControl.setHeaderVisible(true);
    tableControl.setLinesVisible(true);

    fDirection = SWT.DOWN;
    fTableViewer.setUseHashlookup(true);
    fTableViewer.getControl().addMouseListener(new MouseColumnListener());

    fTablePopupMenuManager = new MenuManager();
    fTablePopupMenuManager.setRemoveAllWhenShown(true);

    fTablePopupMenuManager.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(final @Nullable IMenuManager manager) {
            TableViewer viewer = getTableViewer();
            ISelection selection = viewer.getSelection();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection sel = (IStructuredSelection) selection;
                if (manager != null) {
                    appendToTablePopupMenu(manager, sel);
                }
            }
        }
    });

    Menu tablePopup = fTablePopupMenuManager.createContextMenu(getTableViewer().getTable());
    getTableViewer().getTable().setMenu(tablePopup);
}

From source file:org.eclipse.ui.examples.statushandlers.testtool.views.StatusHandlingView.java

License:Open Source License

public static void createPopMenu(final TableViewer viewer, final List[] list, final SelectionAdapter remove) {
    Menu menu = new Menu(viewer.getControl().getShell(), SWT.POP_UP);
    viewer.getTable().setMenu(menu);//from w  w w  .  j a  v a2 s  . com

    final MenuItem upMenuItem = new MenuItem(menu, SWT.PUSH);
    upMenuItem.setText(Messages.StatusHandlingView_Up);
    upMenuItem.addSelectionListener(new MoveUpSelectionAdapter(viewer, list));

    final MenuItem downMenuItem = new MenuItem(menu, SWT.PUSH);
    downMenuItem.setText(Messages.StatusHandlingView_Down);
    downMenuItem.addSelectionListener(new MoveDownSelectionAdapter(viewer, list));

    final MenuItem deleteMenuItem = new MenuItem(menu, SWT.PUSH);
    deleteMenuItem.setText(Messages.StatusHandlingView_Delete);
    deleteMenuItem.addSelectionListener(remove);

    menu.addListener(SWT.Show, new Listener() {

        public void handleEvent(Event event) {
            if (viewer.getTable().getItems().length > 1
                    && viewer.getTable().getSelectionIndices().length == 1) {
                if (viewer.getTable().getSelectionIndex() == 0) {
                    upMenuItem.setEnabled(false);
                    downMenuItem.setEnabled(true);
                } else if (viewer.getTable().getSelectionIndex() == viewer.getTable().getItems().length - 1) {
                    upMenuItem.setEnabled(true);
                    downMenuItem.setEnabled(false);
                } else {
                    upMenuItem.setEnabled(true);
                    downMenuItem.setEnabled(true);
                }
            } else {
                upMenuItem.setEnabled(false);
                downMenuItem.setEnabled(false);
            }
            deleteMenuItem.setEnabled(viewer.getTable().getItems().length != 0);
        }

    });
}