Example usage for org.eclipse.jface.viewers TextCellEditor setValidator

List of usage examples for org.eclipse.jface.viewers TextCellEditor setValidator

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TextCellEditor setValidator.

Prototype

public void setValidator(ICellEditorValidator validator) 

Source Link

Document

Sets the input validator for this cell editor.

Usage

From source file:au.gov.ga.earthsci.bookmark.part.editor.LayersPropertyEditor.java

License:Apache License

@Override
public Control createControl(Composite parent) {
    container = new Composite(parent, SWT.NONE);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));
    container.setLayout(new GridLayout(1, false));

    Label l = new Label(container, SWT.TITLE);
    l.setText(Messages.LayersPropertyEditor_LayerStateLabel);

    Table table = new Table(container,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.CHECK);

    layerTable = new CheckboxTableViewer(table);
    layerTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
    layerTable.setContentProvider(ArrayContentProvider.getInstance());
    layerTable.getTable().setHeaderVisible(true);
    layerTable.getTable().setLinesVisible(true);

    TableViewerColumn col = new TableViewerColumn(layerTable, SWT.NONE);
    col.getColumn().setWidth(200);//w w w  .ja va  2  s .  com
    col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateLabelColumnLabel);
    col.getColumn().setResizable(true);
    col.getColumn().setMoveable(false);

    col = new TableViewerColumn(layerTable, SWT.NONE);
    col.getColumn().setWidth(100);
    col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateOpacityColumnLabel);
    col.getColumn().setResizable(true);
    col.getColumn().setMoveable(false);
    col.setEditingSupport(new EditingSupport(col.getViewer()) {

        @Override
        protected CellEditor getCellEditor(Object element) {
            TextCellEditor textCellEditor = new TextCellEditor(layerTable.getTable());
            textCellEditor.setValidator(new ICellEditorValidator() {
                @Override
                public String isValid(Object value) {
                    try {
                        Double.parseDouble((String) value);
                        return null;
                    } catch (Exception e) {
                        return Messages.LayersPropertyEditor_InvalidOpacityMessage;
                    }
                }
            });
            return textCellEditor;
        }

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

        @SuppressWarnings("unchecked")
        @Override
        protected Object getValue(Object element) {
            return Double.toString(((Entry<URI, Double>) element).getValue());
        }

        @SuppressWarnings("unchecked")
        @Override
        protected void setValue(Object element, Object value) {
            ((Entry<URI, Double>) element).setValue(Util.clamp(Double.parseDouble((String) value), 0, 1));
            layerTable.refresh(element, true);
        }

    });

    layerTable.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            @SuppressWarnings("unchecked")
            Entry<URI, Double> entry = (Entry<URI, Double>) cell.getElement();
            if (cell.getColumnIndex() == 0) {
                cell.setText(entry.getKey().toString());
            } else {
                cell.setText(Double.toString(entry.getValue()));
            }
        }
    });

    fillFieldsFromProperty(getProperty());

    return container;
}

From source file:au.gov.ga.earthsci.bookmark.ui.editor.LayersPropertyEditor.java

License:Apache License

private EditingSupport getEditorSupport(TableViewerColumn col) {
    return new EditingSupport(col.getViewer()) {

        @Override/*from  w  w w  .j ava 2s . c  o m*/
        protected CellEditor getCellEditor(Object element) {
            TextCellEditor textCellEditor = new TextCellEditor(layerTable.getTable());
            textCellEditor.setValidator(new ICellEditorValidator() {
                @Override
                public String isValid(Object value) {
                    try {
                        Double.parseDouble((String) value);
                        return null;
                    } catch (Exception e) {
                        return Messages.LayersPropertyEditor_InvalidOpacityMessage;
                    }
                }
            });
            return textCellEditor;
        }

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

        @SuppressWarnings("unchecked")
        @Override
        protected Object getValue(Object element) {
            return ((Entry<String, Map<String, String>>) element).getValue()
                    .get(LayersPropertyPersister.OPACITY_ATTRIBUTE_NAME);
        }

        @SuppressWarnings("unchecked")
        @Override
        protected void setValue(Object element, Object value) {
            double newValue = Double.parseDouble((String) value);
            ((Entry<String, Map<String, String>>) element).getValue().put(
                    LayersPropertyPersister.OPACITY_ATTRIBUTE_NAME, String.valueOf(Util.clamp(newValue, 0, 1)));
            layerTable.refresh(element, true);
        }

    };
}

From source file:com.bdaum.zoom.ui.internal.dialogs.MediaDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite area = (Composite) super.createDialogArea(parent);
    Composite composite = new Composite(area, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    composite.setLayout(new GridLayout(1, false));
    viewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setLayoutData(new GridData(780, 250));
    TableViewerColumn col1 = new TableViewerColumn(viewer, SWT.NONE);
    col1.getColumn().setWidth(180);//from ww  w . j  a  va  2 s .  com
    col1.getColumn().setText(Messages.MediaDialog_volume_name);
    col1.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof LastDeviceImport)
                return ((LastDeviceImport) element).getVolume();
            return element.toString();
        }
    });
    TableViewerColumn col2 = new TableViewerColumn(viewer, SWT.NONE);
    col2.getColumn().setWidth(140);
    col2.getColumn().setText(Messages.MediaDialog_owner);
    col2.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof LastDeviceImport)
                return ((LastDeviceImport) element).getOwner();
            return element.toString();
        }
    });
    col2.setEditingSupport(new EditingSupport(viewer) {
        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof LastDeviceImport && value instanceof String) {
                ((LastDeviceImport) element).setOwner((String) value);
                viewer.update(element, null);
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof LastDeviceImport)
                return ((LastDeviceImport) element).getOwner();
            return ""; //$NON-NLS-1$
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTable());
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });
    TableViewerColumn col3 = new TableViewerColumn(viewer, SWT.NONE);
    col3.getColumn().setWidth(140);
    col3.getColumn().setText(Messages.MediaDialog_last_import);
    col3.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof LastDeviceImport) {
                long timestamp = ((LastDeviceImport) element).getTimestamp();
                return timestamp == 0L ? " - " : sdf.format(new Date(timestamp)); //$NON-NLS-1$
            }
            return element.toString();
        }
    });
    col3.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof LastDeviceImport && value instanceof String) {
                try {
                    ((LastDeviceImport) element).setTimestamp(sdf.parse((String) value).getTime());
                    viewer.update(element, null);
                } catch (ParseException e) {
                    // do nothing
                }
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof LastDeviceImport)
                return sdf.format(new Date(((LastDeviceImport) element).getTimestamp()));
            return ""; //$NON-NLS-1$
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            TextCellEditor editor = new TextCellEditor(viewer.getTable());
            editor.setValidator(new ICellEditorValidator() {
                public String isValid(Object value) {
                    if (value instanceof String) {
                        try {
                            sdf.parse((String) value);
                            setErrorMessage(null);
                        } catch (ParseException e) {
                            String errorMessage = NLS.bind(Messages.MediaDialog_bad_date_format,
                                    Messages.MediaDialog_import_date_mask);
                            setErrorMessage(errorMessage);
                            return errorMessage;
                        }
                    }
                    return null;
                }
            });
            return editor;
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });
    TableViewerColumn col4 = new TableViewerColumn(viewer, SWT.NONE);
    col4.getColumn().setWidth(300);
    col4.getColumn().setText(Messages.MediaDialog_comments);
    col4.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof LastDeviceImport)
                return ((LastDeviceImport) element).getDescription();
            return element.toString();
        }
    });
    col4.setEditingSupport(new EditingSupport(viewer) {
        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof LastDeviceImport && value instanceof String) {
                ((LastDeviceImport) element).setDescription((String) value);
                viewer.update(element, null);
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof LastDeviceImport)
                return ((LastDeviceImport) element).getDescription();
            return ""; //$NON-NLS-1$
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTable());
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setComparator(ZViewerComparator.INSTANCE);
    viewer.setFilters(new ViewerFilter[] { new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof LastDeviceImport) {
                String volume = ((LastDeviceImport) element).getVolume();
                return volume.indexOf('/') < 0 && volume.indexOf('\\') < 0;
            }
            return false;
        }
    } });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    return area;
}

From source file:com.bdaum.zoom.ui.internal.preferences.MetadataPreferencePage.java

License:Open Source License

private TreeViewer createTolerancesViewer(Composite comp) {
    ExpandCollapseGroup toleranceExpandCollapseGroup = new ExpandCollapseGroup(comp, SWT.NONE);
    final TreeViewer viewer = new TreeViewer(comp,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    toleranceExpandCollapseGroup.setViewer(viewer);
    viewer.getTree().setLinesVisible(true);
    TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.NONE);
    col1.getColumn().setWidth(250);// w ww  .ja v  a2s  . c o  m
    col1.setLabelProvider(new MetadataLabelProvider());
    TreeViewerColumn col2 = new TreeViewerColumn(viewer, SWT.NONE);
    col2.getColumn().setWidth(80);
    final ToleranceLabelProvider labelProvider = new ToleranceLabelProvider();
    col2.setLabelProvider(labelProvider);
    col2.setEditingSupport(new EditingSupport(viewer) {
        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof QueryField) {
                QueryField qfield = (QueryField) element;
                String key = qfield.getKey();
                String s = String.valueOf(value);
                float v;
                if (s.endsWith("%")) //$NON-NLS-1$
                    v = Integer.parseInt(s.substring(0, s.length() - 1).trim());
                else
                    try {
                        af.setMaximumFractionDigits(8);
                        v = -af.parse(s.trim()).floatValue();
                        if (qfield.getType() == QueryField.T_DATE)
                            v = 1000 * v;
                    } catch (ParseException e) {
                        v = 0f;
                    }
                toleranceMap.put(key, v);
                viewer.update(element, null);
            }
        }

        @Override
        protected Object getValue(Object element) {
            String text = labelProvider.getText(element);
            if (text.endsWith(SEC))
                return text.substring(0, text.length() - SEC.length());
            return text;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            if (element instanceof QueryField) {
                final int type = ((QueryField) element).getType();
                TextCellEditor editor = new TextCellEditor(viewer.getTree());
                editor.setValidator(new ICellEditorValidator() {
                    public String isValid(Object value) {
                        String s = String.valueOf(value);
                        if (s.endsWith("%")) { //$NON-NLS-1$
                            try {
                                if (Integer.parseInt(s.substring(0, s.length() - 1).trim()) < 0)
                                    return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$
                                if (type == QueryField.T_DATE)
                                    return Messages
                                            .getString("MetadataPreferencePage.percent_not_allowed_for_date"); //$NON-NLS-1$
                                return null;
                            } catch (NumberFormatException e) {
                                return Messages.getString("MetadataPreferencePage.bad_integer"); //$NON-NLS-1$
                            }
                        }
                        if (type == QueryField.T_POSITIVEINTEGER || type == QueryField.T_INTEGER) {
                            try {
                                if (Integer.parseInt(s.substring(0, s.length() - 1).trim()) < 0)
                                    return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$
                                return null;
                            } catch (NumberFormatException e) {
                                return Messages.getString("MetadataPreferencePage.bad_integer"); //$NON-NLS-1$
                            }
                        } else if (type == QueryField.T_POSITIVELONG || type == QueryField.T_LONG) {
                            try {
                                if (Long.parseLong(s.substring(0, s.length() - 1).trim()) < 0)
                                    return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$
                                return null;
                            } catch (NumberFormatException e) {
                                return Messages.getString("MetadataPreferencePage.bad_integer"); //$NON-NLS-1$
                            }
                        }
                        try {
                            af.setMaximumFractionDigits(8);
                            if (af.parse(s.trim()).floatValue() < 0)
                                return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$
                            return null;
                        } catch (ParseException e) {
                            return Messages.getString("MetadataPreferencePage.bad_floating_point"); //$NON-NLS-1$
                        }
                    }
                });
                return editor;
            }
            return null;
        }

        @Override
        protected boolean canEdit(Object element) {
            if (element instanceof QueryField)
                return ((QueryField) element).getTolerance() != 0f;
            return false;
        }
    });
    viewer.setContentProvider(new MetadataContentProvider());
    viewer.setComparator(ZViewerComparator.INSTANCE);
    UiUtilities.installDoubleClickExpansion(viewer);
    viewer.setFilters(new ViewerFilter[] { new ViewerFilter() {
        @Override
        public boolean select(Viewer aViewer, Object parentElement, Object element) {
            if (element instanceof QueryField) {
                QueryField qfield = (QueryField) element;
                return (qfield.hasChildren() || qfield.isUiField())
                        && hostsToleranceValue((QueryField) element);
            }
            return false;
        }

        private boolean hostsToleranceValue(QueryField qfield) {
            if (qfield.getTolerance() != 0f)
                return true;
            for (QueryField child : qfield.getChildren())
                if (hostsToleranceValue(child))
                    return true;
            return false;
        }
    } });
    return viewer;
}

From source file:com.kopson.cite.smartlogmodel.TagEditingSupport.java

License:Open Source License

@Override
protected CellEditor getCellEditor(Object element) {
    TextCellEditor editor = new TextCellEditor(viewer.getTable());
    editor.setValidator(new ICellEditorValidator() {

        @Override//from  w  w  w.  j ava  2s .c  o m
        public String isValid(Object value) {
            if (SmartLogProvider.getTagList().contains((String) value))
                return null;
            else
                return "Invalid type: " + value.toString();
        }
    });

    editor.addListener(new ICellEditorListener() {

        @Override
        public void editorValueChanged(boolean oldValidState, boolean newValidState) {
            if (!newValidState) {
                MessageDialog.openError(viewer.getControl().getShell(), "No did not work", "Question");
            }
        }

        @Override
        public void cancelEditor() {
        }

        @Override
        public void applyEditorValue() {
        }
    });

    return editor;
}

From source file:com.nextep.designer.sqlclient.ui.connectors.SQLResultConnector.java

License:Open Source License

private void registerCellEditors() {
    List<CellEditor> editors = new ArrayList<CellEditor>();
    List<String> colProperties = new ArrayList<String>();
    int i = 0;//w  w  w .  jav  a  2 s.c o  m
    for (TableColumn c : sqlView.getColumns()) {
        final TextCellEditor editor = new TextCellEditor(sqlView);
        final ICellEditorValidator validator = (ICellEditorValidator) c.getData(KEY_CELL_VALIDATOR);
        if (validator != null) {
            editor.setValidator(validator);
            // This editor listener handles the refresh of the status bar on validation of the
            // user edition
            editor.addListener(new ICellEditorListener() {

                @Override
                public void editorValueChanged(boolean oldValidState, boolean newValidState) {
                    if (!newValidState) {
                        setStatusLabel(editor.getErrorMessage(), true);
                    } else {
                        setStatusLabel(null, false);
                    }
                }

                @Override
                public void cancelEditor() {
                }

                @Override
                public void applyEditorValue() {

                }
            });
        }
        editors.add(editor);
        colProperties.add(String.valueOf(i++));
    }
    sqlViewer.setCellEditors(editors.toArray(new CellEditor[editors.size()]));
    sqlViewer.setCellModifier(modifier);
    sqlViewer.setColumnProperties(colProperties.toArray(new String[colProperties.size()]));
}

From source file:de.topicmapslab.tmcledit.model.views.widgets.TypedCardinalityConstraintWidget.java

License:Open Source License

private CellEditor getTextCellEditor(final boolean isMin) {
    TextCellEditor editor = new TextCellEditor(tableViewer.getTable());
    editor.setValidator(new ICellEditorValidator() {
        boolean min = isMin;

        public String isValid(Object value) {
            String val = (String) value;
            if (val.length() == 0)
                return "No text given";
            if (val.equals("*")) {
                if (!min)
                    return null;
                else
                    return "No infinity for card min allowed";
            }//from  w  ww  .  j a  v  a2 s  . co  m
            char[] chars = ((String) value).toCharArray();
            for (int i = 0; i < chars.length; i++) {
                if (!Character.isDigit(chars[i])) {
                    return "use only digits";
                }
            }

            int v = Integer.parseInt(val);
            if (min) {
                if (v < minCardinality) {
                    return "cardMin must be at least:" + minCardinality;
                }
            } else {
                if ((maxCardinality != -1) && (v > maxCardinality)) {
                    return "cardMax must be at least:" + maxCardinality;
                }
            }

            return null;
        }
    });

    Text text = (Text) editor.getControl();
    CardTextObserver.addVerifyListener(text, isMin);

    return editor;
}

From source file:gov.redhawk.prf.internal.ui.editor.composite.BasicSimplePropertyComposite.java

License:Open Source License

protected void createEnumerationsViewer(final Composite parent, final FormToolkit toolkit) {
    final Label label = toolkit.createLabel(parent, "Enumerations:");
    label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
    label.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create());
    final Composite tableComp = toolkit.createComposite(parent, SWT.NULL);
    final GridLayout layout = SWTUtil.TABLE_ENTRY_LAYOUT_FACTORY.create();
    tableComp.setLayout(layout);/*from  w w  w  .  jav a 2 s .  c  o  m*/
    tableComp.setLayoutData(GridDataFactory.fillDefaults().span(NUM_COLUMNS - 1, 1).grab(true, true).create());
    final Table table = new Table(tableComp, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(20, 100, true)); // SUPPRESS CHECKSTYLE MagicNumber
    tableLayout.addColumnData(new ColumnWeightData(30, 40, true)); // SUPPRESS CHECKSTYLE MagicNumber
    table.setLayout(tableLayout);
    table.setLayoutData(
            GridDataFactory.fillDefaults().span(1, 3).hint(SWT.DEFAULT, 100).grab(true, true).create()); // SUPPRESS CHECKSTYLE MagicNumber

    this.enumViewer = new TableViewer(table);
    this.enumViewer.setContentProvider(new AdapterFactoryContentProvider(getAdapterFactory()));

    final TableViewerColumn enumLabelColumn = new TableViewerColumn(this.enumViewer, SWT.NULL);
    enumLabelColumn.getColumn().setText("Label");
    enumLabelColumn.setEditingSupport(new EditingSupport(this.enumViewer) {

        @Override
        protected void setValue(final Object element, final Object value) {
            final Enumeration e = (Enumeration) element;
            ScaModelCommand.execute(e, new ScaModelCommand() {

                @Override
                public void execute() {
                    e.setLabel((value == null) ? null : value.toString());
                }
            });
        }

        @Override
        protected Object getValue(final Object element) {
            final Enumeration e = (Enumeration) element;
            return (e.getLabel() == null) ? "" : e.getLabel();
        }

        @Override
        protected CellEditor getCellEditor(final Object element) {
            return new TextCellEditor(enumViewer.getTable());
        }

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

    final TableViewerColumn enumValueColumn = new TableViewerColumn(this.enumViewer, SWT.NULL);
    enumValueColumn.getColumn().setText("Value");
    enumValueColumn.setEditingSupport(new EditingSupport(this.enumViewer) {

        @Override
        protected void setValue(final Object element, final Object value) {
            final Enumeration e = (Enumeration) element;
            ScaModelCommand.execute(e, new ScaModelCommand() {

                @Override
                public void execute() {
                    e.setValue((value == null) ? null : value.toString());
                }
            });
        }

        @Override
        protected Object getValue(final Object element) {
            final Enumeration e = (Enumeration) element;
            return (e.getValue() == null) ? "" : e.getValue();
        }

        @Override
        protected CellEditor getCellEditor(final Object obj) {
            final TextCellEditor retVal = new TextCellEditor(enumViewer.getTable());
            retVal.setValidator(new ICellEditorValidator() {

                @Override
                public String isValid(final Object value) {
                    final Enumeration element = (Enumeration) obj;
                    final Simple simple = (Simple) element.eContainer().eContainer();
                    try {
                        AnyUtils.convertString(value.toString(), simple.getType().getLiteral(),
                                simple.isComplex());
                        return null;
                    } catch (final Exception e) { // SUPPRESS CHECKSTYLE Logged Catch all exception
                        return "Invalid value";
                    }
                }
            });
            return retVal;
        }

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

    this.enumViewer.setLabelProvider(new AdapterFactoryLabelProvider(getAdapterFactory()));
    this.enumViewer.setColumnProperties(new String[] { PrfPackage.Literals.ENUMERATION__LABEL.getName(),
            PrfPackage.Literals.ENUMERATION__VALUE.getName() });

    this.enumViewer.setFilters(createEnumerationViewerFilter());
    table.setLayoutData(GridDataFactory.fillDefaults().span(1, NUM_COLUMNS).hint(SWT.DEFAULT, 50)
            .grab(true, true).create()); // SUPPRESS CHECKSTYLE MagicNumber
    this.addEnumButton = this.toolkit.createButton(tableComp, "Add...", SWT.PUSH);
    this.addEnumButton.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).create());
    this.editEnumButton = this.toolkit.createButton(tableComp, "Edit", SWT.PUSH);
    this.editEnumButton.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).create());
    this.editEnumButton.setEnabled(false);
    this.removeEnumButton = this.toolkit.createButton(tableComp, "Remove", SWT.PUSH);
    this.removeEnumButton.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).create());
    this.removeEnumButton.setEnabled(!this.enumViewer.getSelection().isEmpty());
    this.enumViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            removeEnumButton.setEnabled(!event.getSelection().isEmpty());
            editEnumButton.setEnabled(!event.getSelection().isEmpty());
        }
    });
    HelpUtil.assignTooltip(this.enumViewer.getControl(), HelpConstants.prf_properties_simple_value);
}

From source file:gov.redhawk.sca.internal.ui.wizards.ValuesWizardPage.java

License:Open Source License

/**
 * @param control//from www . j a va 2  s.  com
 */
private Control createViewer(final Composite control) {
    this.viewer = new TableViewer(control, SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE);
    final TableLayout layout = new TableLayout();
    this.viewer.getTable().setLayout(layout);
    this.viewer.setLabelProvider(new LabelProvider());
    this.viewer.setContentProvider(new ArrayContentProvider());
    this.viewer.setInput(this.input);
    this.viewer.getTable().setHeaderVisible(true);

    final TableViewerColumn valueCol = new TableViewerColumn(this.viewer, SWT.NONE);
    valueCol.getColumn().setText("Value");
    layout.addColumnData(new ColumnWeightData(2, 100, false)); // SUPPRESS CHECKSTYLE MagicNumber
    valueCol.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(final ViewerCell cell) {
            cell.setText(cell.getElement().toString());
        }

    });
    valueCol.setEditingSupport(new EditingSupport(this.viewer) {

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

        @Override
        protected CellEditor getCellEditor(final Object element) {
            final TextCellEditor editor = new TextCellEditor(
                    (Composite) ValuesWizardPage.this.viewer.getControl());
            editor.setValidator(new ICellEditorValidator() {

                @Override
                public String isValid(final Object value) {
                    try {
                        AnyUtils.convertString(value.toString(), type.getLiteral(), complex);
                        return null;
                    } catch (final Exception e) { // SUPPRESS CHECKSTYLE Logged Error
                        return e.getMessage();
                    }
                }
            });
            return editor;
        }

        @Override
        protected Object getValue(final Object element) {
            return ((ClassStringContainer) element).value;
        }

        @Override
        protected void setValue(final Object element, final Object value) {
            ((ClassStringContainer) element).value = value.toString();
            ValuesWizardPage.this.viewer.refresh(element);
        }

    });

    this.viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            updateButton();
        }

    });

    return this.viewer.getControl();
}

From source file:net.refractions.udig.project.ui.summary.SummaryControl.java

License:Open Source License

private void setCellEditor(TreeViewer viewer) {
    TextCellEditor textCellEditor = new TextCellEditor(viewer.getTree());
    textCellEditor.setValidator(new SummaryCellEditorValidator(data, viewer.getTree()));
    viewer.setCellEditors(new CellEditor[] { null, textCellEditor });
    viewer.setCellModifier(new SummaryCellModifier(data));
}