Skip to content
Snippets Groups Projects
Commit 59cf6ce4 authored by Daniel Ratiu's avatar Daniel Ratiu
Browse files

small improvements

parent d4b5b035
No related branches found
No related tags found
No related merge requests found
......@@ -17,11 +17,16 @@ $Id$
+--------------------------------------------------------------------------*/
package org.fortiss.tooling.base.ui.utils;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.ColumnViewer;
import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.ICellEditorValidator;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
/**
* Utility methods for JFace {@link TableViewer}s.
......@@ -29,7 +34,7 @@ import org.eclipse.swt.SWT;
* @author hoelzl
* @author $Author$
* @version $Rev$
* @ConQAT.Rating YELLOW Hash: 0F5344CC790350F28E412502C6A79557
* @ConQAT.Rating YELLOW Hash: D72A875CBFB2BC8DFAB51FCCEE910F0A
*/
public class TableViewerUtils {
......@@ -84,4 +89,42 @@ public class TableViewerUtils {
column.setEditingSupport(editingSupport);
return column;
}
/** Editing support for integers. */
public static abstract class IntegerEditingSupport extends EditingSupport {
/** The parent where the editing support is needed. */
private Composite parent;
/** Constructor. */
public IntegerEditingSupport(ColumnViewer viewer, Composite parent) {
super(viewer);
this.parent = parent;
}
/** {@inheritDoc} */
@Override
protected CellEditor getCellEditor(Object element) {
CellEditor ce = new TextCellEditor(parent);
ce.setValidator(new ICellEditorValidator() {
@Override
public String isValid(Object value) {
try {
Integer.parseInt(value.toString());
} catch (NumberFormatException nfe) {
return "Not a valid integer";
}
return null;
}
});
return ce;
}
/** {@inheritDoc} */
@Override
protected boolean canEdit(Object element) {
return true;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment