Example usage for org.eclipse.jface.viewers ViewerColumn setEditingSupport

List of usage examples for org.eclipse.jface.viewers ViewerColumn setEditingSupport

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ViewerColumn setEditingSupport.

Prototype

public void setEditingSupport(EditingSupport editingSupport) 

Source Link

Document

Set the editing support.

Usage

From source file:de.walware.statet.rtm.base.ui.rexpr.RExprListProperty.java

License:Open Source License

@Override
public void bind(final IEMFEditContext context) {
    super.bind(context);

    final IEMFEditListProperty emfProperty = EMFEditProperties.list(getEditingDomain(), getEFeature());
    fModelObservable = emfProperty.observeDetail(getBaseObservable());

    fWidget.viewer.setInput(fModelObservable);
    fButtonGroup.connectTo(fWidget.viewer, fModelObservable, null);

    final ViewerColumn column = fWidget.getViewerColumn(0);
    column.setEditingSupport(new RExprEditing());
    ViewerUtil.installDefaultEditBehaviour2(fWidget.viewer);

    final ElementSourceSelectionProvider extSelectionProvider = new ElementSourceSelectionProvider(
            fWidget.viewer, this);
    {/*  w w w  . ja v  a  2s . co m*/
        final int operations = (DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_MOVE);
        final Transfer[] transfers = new Transfer[] { LocalSelectionTransfer.getTransfer() };
        fWidget.viewer.addDragSupport(operations, transfers,
                new SelectionTransferDragAdapter(extSelectionProvider));
        fWidget.viewer.addDropSupport(operations, transfers,
                new RExprViewerDropAdapter(fWidget.viewer, fTypeUIAdapters, this) {
                    @Override
                    protected boolean canMove(final IContext source, final Object input) {
                        final IEMFEditPropertyContext sourcePropertyContext = (IEMFEditPropertyContext) source
                                .getAdapter(IEMFEditPropertyContext.class);
                        return (sourcePropertyContext != null
                                && getEditingDomain() == sourcePropertyContext.getEditingDomain());
                    }

                    @Override
                    protected int getIndex(final Object element) {
                        return fModelObservable.indexOf(element);
                    }

                    @Override
                    protected void insertExprs(final List<RTypedExpr> exprs, final int index, final int time) {
                        if (index >= 0) {
                            fModelObservable.addAll(index, exprs);
                        } else {
                            fModelObservable.addAll(exprs);
                        }
                    }

                    @Override
                    protected void moveExprs(final IContext source, final List<RTypedExpr> exprs,
                            final int index, final int time) {
                        final IEMFEditPropertyContext sourceContext = (IEMFEditPropertyContext) source;

                        final EObject owner = (EObject) ((IObserving) fModelObservable).getObserved();
                        final IObservable sourceObservable = sourceContext.getPropertyObservable();
                        if (owner == null || sourceObservable == null) {
                            return;
                        }
                        Command command;

                        if (sourceObservable == fModelObservable) {
                            if (exprs.size() == 1) {
                                final RTypedExpr expr = exprs.get(0);
                                final int oldIndex = getIndex(expr);
                                if (oldIndex < 0) {
                                    return;
                                }
                                command = MoveCommand.create(getEditingDomain(), owner, getEFeature(), expr,
                                        (oldIndex < index) ? index - 1 : index);
                            } else {
                                final CompoundCommand compound = new CompoundCommand();
                                final List<RTypedExpr> after = new ArrayList<RTypedExpr>(exprs.size());
                                for (final RTypedExpr expr : exprs) {
                                    final int oldIndex = getIndex(expr);
                                    if (oldIndex < 0) {
                                        continue;
                                    }
                                    if (oldIndex < index) {
                                        compound.append(MoveCommand.create(getEditingDomain(), owner,
                                                getEFeature(), expr, index - 1));
                                    } else {
                                        after.add(expr);
                                    }
                                }
                                for (final RTypedExpr expr : after) {
                                    compound.append(MoveCommand.create(getEditingDomain(), owner, getEFeature(),
                                            expr, index));
                                }
                                command = compound;
                            }
                        } else {
                            final EObject oldOwner = (EObject) ((IObserving) sourceObservable).getObserved();
                            final CompoundCommand compound = new CompoundCommand();
                            compound.append(AddCommand.create(getEditingDomain(), owner, getEFeature(), exprs));
                            compound.append(RemoveCommand.create(getEditingDomain(), oldOwner,
                                    sourceContext.getEFeature(), exprs));
                            command = compound;
                        }

                        getEditingDomain().getCommandStack().execute(command);
                    }
                });
    }

    if (!fModelObservable.isEmpty()) {
        fWidget.viewer.setSelection(new StructuredSelection(fModelObservable.get(0)));
    } else {
        fButtonGroup.updateState();
    }
}

From source file:org.eclipse.riena.internal.ui.ridgets.swt.AbstractTableRidget.java

License:Open Source License

protected void applyEditingSupport(final ViewerColumn viewerColumn, final int columnIndex) {
    final Boolean editable = editableColumnsMap.get(columnIndex);
    EditingSupport editingSupport = null;
    if (Boolean.TRUE.equals(editable)) {
        final PropertyDescriptor property = getPropertyDescriptor(renderingMethods[columnIndex]);
        final int columnStyle = getColumnStyle(columnIndex);
        // editingSupport = new InlineEditingSupport0(this, dbc, property, columnStyle);
        editingSupport = new TableRidgetEditingSupport(this, property, columnStyle);
    }/*from  w w w .j a v a2  s .c  om*/
    viewerColumn.setEditingSupport(editingSupport);
}

From source file:org.eclipse.sirius.tree.ui.tools.internal.editor.DTreeViewerManager.java

License:Open Source License

/**
 * Initializes the Editing Support (allowing direct Edit) to associate to
 * the current Tree.//  w w  w  .  j  a va 2 s.  c o m
 */
protected void initializeEditingSupport() {

    // Step 1 : get the TreeViewerColumn corresponding to this Tree
    DslCommonPlugin.PROFILER.startWork(SiriusTasksKey.ADD_SWT_COLUMN_KEY);

    Option<ViewerColumn> optionViewerColumn = getViewerColumn();
    if (optionViewerColumn.some()) {
        ViewerColumn treeColumn = optionViewerColumn.get();

        // Step 2 : set the Editing support
        treeColumn.setEditingSupport(new DTreeItemEditingSupport(treeViewer, getEditingDomain(), getAccessor(),
                getTreeCommandFactory(), this.getEditor()));
    }
    DslCommonPlugin.PROFILER.stopWork(SiriusTasksKey.ADD_SWT_COLUMN_KEY);
}

From source file:org.eclipse.wazaabi.engine.swt.commons.views.collections.ColumnManager.java

License:Open Source License

protected void createViewerColumn(final org.eclipse.swt.widgets.Widget w,
        final AbstractColumnDescriptor columnDescriptor, final int columnIndex) {

    ViewerColumn viewerColumn = null;
    if (w instanceof org.eclipse.swt.widgets.Tree) {
        viewerColumn = new TreeViewerColumn((TreeViewer) collectionView.getViewer(),
                getSWTColumnHeaderStyle(columnDescriptor));

        // TODO : not supported yet
        // viewerColumn.getColumn().setMoveable(true);

        final TreeColumn column = ((TreeViewerColumn) viewerColumn).getColumn();

        column.setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        if (getSWTWidget() instanceof org.eclipse.swt.widgets.Composite
                && ((org.eclipse.swt.widgets.Composite) getSWTWidget())
                        .getLayout() instanceof AbstractColumnLayout) {
            ColumnLayoutData columnLayoutData = null;
            if (columnDescriptor.eClass() == CoreCollectionsStylesPackage.Literals.COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnPixelData(((ColumnDescriptor) columnDescriptor).getWidth(),
                        columnDescriptor.isResizable());
            else if (columnDescriptor
                    .eClass() == CoreCollectionsStylesPackage.Literals.WEIGHTED_COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnWeightData(
                        ((WeightedColumnDescriptor) columnDescriptor).getWeight(),
                        ((WeightedColumnDescriptor) columnDescriptor).getMinimumWidth(),
                        columnDescriptor.isResizable());
            ((AbstractColumnLayout) ((org.eclipse.swt.widgets.Composite) getSWTWidget()).getLayout())
                    .setColumnData(column, columnLayoutData);
        }/*from  w ww .ja  v a2  s  .  c o  m*/

    } else if (w instanceof org.eclipse.swt.widgets.Table) {
        viewerColumn = new TableViewerColumn((TableViewer) collectionView.getViewer(),
                getSWTColumnHeaderStyle(columnDescriptor));

        // TODO : not supported yet
        // viewerColumn.getColumn().setMoveable(true);

        ((TableViewerColumn) viewerColumn).getColumn()
                .setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        final TableColumn column = ((TableViewerColumn) viewerColumn).getColumn();

        column.setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        if (getSWTWidget() instanceof org.eclipse.swt.widgets.Composite
                && ((org.eclipse.swt.widgets.Composite) getSWTWidget())
                        .getLayout() instanceof AbstractColumnLayout) {
            ColumnLayoutData columnLayoutData = null;
            if (columnDescriptor.eClass() == CoreCollectionsStylesPackage.Literals.COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnPixelData(((ColumnDescriptor) columnDescriptor).getWidth(),
                        columnDescriptor.isResizable());
            else if (columnDescriptor
                    .eClass() == CoreCollectionsStylesPackage.Literals.WEIGHTED_COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnWeightData(
                        ((WeightedColumnDescriptor) columnDescriptor).getWeight(),
                        ((WeightedColumnDescriptor) columnDescriptor).getMinimumWidth(),
                        columnDescriptor.isResizable());
            ((AbstractColumnLayout) ((org.eclipse.swt.widgets.Composite) getSWTWidget()).getLayout())
                    .setColumnData(column, columnLayoutData);
        }

    }
    if (viewerColumn != null) {
        if (collectionView.getLabelProvider() instanceof PathSelectorLabelProvider) {
            final PathSelectorLabelProvider labelProvider = (PathSelectorLabelProvider) collectionView
                    .getLabelProvider();
            viewerColumn.setLabelProvider(new ColumnLabelProvider() {

                public String getText(Object element) {
                    return labelProvider.getColumnText(element, columnIndex);
                }

                public Image getImage(Object element) {
                    return labelProvider.getColumnImage(element, columnIndex);
                }

            });
        } else if (collectionView.getLabelProvider() instanceof DynamicLabelProvider) {
            final DynamicLabelProvider labelProvider = (DynamicLabelProvider) collectionView.getLabelProvider();
            viewerColumn.setLabelProvider(new StyledCellLabelProvider() {

                @Override
                public void update(ViewerCell cell) {
                    final Object element = cell.getElement();
                    final int columnIndex = cell.getColumnIndex();
                    final Display display = cell.getControl().getDisplay();
                    cell.setText(labelProvider.getColumnText(element, columnIndex));
                    cell.setImage(labelProvider.getColumnImage(element, columnIndex));
                    final Color foreground = labelProvider.getForegroundColor(element, columnIndex, display);
                    if (foreground != null)
                        cell.setForeground(foreground);
                    final Color background = labelProvider.getBackgroundColor(element, columnIndex, display);
                    if (background != null)
                        cell.setBackground(background);
                    final Font font = labelProvider.getFont(element, columnIndex, display, cell.getFont());
                    if (font != null)
                        cell.setFont(font);
                    super.update(cell);
                }
            });
        } else
            viewerColumn.setLabelProvider(new ColumnLabelProvider() {

                public String getText(Object element) {
                    return element != null ? element.toString() : ""; //$NON-NLS-1$
                }

            });
        if (columnDescriptor.getEditingSupport() != null) {
            DynamicEditingSupport dynamicEditingSupport = new DynamicEditingSupport(this, columnDescriptor);
            dynamicEditingSupports.put(columnDescriptor, dynamicEditingSupport);
            viewerColumn.setEditingSupport(dynamicEditingSupport);
        }
    }

}

From source file:org.jkiss.dbeaver.ui.controls.itemlist.ObjectListControl.java

License:Open Source License

protected void createColumn(ObjectPropertyDescriptor prop) {
    ObjectColumn objectColumn = null;//  w w  w . j a v a  2  s  .c o m
    for (ObjectColumn col : columns) {
        if (col.id.equals(prop.getId())) {
            objectColumn = col;
            break;
        }
    }
    // Use prop class from top parent
    Class<?> propClass = prop.getParent() == null ? prop.getDeclaringClass()
            : prop.getParent().getDeclaringClass();
    if (objectColumn == null) {
        Item columnItem;
        ViewerColumn newColumn;
        boolean numeric = prop.isNumeric();
        if (renderer.isTree()) {
            TreeViewerColumn viewerColumn = new TreeViewerColumn((TreeViewer) itemsViewer,
                    numeric ? SWT.RIGHT : SWT.NONE);
            viewerColumn.getColumn().setText(prop.getDisplayName());
            viewerColumn.getColumn().setToolTipText(prop.getDescription());
            viewerColumn.getColumn().addListener(SWT.Selection, renderer.getSortListener());
            newColumn = viewerColumn;
            columnItem = viewerColumn.getColumn();
        } else {
            TableViewerColumn viewerColumn = new TableViewerColumn((TableViewer) itemsViewer,
                    numeric ? SWT.RIGHT : SWT.NONE);
            viewerColumn.getColumn().setText(prop.getDisplayName());
            viewerColumn.getColumn().setToolTipText(prop.getDescription());
            //column.setData(prop);
            viewerColumn.getColumn().addListener(SWT.Selection, renderer.getSortListener());
            newColumn = viewerColumn;
            columnItem = viewerColumn.getColumn();
        }
        newColumn.setLabelProvider(getColumnLabelProvider(columns.size()));
        final EditingSupport editingSupport = makeEditingSupport(newColumn, columns.size());
        if (editingSupport != null) {
            newColumn.setEditingSupport(editingSupport);
        }
        objectColumn = new ObjectColumn(newColumn, columnItem, CommonUtils.toString(prop.getId()));
        objectColumn.addProperty(propClass, prop);
        this.columns.add(objectColumn);
        columnItem.setData(DATA_OBJECT_COLUMN, objectColumn);
    } else {
        objectColumn.addProperty(propClass, prop);
        String oldTitle = objectColumn.item.getText();
        if (!oldTitle.contains(prop.getDisplayName())) {
            objectColumn.item.setText(CommonUtils.capitalizeWord(objectColumn.id));
        }
    }
}

From source file:org.jkiss.dbeaver.ui.controls.ViewerColumnController.java

License:Apache License

private void createVisibleColumns() {
    boolean hasLazyColumns = false;
    List<ColumnInfo> visibleColumns = getVisibleColumns();
    for (int i = 0; i < visibleColumns.size(); i++) {
        final ColumnInfo columnInfo = visibleColumns.get(i);
        columnInfo.order = i;/*from   w w  w  . ja v  a  2  s  .  co  m*/
        final Item colItem;
        ViewerColumn viewerColumn;
        if (viewer instanceof TreeViewer) {
            final TreeViewerColumn item = new TreeViewerColumn((TreeViewer) viewer, columnInfo.style);
            viewerColumn = item;
            final TreeColumn column = item.getColumn();
            colItem = column;
            column.setText(columnInfo.name);
            column.setMoveable(true);
            column.setWidth(columnInfo.width);
            if (!CommonUtils.isEmpty(columnInfo.description)) {
                column.setToolTipText(columnInfo.description);
            }
            column.addControlListener(new ControlAdapter() {
                @Override
                public void controlResized(ControlEvent e) {
                    columnInfo.width = column.getWidth();
                    saveColumnConfig();
                }

                @Override
                public void controlMoved(ControlEvent e) {
                    if (!isInitializing && e.getSource() instanceof TreeColumn) {
                        updateColumnOrder(column, column.getParent().getColumnOrder());
                    }
                }
            });
            columnInfo.column = column;
        } else if (viewer instanceof TableViewer) {
            final TableViewerColumn item = new TableViewerColumn((TableViewer) viewer, columnInfo.style);
            viewerColumn = item;
            final TableColumn column = item.getColumn();
            colItem = column;
            column.setText(columnInfo.name);
            column.setMoveable(true);
            column.setWidth(columnInfo.width);
            if (!CommonUtils.isEmpty(columnInfo.description)) {
                column.setToolTipText(columnInfo.description);
            }
            column.addControlListener(new ControlAdapter() {
                @Override
                public void controlResized(ControlEvent e) {
                    columnInfo.width = column.getWidth();
                    saveColumnConfig();
                }

                @Override
                public void controlMoved(ControlEvent e) {
                    if (!isInitializing && e.getSource() instanceof TableColumn) {
                        updateColumnOrder(column, column.getParent().getColumnOrder());
                    }
                }
            });
            columnInfo.column = column;
        } else {
            continue;
        }
        viewerColumn.setLabelProvider(columnInfo.labelProvider);
        viewerColumn.setEditingSupport(columnInfo.editingSupport);
        colItem.setData(columnInfo);
        if (columnInfo.labelProvider instanceof ILazyLabelProvider) {
            hasLazyColumns = true;
        } else if (columnInfo.labelProvider instanceof ILabelProvider) {
            columnInfo.sortListener = new SortListener(columnInfo);
            columnInfo.column.addListener(SWT.Selection, columnInfo.sortListener);
        }
    }
    if (hasLazyColumns) {
        viewer.getControl().addListener(SWT.PaintItem, new Listener() {
            public void handleEvent(Event event) {
                if (viewer instanceof TreeViewer) {
                    TreeColumn column = ((TreeViewer) viewer).getTree().getColumn(event.index);
                    if (((ColumnInfo) column.getData()).labelProvider instanceof ILazyLabelProvider
                            && CommonUtils.isEmpty(((TreeItem) event.item).getText(event.index))) {
                        final String lazyText = ((ILazyLabelProvider) ((ColumnInfo) column
                                .getData()).labelProvider).getLazyText(event.item.getData());
                        if (!CommonUtils.isEmpty(lazyText)) {
                            ((TreeItem) event.item).setText(event.index, lazyText);
                        }
                    }
                } else {
                    TableColumn column = ((TableViewer) viewer).getTable().getColumn(event.index);
                    if (((ColumnInfo) column.getData()).labelProvider instanceof ILazyLabelProvider
                            && CommonUtils.isEmpty(((TableItem) event.item).getText(event.index))) {
                        final String lazyText = ((ILazyLabelProvider) ((ColumnInfo) column
                                .getData()).labelProvider).getLazyText(event.item.getData());
                        if (!CommonUtils.isEmpty(lazyText)) {
                            ((TableItem) event.item).setText(event.index, lazyText);
                        }
                    }
                }
            }
        });
    }

}

From source file:org.kalypso.kalypsomodel1d2d.ui.map.temsys.AssignNodeElevationFaceComponent.java

License:Open Source License

private void createNameColumn(final TableViewer viewer) {
    final ViewerColumn nameColumn = ColumnViewerUtil.createViewerColumn(viewer, SWT.LEFT);
    final ViewerColumnItem column = new ViewerColumnItem(nameColumn);

    column.setText(Messages//ww w .j a  v  a 2  s.c  o m
            .getString("org.kalypso.kalypsomodel1d2d.ui.map.temsys.AssignNodeElevationFaceComponent.22")); //$NON-NLS-1$
    column.setResizable(false);
    ColumnsResizeControlListener.setMinimumPackWidth(column.getColumn());
    nameColumn.setLabelProvider(new FENodeNameProvider());
    ColumnViewerSorter.registerSorter(nameColumn, new FENodeNameComparator());

    nameColumn.setEditingSupport(new FENodeNameEditingSupport(viewer));

    column.setWidth(100);
}

From source file:org.kalypso.kalypsomodel1d2d.ui.map.temsys.AssignNodeElevationFaceComponent.java

License:Open Source License

private void createElevationColumn(final TableViewer viewer) {
    final ViewerColumn heightColumn = ColumnViewerUtil.createViewerColumn(viewer, SWT.RIGHT);
    final ViewerColumnItem column = new ViewerColumnItem(heightColumn);

    column.setText(Messages//from w  w  w .j  a  v a  2  s. co m
            .getString("org.kalypso.kalypsomodel1d2d.ui.map.temsys.AssignNodeElevationFaceComponent.23")); //$NON-NLS-1$
    column.setResizable(false);
    ColumnsResizeControlListener.setMinimumPackWidth(column.getColumn());
    heightColumn.setLabelProvider(new FENodeHeightProvider());
    ColumnViewerSorter.registerSorter(heightColumn, new FENodeHeightComparator());

    heightColumn.setEditingSupport(new FENodeHeightEditingSupport(viewer, m_dataModel));

    column.setWidth(100);
}

From source file:org.kalypso.ui.rrm.internal.cm.view.TimeseriesMappingComposite.java

License:Open Source License

private void createMappingTable() {
    final TimeseriesMappingBean bean = (TimeseriesMappingBean) getBean();

    final Table table = new Table(this, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    table.setHeaderVisible(true);//from   w  w w  . j a v  a  2  s .  c  o m

    final TableViewer tableViewer = new TableViewer(table);
    tableViewer.setContentProvider(new ArrayContentProvider());

    /* Name column */
    final ViewerColumn nameColumn = ColumnViewerUtil.createViewerColumn(tableViewer, SWT.LEFT);
    nameColumn.setLabelProvider(new MappingElementBeanNameLabelProvider());

    final ViewerColumnItem nameItem = new ViewerColumnItem(nameColumn);
    setPropertyLabel(nameItem, IMappingElement.QN_NAME);
    nameItem.setMoveable(false);
    ColumnsResizeControlListener.setMinimumPackWidth(nameItem.getColumn());
    ColumnViewerSorter.registerSorter(nameColumn, new MappingElementBeanNameViewerComparator());

    /* Description column */
    final ViewerColumn descriptionColumn = ColumnViewerUtil.createViewerColumn(tableViewer, SWT.LEFT);
    descriptionColumn.setLabelProvider(new MappingElementBeanDescriptionLabelProvider());

    final ViewerColumnItem descriptionItem = new ViewerColumnItem(descriptionColumn);
    setPropertyLabel(descriptionItem, IMappingElement.QN_DESCRIPTION);
    descriptionItem.setMoveable(false);
    ColumnsResizeControlListener.setMinimumPackWidth(descriptionItem.getColumn());
    ColumnViewerSorter.registerSorter(descriptionColumn, new MappingElementBeanDescriptionViewerComparator());

    /* Link column */
    final ViewerColumn linkColumn = ColumnViewerUtil.createViewerColumn(tableViewer, SWT.LEFT);
    linkColumn.setLabelProvider(new MappingElementBeanLinkLabelProvider());

    final ViewerColumnItem linkItem = new ViewerColumnItem(linkColumn);
    setPropertyLabel(linkItem, IMappingElement.PROPERTY_TIMESERIES_LINK);
    linkItem.setMoveable(false);
    ColumnsResizeControlListener.setMinimumPackWidth(linkItem.getColumn());
    ColumnViewerSorter.registerSorter(linkColumn, new MappingElementBeanLinkViewerComparator());

    linkColumn.setEditingSupport(new MappingElementBeanLinkEditingSupport(tableViewer, bean.getMappingType()));

    /* content */
    tableViewer.setInput(bean.getMappings());

    table.addControlListener(new ColumnsResizeControlListener());

    ColumnViewerSorter.setSortState(nameColumn, Boolean.FALSE);
}