/** * As adding focus handlers to JavaScript code would be too complex, let's do it even before they * actually get focus, i.e. make a method that triggers focus, and then override it if necessary * * @param b focus (false: blur) */ public void setFocus(boolean b) { MathQuillHelper.focusEquationMathQuillGGB(component.getLaTeXElement(), b); // as the focus operation sometimes also scrolls // if (b) // geogebra.html5.main.DrawEquationWeb.scrollCursorIntoView(this, // seMayLatex); // put to focus handler }
public void setText(String s, boolean shallfocus) { String slatex = historyMap.get(s); if (slatex == null) { slatex = s; } Log.debug("HIST READ" + slatex + "," + s); if (slatex != null) { slatex = slatex .replace("\\$", "\\dollar ") .replace("$", "\\dollar ") .replace("(", "\\left(") .replace(")", "\\right)") .replace("\\left\\left(", "\\left(") .replace("\\right\\right)", "\\right)"); } MathQuillHelper.updateEditingMathQuillGGB(component.getLaTeXElement(), slatex, shallfocus); }
public void autocomplete(String sugg, boolean replace) { // For now, we can assume that sugg is in LaTeX format, // and if it will be wrong, we can revise it later // at the moment we shall focus on replacing the current // word in MathQuillGGB with it... // Although MathQuillGGB could compute the current word, // it might not be the same as the following, as // maybe it can be done easily for English characters // but current word shall be internationalized to e.g. // Hungarian, or even Arabic, Korean, etc. which are // known by GeoGebra but unknown by MathQuillGGB... updateCurrentWord(false); String currentWord = curWord.toString(); // So we also provide currentWord as a heuristic or helper: MathQuillHelper.writeLatexInPlaceOfCurrentWord( null, component.getLaTeXElement(), sugg, replace ? currentWord : "", true); // not to forget making the popup disappear after success! sug.hideSuggestions(); }
public int getCaretPosition() { return MathQuillHelper.getCaretPosInEditedValue(component.getLaTeXElement()); }