package org.simantics.g3d.property; public class IntegerPropertyManipulator implements PropertyManipulator { ValueProvider provider; Object input; boolean editMode; String editValue = null; public IntegerPropertyManipulator(ValueProvider provider, Object input) { this.provider = provider; this.input = input; } @Override public int getValueCount() { return 1; } @Override public String getDescription(int i) { if (i == 0) return "Value"; return null; } @Override public String getValue(int i) { if (editMode) return editValue; try { return provider.getValue(input).toString(); } catch (Exception e) { return null; } } @Override public String setValue(String value, int i) { try { editValue = value; provider.setValue(input, Integer.parseInt(value)); } catch (Exception e) { return e.getMessage(); } return null; } @Override public boolean getEditMode() { return editMode; } @Override public void setEditMode(boolean b) { editMode = b; if (editMode) { try { editValue = provider.getValue(input).toString(); } catch (Exception e) { } } } }