List of usage examples for org.eclipse.jface.viewers ICellEditorValidator ICellEditorValidator
ICellEditorValidator
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; } }); }