public void onClick(ClickEvent e) { Element target = e.getNativeEvent().getEventTarget().cast(); boolean isEditing = assignmentsTable.isVisible(); if (target == btApply.getElement()) { if (isEditing) { hide(); app.getActiveEuclidianView().requestFocusInWindow(); app.storeUndoInfo(); app.getKernel().notifyRepaint(); } else { assignmentsTable.setVisible(true); checkAssignmentsTable.setVisible(false); btTest.setText(app.getPlain("Test")); btApply.setText(app.getPlain("OK")); hide(); setGlassEnabled(true); center(); } } else if (target == btTest.getElement()) { if (isEditing) { assignmentsTable.setVisible(false); checkAssignmentsTable.setVisible(true); check(); btTest.setText(app.getPlain("Check")); btApply.setText(app.getPlain("Back")); hide(); setGlassEnabled(false); center(); } else { check(); } } }
/** * 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; }