Search in sources :

Example 6 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project yamcs-studio by yamcs.

the class PropertyDataLabelProvider method createPropertiesViewer.

private TableViewer createPropertiesViewer(Composite parent) {
    TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    TableViewerColumn tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Property");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(150);
    tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Value");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(200);
    EditingSupport editingSupport = new PropertyDataEditingSupport(viewer, viewer.getTable());
    tvColumn.setEditingSupport(editingSupport);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new PropertyDataLabelProvider());
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    return viewer;
}
Also used : ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) GridData(org.eclipse.swt.layout.GridData) EditingSupport(org.eclipse.jface.viewers.EditingSupport) TableViewer(org.eclipse.jface.viewers.TableViewer) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn)

Example 7 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project egit by eclipse.

the class RefSpecPanel method createModeColumn.

private void createModeColumn(final TableColumnLayout columnLayout) {
    final TableViewerColumn column = createColumn(columnLayout, UIText.RefSpecPanel_columnMode, COLUMN_MODE_WEIGHT, SWT.CENTER);
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(final Object element) {
            return (isDeleteRefSpec(element) ? UIText.RefSpecPanel_modeDelete : UIText.RefSpecPanel_modeUpdate);
        }

        @Override
        public Image getImage(Object element) {
            return (isDeleteRefSpec(element) ? imageRegistry.get(IMAGE_DELETE) : imageRegistry.get(IMAGE_ADD));
        }

        @Override
        public String getToolTipText(Object element) {
            if (isDeleteRefSpec(element))
                return UIText.RefSpecPanel_modeDeleteDescription + '\n' + UIText.RefSpecPanel_clickToChange;
            return UIText.RefSpecPanel_modeUpdateDescription + '\n' + UIText.RefSpecPanel_clickToChange;
        }
    });
    column.setEditingSupport(new EditingSupport(tableViewer) {

        @Override
        protected boolean canEdit(final Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(final Object element) {
            return modeCellEditor;
        }

        @SuppressWarnings("boxing")
        @Override
        protected Object getValue(final Object element) {
            return isDeleteRefSpec(element);
        }

        @SuppressWarnings("boxing")
        @Override
        protected void setValue(final Object element, final Object value) {
            final RefSpec oldSpec = (RefSpec) element;
            final RefSpec newSpec;
            if ((Boolean) value) {
                newSpec = setRefSpecSource(oldSpec, null);
                setRefSpec(oldSpec, newSpec);
            } else {
                newSpec = setRefSpecSource(oldSpec, UIText.RefSpecPanel_refChooseSome);
                setRefSpec(oldSpec, newSpec);
                tableViewer.getControl().getDisplay().asyncExec(new Runnable() {

                    @Override
                    public void run() {
                        tableViewer.editElement(newSpec, srcColumnIndex);
                    }
                });
            }
        }
    });
}
Also used : ColumnLabelProvider(org.eclipse.jface.viewers.ColumnLabelProvider) RefSpec(org.eclipse.jgit.transport.RefSpec) CellEditor(org.eclipse.jface.viewers.CellEditor) CheckboxCellEditor(org.eclipse.jface.viewers.CheckboxCellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) EditingSupport(org.eclipse.jface.viewers.EditingSupport) Image(org.eclipse.swt.graphics.Image) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn)

Example 8 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project egit by eclipse.

the class RefSpecPanel method createForceColumn.

private void createForceColumn(final TableColumnLayout columnLayout) {
    final TableViewerColumn column = createColumn(columnLayout, UIText.RefSpecPanel_columnForce, COLUMN_FORCE_WEIGHT, SWT.CENTER);
    column.setLabelProvider(new CheckboxLabelProvider(tableViewer.getControl()) {

        @Override
        protected boolean isChecked(final Object element) {
            return ((RefSpec) element).isForceUpdate();
        }

        @Override
        protected boolean isEnabled(Object element) {
            return !isDeleteRefSpec(element);
        }

        @Override
        public String getToolTipText(Object element) {
            if (!isEnabled(element))
                return UIText.RefSpecPanel_forceDeleteDescription;
            if (isChecked(element))
                return UIText.RefSpecPanel_forceTrueDescription + '\n' + UIText.RefSpecPanel_clickToChange;
            return UIText.RefSpecPanel_forceFalseDescription + '\n' + UIText.RefSpecPanel_clickToChange;
        }
    });
    column.setEditingSupport(new EditingSupport(tableViewer) {

        @Override
        protected boolean canEdit(final Object element) {
            return !isDeleteRefSpec(element);
        }

        @Override
        protected CellEditor getCellEditor(final Object element) {
            return forceUpdateCellEditor;
        }

        @SuppressWarnings("boxing")
        @Override
        protected Object getValue(final Object element) {
            return ((RefSpec) element).isForceUpdate();
        }

        @SuppressWarnings("boxing")
        @Override
        protected void setValue(final Object element, final Object value) {
            final RefSpec oldSpec = (RefSpec) element;
            final RefSpec newSpec = oldSpec.setForceUpdate((Boolean) value);
            setRefSpec(oldSpec, newSpec);
        }
    });
}
Also used : RefSpec(org.eclipse.jgit.transport.RefSpec) CellEditor(org.eclipse.jface.viewers.CellEditor) CheckboxCellEditor(org.eclipse.jface.viewers.CheckboxCellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) EditingSupport(org.eclipse.jface.viewers.EditingSupport) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn)

Example 9 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project egit by eclipse.

the class RefSpecPanel method createSrcColumn.

private void createSrcColumn(final TableColumnLayout columnLayout) {
    final TableViewerColumn column = createColumn(columnLayout, UIText.RefSpecPanel_columnSrc, COLUMN_SRC_WEIGHT, SWT.LEFT);
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(final Object element) {
            return ((RefSpec) element).getSource();
        }

        @Override
        public String getToolTipText(Object element) {
            if (isInvalidSpec(element))
                return errorMessage;
            if (isDeleteRefSpec(element))
                return UIText.RefSpecPanel_srcDeleteDescription;
            if (pushSpecs)
                return UIText.RefSpecPanel_srcPushDescription;
            return UIText.RefSpecPanel_srcFetchDescription;
        }

        @Override
        public Color getBackground(final Object element) {
            if (isInvalidSpec(element))
                return errorBackgroundColor;
            return null;
        }

        @Override
        public Color getToolTipForegroundColor(Object element) {
            if (isInvalidSpec(element))
                return errorTextColor;
            return null;
        }
    });
    column.setEditingSupport(new EditingSupport(tableViewer) {

        @Override
        protected boolean canEdit(final Object element) {
            return !isDeleteRefSpec(element);
        }

        @Override
        protected CellEditor getCellEditor(final Object element) {
            return (pushSpecs ? localRefCellEditor : remoteRefCellEditor);
        }

        @Override
        protected Object getValue(final Object element) {
            return ((RefSpec) element).getSource();
        }

        @Override
        protected void setValue(final Object element, final Object value) {
            if (value == null || ((String) value).length() == 0 || ObjectId.zeroId().name().equals(value)) {
                // If user want to delete ref, let change the mode.
                return;
            }
            final RefSpec oldSpec = (RefSpec) element;
            final RefSpec newSpec = setRefSpecSource(oldSpec, (String) value);
            setRefSpec(oldSpec, newSpec);
        }
    });
    // find index of this column - for later usage
    final TableColumn[] columns = tableViewer.getTable().getColumns();
    for (srcColumnIndex = 0; srcColumnIndex < columns.length; srcColumnIndex++) if (columns[srcColumnIndex] == column.getColumn())
        break;
}
Also used : ColumnLabelProvider(org.eclipse.jface.viewers.ColumnLabelProvider) RefSpec(org.eclipse.jgit.transport.RefSpec) CellEditor(org.eclipse.jface.viewers.CellEditor) CheckboxCellEditor(org.eclipse.jface.viewers.CheckboxCellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) Color(org.eclipse.swt.graphics.Color) EditingSupport(org.eclipse.jface.viewers.EditingSupport) TableColumn(org.eclipse.swt.widgets.TableColumn) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn)

Example 10 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project tdq-studio-se by Talend.

the class ParticularDefaultSurvivorShipTableViewer method addEditingSupportForColumn.

/*
     * (non-Javadoc)
     * 
     * @see
     * org.talend.dataquality.record.linkage.ui.composite.tableviewer.AbstractMatchAnalysisTableViewer#addEditingSupportForColumn
     * (org.eclipse.swt.widgets.TableColumn, java.lang.String)
     */
@Override
protected void addEditingSupportForColumn(TableViewerColumn tableViewerColumn, String columnTechnologyLabel) {
    if (MatchAnalysisConstant.FUNCTION.equals(columnTechnologyLabel)) {
        EditingSupport support = new FunctionEditingSupport(tableViewerColumn.getViewer());
        tableViewerColumn.setEditingSupport(support);
    }
}
Also used : EditingSupport(org.eclipse.jface.viewers.EditingSupport) FunctionEditingSupport(org.talend.dataquality.record.linkage.ui.composite.tableviewer.editingSupport.FunctionEditingSupport) FunctionEditingSupport(org.talend.dataquality.record.linkage.ui.composite.tableviewer.editingSupport.FunctionEditingSupport)

Aggregations

EditingSupport (org.eclipse.jface.viewers.EditingSupport)22 CellEditor (org.eclipse.jface.viewers.CellEditor)18 TableViewerColumn (org.eclipse.jface.viewers.TableViewerColumn)16 TextCellEditor (org.eclipse.jface.viewers.TextCellEditor)15 GridData (org.eclipse.swt.layout.GridData)13 TableViewer (org.eclipse.jface.viewers.TableViewer)9 Composite (org.eclipse.swt.widgets.Composite)9 SelectionEvent (org.eclipse.swt.events.SelectionEvent)8 GridLayout (org.eclipse.swt.layout.GridLayout)8 ColumnLabelProvider (org.eclipse.jface.viewers.ColumnLabelProvider)7 CheckboxCellEditor (org.eclipse.jface.viewers.CheckboxCellEditor)6 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)6 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)6 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)6 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)6 Button (org.eclipse.swt.widgets.Button)6 Label (org.eclipse.swt.widgets.Label)6 TreeViewerColumn (org.eclipse.jface.viewers.TreeViewerColumn)5 Viewer (org.eclipse.jface.viewers.Viewer)5 ViewerCell (org.eclipse.jface.viewers.ViewerCell)5