Example usage for org.eclipse.jface.viewers ICellEditorValidator ICellEditorValidator

List of usage examples for org.eclipse.jface.viewers ICellEditorValidator ICellEditorValidator

Introduction

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

Prototype

ICellEditorValidator

Source Link

Usage

From source file:ac.soton.eventb.classdiagrams.diagram.edit.parts.AssociationNameEditPart.java

License:Open Source License

/**
 * @generated//from  w  w w  . jav  a 2  s.  c  o  m
 */
public ICellEditorValidator getEditTextValidator() {
    return new ICellEditorValidator() {

        public String isValid(final Object value) {
            if (value instanceof String) {
                final EObject element = getParserElement();
                final IParser parser = getParser();
                try {
                    IParserEditStatus valid = (IParserEditStatus) getEditingDomain()
                            .runExclusive(new RunnableWithResult.Impl<IParserEditStatus>() {

                                public void run() {
                                    setResult(parser.isValidEditString(new EObjectAdapter(element),
                                            (String) value));
                                }
                            });
                    return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
                } catch (InterruptedException ie) {
                    ie.printStackTrace();
                }
            }

            // shouldn't get here
            return null;
        }
    };
}

From source file:ac.soton.fmusim.components.ui.controls.AbstractVariableValueCellEditor.java

License:Open Source License

/**
 * Adds cell editor validator./*from w  w w  . j  a v  a  2 s.c o m*/
 */
private void createValidator() {
    setValidator(new ICellEditorValidator() {
        @Override
        public String isValid(Object value) {
            String valueStr = value.toString();
            if (valueStr == null || valueStr.trim().isEmpty())
                return "Value cannot be empty";

            String errorMsg = null;
            valueStr = valueStr.trim().toLowerCase();
            switch (variable.getType()) {
            case BOOLEAN:
                if (false == (valueStr.equals("true") || valueStr.equals("false")))
                    errorMsg = "Invalid boolean value (allowed 'true' or 'false')";
                break;
            case INTEGER:
                try {
                    Integer.parseInt(valueStr);
                } catch (NumberFormatException e) {
                    errorMsg = "Invalid integer value";
                }
                break;
            case REAL:
                try {
                    Double.parseDouble(valueStr);
                } catch (NumberFormatException e) {
                    errorMsg = "Invalid real value";
                }
            case STRING:
            }
            return errorMsg;
        }
    });
}

From source file:at.spardat.xma.guidesign.presentation.ExtendedEDataTypeCellEditor.java

License:Open Source License

public ExtendedEDataTypeCellEditor(EDataType _eDataType, Composite composite) {
    super(composite);
    this.eDataType = _eDataType;
    setValidator(new ICellEditorValidator() {
        public String isValid(Object object) {
            if (ExtendedEDataTypeCellEditor.this.eDataType.isInstance(object)) {
                return null;
            } else {
                String string = (String) object;
                try {
                    ExtendedEDataTypeCellEditor.this.eDataType.getEPackage().getEFactoryInstance()
                            .createFromString(ExtendedEDataTypeCellEditor.this.eDataType, string);
                    return null;
                } catch (Exception exception) {
                    return exception.getMessage();
                }//from ww w . j a  va2 s .  c om
            }
        }
    });
}

From source file:at.spardat.xma.guidesign.presentation.ExtendedIntegerCellEditor.java

License:Open Source License

public ExtendedIntegerCellEditor(Composite composite, GuidesignEditor editor) {
    super(composite);
    //this.editor = editor;
    setValidator(new ICellEditorValidator() {
        public String isValid(Object object) {
            if (object instanceof Integer) {
                return null;
            } else {
                String string = (String) object;
                if (string.equals("")) {
                    return "Empty String is not an integer value!";
                }//  w ww .j  a  v  a 2 s .  c o m
                try {
                    Integer.parseInt(string);
                    return null;
                } catch (NumberFormatException exception) {
                    return exception.getMessage() + " is not an integer value!";
                }
            }
        }
    });
}

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);/*from   w  w w.  j a va  2  s  .  c  o  m*/
    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/* ww w .  j  a  va  2s  . co  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 v  a2  s. c  o m*/
    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);//from  w w  w .j  a va2 s.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.bdaum.zoom.ui.internal.views.CurrencyExpressionCellEditor.java

License:Open Source License

public CurrencyExpressionCellEditor(Composite parent) {
    super(parent);
    setValidator(new ICellEditorValidator() {
        public String isValid(Object value) {
            if (value != null) {
                try {
                    formatter.fromString(value.toString());
                } catch (ParseException e1) {
                    return Messages.getString("ExpressionCellEditor.bad_arithmetic_expr"); //$NON-NLS-1$
                }/*from   w ww  .ja  v  a  2s.c om*/
            }
            return null;
        }
    });
}

From source file:com.bdaum.zoom.ui.internal.views.IncrementalNumberCellEditor.java

License:Open Source License

public IncrementalNumberCellEditor(Composite parent, int digits, int increment) {
    super(parent);
    this.increment = increment;
    nf = NumberFormat.getNumberInstance();
    nf.setMaximumFractionDigits(digits);
    nf.setMinimumFractionDigits(digits);
    setValidator(new ICellEditorValidator() {
        public String isValid(Object value) {
            if (value != null) {
                try {
                    nf.parse(value.toString());
                } catch (ParseException e1) {
                    return Messages.getString("IncrementalNumberCellEditor.bad_number"); //$NON-NLS-1$
                }//from  w  ww .  j ava2s  . c  o  m
            }
            return null;
        }
    });
}