/** * Attempts to create or redefine the cell geo using the current editing string * * @return */ private boolean processGeo() { try { if (allowProcessGeo) { String text = autoCompleteTextField.getText(); // ?// (String) // delegate.getCellEditorValue(); // get GeoElement of current cell value = kernel.lookupLabel(GeoElementSpreadsheet.getSpreadsheetCellName(column, row)); if (text.equals("")) { if (value != null) { value.removeOrSetUndefinedIfHasFixedDescendent(); value = null; } } else { GeoElement newVal = RelativeCopy.prepareAddingValueToTableNoStoringUndoInfo( kernel, app, text, value, column, row, false); if (newVal == null) { return false; } value = newVal; } if (value != null) app.storeUndoInfo(); } } catch (Exception ex) { // show GeoGebra error dialog // kernel.getApplication().showError(ex.getMessage()); ex.printStackTrace(); // TODO super.stopCellEditing(); editing = false; return false; } return true; }