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.egit.ui.internal.staging.StagingView.java

License:Open Source License

private void createPopupMenu(final TableViewer tableViewer) {
    final MenuManager menuMgr = new MenuManager();
    menuMgr.setRemoveAllWhenShown(true);
    Control control = tableViewer.getControl();
    control.setMenu(menuMgr.createContextMenu(control));
    menuMgr.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
            if (selection.isEmpty())
                return;

            boolean submoduleSelected = false;
            for (Object item : selection.toArray())
                if (((StagingEntry) item).isSubmodule()) {
                    submoduleSelected = true;
                    break;
                }/* w  ww.ja  v a2 s. co m*/

            Action openWorkingTreeVersion = new Action(
                    UIText.CommitFileDiffViewer_OpenWorkingTreeVersionInEditorMenuLabel) {
                @Override
                public void run() {
                    openSelectionInEditor(tableViewer.getSelection());
                }
            };
            openWorkingTreeVersion.setEnabled(!submoduleSelected);
            menuMgr.add(openWorkingTreeVersion);

            Set<StagingEntry.Action> availableActions = getAvailableActions(selection);

            boolean addReplaceWithFileInGitIndex = availableActions
                    .contains(StagingEntry.Action.REPLACE_WITH_FILE_IN_GIT_INDEX);
            boolean addReplaceWithHeadRevision = availableActions
                    .contains(StagingEntry.Action.REPLACE_WITH_HEAD_REVISION);
            boolean addStage = availableActions.contains(StagingEntry.Action.STAGE);
            boolean addUnstage = availableActions.contains(StagingEntry.Action.UNSTAGE);
            boolean addDelete = availableActions.contains(StagingEntry.Action.DELETE);
            boolean addIgnore = availableActions.contains(StagingEntry.Action.IGNORE);
            boolean addLaunchMergeTool = availableActions.contains(StagingEntry.Action.LAUNCH_MERGE_TOOL);

            if (addStage)
                menuMgr.add(new Action(UIText.StagingView_StageItemMenuLabel) {
                    @Override
                    public void run() {
                        stage((IStructuredSelection) tableViewer.getSelection());
                    }
                });
            if (addUnstage)
                menuMgr.add(new Action(UIText.StagingView_UnstageItemMenuLabel) {
                    @Override
                    public void run() {
                        unstage((IStructuredSelection) tableViewer.getSelection());
                    }
                });
            boolean selectionIncludesNonWorkspaceResources = selectionIncludesNonWorkspaceResources(
                    tableViewer.getSelection());
            if (addReplaceWithFileInGitIndex)
                if (selectionIncludesNonWorkspaceResources)
                    menuMgr.add(
                            new ReplaceAction(UIText.StagingView_replaceWithFileInGitIndex, selection, false));
                else
                    menuMgr.add(createItem(ActionCommands.DISCARD_CHANGES_ACTION, tableViewer)); // replace with index
            if (addReplaceWithHeadRevision)
                if (selectionIncludesNonWorkspaceResources)
                    menuMgr.add(new ReplaceAction(UIText.StagingView_replaceWithHeadRevision, selection, true));
                else
                    menuMgr.add(createItem(ActionCommands.REPLACE_WITH_HEAD_ACTION, tableViewer));
            if (addIgnore)
                menuMgr.add(new IgnoreAction(selection));
            if (addDelete)
                menuMgr.add(new DeleteAction(selection));
            if (addLaunchMergeTool)
                menuMgr.add(createItem(ActionCommands.MERGE_TOOL_ACTION, tableViewer));

            menuMgr.add(new Separator());
            menuMgr.add(createShowInMenu());
        }
    });

}

From source file:org.eclipse.emf.cdo.security.internal.ui.editor.RoleDetailsPage.java

License:Open Source License

protected OneToManyTableBlock.ITableConfiguration createTableConfiguration() {
    return new OneToManyTableBlock.TableConfiguration(getManagedForm(),
            SecurityPackage.Literals.ROLE__PERMISSIONS, SecurityPackage.Literals.FILTER_PERMISSION) {
        private static final int COL_ACCESS = 0;

        private static final int COL_PATTERN_STYLE = 1;

        private static final int COL_PATH = 2;

        private final String[] columnTitles = { Messages.RoleDetailsPage_5, Messages.RoleDetailsPage_6,
                Messages.RoleDetailsPage_7 };

        private final CellEditor[] cellEditors = new CellEditor[3];

        public String[] getColumnTitles() {
            return columnTitles;
        }/*  w w  w . j  a  v  a 2  s . co  m*/

        public int getColumnWeight(int index) {
            switch (index) {
            case COL_ACCESS:
                return 15;
            case COL_PATTERN_STYLE:
                return 15;
            case COL_PATH:
                return 70;
            default:
                throw new IllegalArgumentException("index"); //$NON-NLS-1$
            }
        }

        public int getColumnMinimumSize(int index) {
            switch (index) {
            case COL_ACCESS:
                return 30;
            case COL_PATTERN_STYLE:
                return 30;
            case COL_PATH:
                return 120;
            default:
                throw new IllegalArgumentException("index"); //$NON-NLS-1$
            }
        }

        public boolean isColumnResizable(int index) {
            switch (index) {
            case COL_ACCESS:
                return false;
            case COL_PATTERN_STYLE:
                return false;
            case COL_PATH:
                return true;
            default:
                throw new IllegalArgumentException("index"); //$NON-NLS-1$
            }
        }

        public CellLabelProvider getLabelProvider(TableViewer viewer, final int columnIndex) {
            return new ColumnLabelProvider() {
                @Override
                public String getText(Object element) {
                    final FilterPermission perm = (FilterPermission) element;
                    final ResourceFilter filter = perm.getFilters().isEmpty() ? null
                            : (ResourceFilter) perm.getFilters().get(0);

                    switch (columnIndex) {
                    case COL_ACCESS:
                        return SecurityEditPlugin.INSTANCE
                                .getString(String.format("_UI_Access_%s_literal", perm.getAccess())); //$NON-NLS-1$
                    case COL_PATTERN_STYLE: {
                        String result = "=="; //$NON-NLS-1$
                        if (filter != null && filter.getPatternStyle() != null) {
                            switch (filter.getPatternStyle()) {
                            case EXACT:
                                break;
                            case TREE:
                                result = ">="; //$NON-NLS-1$
                                break;
                            default:
                                result = "~="; //$NON-NLS-1$
                                break;
                            }
                        }
                        return result;
                    }
                    case COL_PATH:
                        return filter == null ? "" : filter.getPath(); //$NON-NLS-1$
                    default:
                        throw new IllegalArgumentException("columnIndex"); //$NON-NLS-1$
                    }
                }
            };
        }

        public boolean canEdit(TableViewer viewer, Object element, int columnIndex) {
            return true;
        }

        public void setValue(TableViewer viewer, Object element, int columnIndex, Object value) {
            final FilterPermission perm = (FilterPermission) element;
            final ResourceFilter filter = (ResourceFilter) perm.getFilters().get(0);

            switch (columnIndex) {
            case COL_ACCESS:
                if (perm.getAccess() != value) {
                    execute(SetCommand.create(getEditingDomain(), perm,
                            SecurityPackage.Literals.PERMISSION__ACCESS, value));
                    viewer.refresh(element);
                }
                break;
            case COL_PATTERN_STYLE:
                if (filter.getPatternStyle() != value) {
                    execute(SetCommand.create(getEditingDomain(), filter,
                            SecurityPackage.Literals.RESOURCE_FILTER__PATTERN_STYLE, value));
                    viewer.refresh(element);
                }
                break;
            case COL_PATH:
                if (!ObjectUtil.equals(filter.getPath(), value)) {
                    execute(SetCommand.create(getEditingDomain(), filter,
                            SecurityPackage.Literals.RESOURCE_FILTER__PATH, value));
                    viewer.refresh(element);
                }
                break;
            default:
                throw new IllegalArgumentException("columnIndex"); //$NON-NLS-1$
            }
        }

        public Object getValue(TableViewer viewer, Object element, int columnIndex) {
            final FilterPermission perm = (FilterPermission) element;
            final ResourceFilter filter = (ResourceFilter) perm.getFilters().get(0);

            switch (columnIndex) {
            case COL_ACCESS:
                return perm.getAccess();
            case COL_PATTERN_STYLE:
                return filter.getPatternStyle();
            case COL_PATH:
                return filter.getPath();
            default:
                throw new IllegalArgumentException("columnIndex"); //$NON-NLS-1$
            }
        }

        public CellEditor getCellEditor(final TableViewer viewer, int columnIndex) {
            CellEditor result = cellEditors[columnIndex];
            if (result == null) {
                result = createCellEditor(viewer, columnIndex);
                cellEditors[columnIndex] = result;
            }

            return result;
        }

        protected CellEditor createCellEditor(TableViewer viewer, int columnIndex) {
            Composite parent = (Composite) viewer.getControl();

            switch (columnIndex) {
            case COL_ACCESS: {
                ComboBoxViewerCellEditor result = new ComboBoxViewerCellEditor(parent,
                        SWT.DROP_DOWN | SWT.READ_ONLY);
                result.setLabelProvider(new AdapterFactoryLabelProvider(getAdapterFactory()));
                result.setContentProvider(new ArrayContentProvider());
                result.setInput(Access.VALUES);
                return result;
            }
            case COL_PATTERN_STYLE: {
                ComboBoxViewerCellEditor result = new ComboBoxViewerCellEditor(parent,
                        SWT.DROP_DOWN | SWT.READ_ONLY);
                result.setLabelProvider(new AdapterFactoryLabelProvider(getAdapterFactory()));
                result.setContentProvider(new ArrayContentProvider());
                result.setInput(PatternStyle.VALUES);
                return result;
            }
            case COL_PATH:
                return new EditableDialogCellEditor(parent) {

                    @Override
                    protected Object openDialogBox(Control cellEditorWindow) {
                        final CDOView view = getInput().cdoView();
                        @SuppressWarnings({ "rawtypes", "unchecked" })
                        CDOItemProvider provider = new CDOItemProvider(null) {
                            private boolean connected;

                            {
                                // Connect the input now, because the dialog will try to access the content provider before it has
                                // been set into the tree viewer
                                connectInput((IContainer) view);
                            }

                            @Override
                            protected void connectInput(IContainer<Object> input) {
                                if (!connected) {
                                    super.connectInput(input);
                                    connected = true;
                                }
                            }

                            @Override
                            protected void disconnectInput(IContainer<Object> input) {
                                if (connected) {
                                    connected = false;
                                    super.disconnectInput(input);
                                }
                            }
                        };

                        FilterTreeSelectionDialog dlg = new FilterTreeSelectionDialog(
                                cellEditorWindow.getShell(), provider, provider);

                        dlg.setAllowMultiple(false);
                        dlg.setMessage(Messages.RoleDetailsPage_4);
                        dlg.setTitle(Messages.RoleDetailsPage_8);
                        dlg.setDoubleClickSelects(true);
                        dlg.addFilter(
                                getViewerFilter(getTypeFilter(EresourcePackage.Literals.CDO_RESOURCE_NODE)));
                        dlg.setBlockOnOpen(true);

                        String current = (String) getValue();

                        dlg.setInput(view);
                        if (current != null && view.hasResource(current)) {
                            dlg.setInitialSelection(view.getResourceNode(current));
                        }

                        String result = null;

                        if (dlg.open() == Window.OK) {
                            CDOResourceNode node = (CDOResourceNode) dlg.getFirstResult();
                            if (node != null) {
                                result = node.getPath();
                            }
                        }

                        return result;
                    }
                };
            default:
                throw new IllegalArgumentException("columnIndex"); //$NON-NLS-1$
            }
        }
    };
}

From source file:org.eclipse.emf.cdo.security.internal.ui.editor.TableSection.java

License:Open Source License

protected void configureDropSupport(final TableViewer viewer) {
    viewer.addDropSupport(DND.DROP_LINK | DND.DROP_MOVE | DND.DROP_COPY,
            new Transfer[] { LocalSelectionTransfer.getTransfer() }, new ViewerDropAdapter(viewer) {
                {// ww w .  jav a2 s .  co m
                    // We don't want it to look like you can insert new elements, only drop onto existing elements
                    setFeedbackEnabled(false);
                }

                @Override
                public boolean validateDrop(Object target, int operation, TransferData transferType) {
                    boolean result = false;

                    if (target instanceof EObject
                            && LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) {
                        EObject objectToDrop = getObjectToDrop(transferType);
                        if (objectToDrop != null) {
                            result = getDropReference((EObject) target, objectToDrop) != null;

                            if (result && (getCurrentEvent().operations | DND.DROP_COPY) != 0) {
                                overrideOperation(DND.DROP_COPY);
                            }
                        }
                    }

                    return result;
                }

                @Override
                public boolean performDrop(Object data) {
                    IStructuredSelection selection = (IStructuredSelection) data;
                    EObject objectToDrop = UIUtil.getElement(selection, EObject.class);
                    EObject target = (EObject) getCurrentTarget();

                    Command command = AddCommand.create(getEditingDomain(), target,
                            getDropReference(target, objectToDrop), selection.toList());

                    boolean result = execute(command);
                    if (result) {
                        viewer.getControl().setFocus();
                        viewer.setSelection(new StructuredSelection(target));
                    }

                    return result;
                }

                private EObject getObjectToDrop(TransferData transferType) {
                    return UIUtil.getElement(LocalSelectionTransfer.getTransfer().getSelection(),
                            EObject.class);
                }
            });
}

From source file:org.eclipse.emf.cdo.security.internal.ui.util.OneToManyBlock.java

License:Open Source License

protected void configureDropSupport(final TableViewer viewer) {
    viewer.addDropSupport(DND.DROP_LINK | DND.DROP_MOVE | DND.DROP_COPY,
            new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DropTargetAdapter() {
                @Override/*from  w ww.  ja  va2s. com*/
                public void dragEnter(DropTargetEvent event) {
                    if (!canDrop(event)) {
                        // Reject this drop
                        event.detail = DND.DROP_NONE;
                    } else if ((event.operations | DND.DROP_COPY) != 0) {
                        event.detail = DND.DROP_COPY;
                    }
                }

                private boolean canDrop(DropTargetEvent event) {
                    boolean result = false;

                    if (LocalSelectionTransfer.getTransfer().isSupportedType(event.currentDataType)) {
                        result = canPresentAll(LocalSelectionTransfer.getTransfer().getSelection());
                    }

                    return result;
                }

                @Override
                public void dropAccept(DropTargetEvent event) {
                    if (!canDrop(event)) {
                        // Reject this drop
                        event.detail = DND.DROP_NONE;
                    } else if ((event.operations | DND.DROP_COPY) != 0) {
                        event.detail = DND.DROP_COPY;
                    }
                }

                @Override
                public void drop(DropTargetEvent event) {
                    if (canDrop(event)) {
                        IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer
                                .getTransfer().getSelection();
                        Command command = AddCommand.create(domain, input.getValue(),
                                getConfiguration().getModelReference(), selection.toList());
                        if (execute(command)) {
                            viewer.setSelection(selection);
                            viewer.getControl().setFocus();
                        }
                    }
                }
            });
}

From source file:org.eclipse.emf.cdo.ui.internal.team.history.CDOHistoryPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    stackComposite = new StackComposite(parent, SWT.NONE);

    Label label = new Label(stackComposite, SWT.NONE);
    label.setText(//w ww  .ja v  a2s  .c o  m
            "The selected session belongs to an offline workspace.\nThe remote history cannot be provided.");
    label.setForeground(label.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE));
    offlineControl = label;

    commitHistoryComposite = new CommitHistoryComposite(stackComposite, SWT.NONE) {
        @Override
        protected void doubleClicked(CDOCommitInfo commitInfo) {
            if (commitOnDoubleClick) {
                testCommit(commitInfo);
            }
        }

        private void testCommit(CDOCommitInfo commitInfo) {
            CDOTransaction transaction = null;

            try {
                CDOSession session = input.getSession();
                CDOBranch branch = commitInfo.getBranch();

                final long[] lastCommitTime = { 0 };
                CDOCommitInfoManager commitInfoManager = session.getCommitInfoManager();
                commitInfoManager.getCommitInfos(branch, Long.MAX_VALUE, null, null, -1,
                        new CDOCommitInfoHandler() {
                            public void handleCommitInfo(CDOCommitInfo commitInfo) {
                                lastCommitTime[0] = commitInfo.getTimeStamp();
                            }
                        });

                long timeStamp = commitInfo.getTimeStamp();
                if (timeStamp != lastCommitTime[0]) {
                    String name = "branch-"
                            + (timeStamp - session.getRepositoryInfo().getCreationTime()) / 1000;
                    branch = branch.createBranch(name, timeStamp);
                }

                transaction = session.openTransaction(branch);
                CDOUtil.configureView(transaction);

                CDOResourceFolder folder = transaction.getOrCreateResourceFolder("test");
                folder.addResource("resource-" + folder.getNodes().size());
                transaction.commit();
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                LifecycleUtil.deactivate(transaction);
            }
        }
    };

    stackComposite.setTopControl(commitHistoryComposite);

    IPageSite site = getSite();
    TableViewer tableViewer = commitHistoryComposite.getTableViewer();

    UIUtil.addDragSupport(tableViewer);

    MenuManager menuManager = new MenuManager(POPUP_ID);
    menuManager.add(new Separator("compare"));
    menuManager.add(new Separator("branching"));
    menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));

    Menu menu = menuManager.createContextMenu(tableViewer.getControl());
    tableViewer.getControl().setMenu(menu);

    site.registerContextMenu(POPUP_ID, menuManager, tableViewer);
    site.setSelectionProvider(tableViewer);

    IActionBars actionBars = site.getActionBars();
    setupToolBar(actionBars.getToolBarManager());
    setupViewMenu(actionBars.getMenuManager());
}

From source file:org.eclipse.emf.diffmerge.ui.util.InconsistencyDialog.java

License:Open Source License

/**
 * Create and return a menu item for copying the labels in the given viewer
 * @param viewer_p a non-null viewer//www  .j  a v  a 2s. co  m
 * @return a non-null menu item
 */
protected MenuItem createCopyMenuItem(final TableViewer viewer_p) {
    Menu menu = new Menu(viewer_p.getControl());
    final MenuItem result = new MenuItem(menu, SWT.PUSH);
    result.setText(Messages.InconsistencyDialog_CopyID);
    result.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_COPY));
    viewer_p.addSelectionChangedListener(new ISelectionChangedListener() {
        /**
         * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
         */
        public void selectionChanged(SelectionChangedEvent event_p) {
            ISelection selection = event_p.getSelection();
            boolean enable = selection instanceof IStructuredSelection && !selection.isEmpty();
            result.setEnabled(enable);
        }
    });
    result.addSelectionListener(new SelectionAdapter() {
        /**
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent e_p) {
            copySelectionAsText(viewer_p);
        }
    });
    viewer_p.getControl().setMenu(menu);
    return result;
}

From source file:org.eclipse.emf.diffmerge.ui.util.InconsistencyDialog.java

License:Open Source License

/**
 * Create and return the area where duplicates for the given role as provided in
 * the given collection are displayed//from   w  ww. ja v  a 2  s. c  om
 * @param parent_p a non-null composite
 * @param role_p a non-null role
 * @param duplicates_p a non-null set of objects
 */
protected Control createDuplicateArea(Composite parent_p, Role role_p, Collection<Object> duplicates_p) {
    Group group = new Group(parent_p, SWT.NONE);
    group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    group.setLayout(new GridLayout(1, false));
    String scopeName = (role_p == Role.ANCESTOR) ? Messages.InconsistencyDialog_AncestorScope
            : (role_p == Role.REFERENCE) ? Messages.InconsistencyDialog_ReferenceScope
                    : Messages.InconsistencyDialog_TargetScope;
    group.setText(scopeName);
    TableViewer viewer = new TableViewer(group, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.MULTI);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setSorter(new ViewerSorter());
    createCopyMenuItem(viewer);
    viewer.setInput(duplicates_p.toArray());
    return group;
}

From source file:org.eclipse.emf.ecp.ecoreeditor.internal.ui.CreateNewChildDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parentComposite) {
    final ChildrenDescriptorCollector childrenDescriptorCollector = new ChildrenDescriptorCollector();
    final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(parent);

    final Dialog currentDialog = this;
    final List<Action> actions = getNewChildActions(childrenDescriptorCollector.getDescriptors(parent),
            editingDomain, parent);/* w  ww .  j ava 2s  .c  o  m*/

    final TableViewer list = new TableViewer(parentComposite);
    list.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    list.setContentProvider(new ArrayContentProvider());
    list.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            final Action action = (Action) element;
            final StringBuilder builder = new StringBuilder(action.getText());
            if (action.getAccelerator() > 0) {
                builder.append(" [");
                builder.append(Character.toUpperCase((char) action.getAccelerator()));
                builder.append("]");
            }
            return builder.toString();
        }

        @Override
        public Image getImage(Object element) {
            return ((Action) element).getImageDescriptor().createImage();
        }
    });
    list.setInput(actions.toArray());
    list.addOpenListener(new IOpenListener() {

        @Override
        public void open(OpenEvent event) {
            final Action action = (Action) ((StructuredSelection) event.getSelection()).getFirstElement();
            action.run();
            currentDialog.close();
        }
    });
    list.getControl().addKeyListener(new KeyListener() {

        @Override
        public void keyReleased(KeyEvent e) {
            // NOP
        }

        @Override
        public void keyPressed(KeyEvent e) {
            for (final Action a : actions) {
                if (a.getAccelerator() == e.keyCode) {
                    a.run();
                    currentDialog.close();
                    break;
                }
            }
        }
    });
    return parentComposite;
}

From source file:org.eclipse.emf.ecp.ide.editor.view.UnknownFeaturesDialog.java

License:Open Source License

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

    final Label label = new Label(composite, SWT.WRAP);
    label.setText(getDescription());//w w  w.  j  av  a 2  s  . c om

    final TableViewer viewer = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER);
    final Table table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(false);
    table.setToolTipText(""); //$NON-NLS-1$
    final Listener tableListener = getTableListener(composite, table);
    table.addListener(SWT.Dispose, tableListener);
    table.addListener(SWT.KeyDown, tableListener);
    table.addListener(SWT.MouseMove, tableListener);
    table.addListener(SWT.MouseHover, tableListener);

    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setInput(getInput());
    createColumns(parent, viewer);

    final GridData gridData = new GridData();
    gridData.verticalAlignment = GridData.FILL;
    gridData.horizontalSpan = 2;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalAlignment = GridData.FILL;
    viewer.getControl().setLayoutData(gridData);

    viewer.refresh(true);
    composite.layout();
    return composite;
}

From source file:org.eclipse.emf.ecp.view.custom.ui.swt.test.CustomControlStub3.java

License:Open Source License

/**
 * {@inheritDoc}/*from ww w  . j a  v a2s . c  o m*/
 *
 * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
 *      org.eclipse.swt.widgets.Composite)
 */
@Override
public Control renderControl(SWTGridCell cell, Composite parent)
        throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
    if (cell.getColumn() == 0) {
        label = new Label(parent, SWT.NONE);
        label.setText("Players: ");
        return label;
    }
    if (cell.getColumn() == 1) {
        final Composite tableParent = new Composite(parent, SWT.NONE);

        final Composite tableComposite = new Composite(tableParent, SWT.NONE);
        final TableViewer tableViewer = new TableViewer(tableComposite,
                SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);
        tableViewer.getControl().setLayoutData(new GridData());
        tableComposite.setLayout(new TableColumnLayout());

        final IValueProperty[] valueProperties = EMFProperties.values(BowlingPackage.Literals.PLAYER__NAME,
                BowlingPackage.Literals.PLAYER__DATE_OF_BIRTH);

        createViewerBinding(getResolvedDomainModelReference(BowlingPackage.eINSTANCE.getLeague_Players()),
                tableViewer, valueProperties);

        registerChangeListener(getResolvedDomainModelReference(BowlingPackage.eINSTANCE.getLeague_Players()),
                new LeagueChangeListener());
        return tableParent;

    }
    return null;
}