2003-02-26 Angus Leeming * formula.C (draw): cache the BufferView* using cache not PreviewImpl::setView 2003-02-26 Alfredo Braunstein * formula.C (draw): strip also the other argument (the owner inset) in the call to PreviewImage::image 2003-02-26 Angus Leeming * ref_inset.[Ch]: add a localDispatch method to RefInset. add a string2RefInset function to 'translate' the string passed to the LyX core from the Reference dialog. * formulabase.C (localDispatch): factor the code for LFUN_REF_APPLY to use these new functions and so avoid a dynamic cast. 2003-02-25 Alfredo Braunstein * formula.C (draw): eliminate BufferView argument in call to PreviewImage::image 2003-02-25 Angus Leeming * ref_inset.C (dispatch): add an '\end_inset' to the string passed to the dialog. * math_inset.h: * ref_inset.h (asRefInset): new method, replacing asInsetRef. 2003-02-21 Angus Leeming * formulabase.C (localDispatch): retire LFUN_REF_INSERT. Add LFUN_DIALOG_SHOW_NEW_INSET "ref" and LFUN_REF_APPLY. The latter is not yet safe. Posted some ideas to the list for further discussion. * ref_inset.C (dispatch): a first stab at activating the code to display the reference dialog from within mathed. Not yet working. 2003-02-14 Dekel Tsur * math_parser.C (parse1): Do not remove braces for {}^ 2003-02-13 Bo Peng * math_cursor.h: * math_cursor.C (backspace, erase): return false for empty mathboxes. * formulabase.C: When LFUN_DELETE, LFUN_BACKSPACE return false, delete the empty mathbox. Fix Bug 686. 2003-01-12 Michael Schmitt * formula.C (draw, width): Fix spacing around previewed formula. 2003-01-13 Michael Schmitt * formulabse.C (localDispatch): make CTRL-Pos1/End behave a little bit more intuitive. (Patch suggested by André.) 2003-01-07 João Luis Meloni Assirati * math_hullinset.C: fix numbering problem of AMS gather and multline environments. Treat gather the same way as eqnarray and multline as a special case. 2002-12-18 John Levon * math_factory.C: do not assume symbol font is present 2002-12-17 Dekel Tsur * math_parser.C (tokenize): Fix macro reading. 2002-12-01 Lars Gullik Bjønnes * several files: ws changes 2002-11-27 Lars Gullik Bjønnes * math_inferinset.C: remove unused "using std::max" 2002-11-21 Lars Gullik Bjønnes * formulamacro.C (prefix): use boost::format 2002-11-04 Dekel Tsur * formulabase.C (lfunMouseRelease): Do not make the buffer dirty when releasing the first mouse button. 2002-11-04 Lars Gullik Bjønnes * math_inset.C (asString): STRCONV * math_factory.C (initSymbols): do not std:: qualify getline, use empty() to check for empty string, STRCONV * math_extern.C: STRCONV * math_diminset.C (drawT): STRCONV * math_cursor.C (info): STRCONV * math_autocorrect.C (initAutoCorrect): STRCONV * formulamacro.C (InsetFormulaMacro): STRCONV * formulabase.C (localDispatch): STRCONV * formula.C (latexString): STRCONV * math_factory.C: add using std::endl (math_font_available): use it (initSymbols): use it (createMathInset): use it * math_cursor.C (MathCursor): reindent 2002-10-28 Dekel Tsur * many files: Add support for Maxima. * math_scriptinset.C (dispatch): Change handling of LFUN_MATH_LIMITS. * math_symbolinset.C (metrics): Compute em with the default font. * math_charinset.C (draw): Use math symbol fonts for <,> & = 2002-10-21 Dekel Tsur * math_factory.C (initSymbols): Support "else" token. * math_symbolinset.C (metrics): Remove special case for \not. 2002-10-18 Angus Leeming * formula.C (latexString): Revert yesterday's change. It's going to be too complicated to deal with nasty surprises. 2002-10-17 Angus Leeming * formula.C (latexString): change "\[ ... \]" to "$ \displaystyle ... $" for nicer previews. 2002-10-17 Dekel Tsur * math_kerninset.C (metrics): Use LyXLength::inPixels. 2002-10-14 Dekel Tsur * math_factory.C (initSymbols): iffont. 2002-10-14 André Pönitz * math_cursor.C: remove code to fix crash 2002-10-14 André Pönitz * formulabase.C: support pasting stuff into formulas using button3 * math_parser.C: math_hullinset.C: Herbert's patch to support flalign 2002-10-10 Jean-Marc Lasgouttes * formulabase.C (localDispatch): make LFUN_WORDLEFTSEL and LFUN_WORDRIGHTSEL coherent with their non-SEL counterparts 2002-09-24 Lars Gullik Bjønnes * Makefile.am (INCLUDES): loose SIGC_INCLUDES 2002-09-11 John Levon * dimension.C: compile fix 2002-09-11 Angus Leeming * preview.[Ch]: cruft. Removed. 2002-08-29 André Pönitz * math_framboxinset.[Ch]: new (partial) support for \framebox * math_parser.C: generalization for reading optional arguments 2002-08-26 Lars Gullik Bjønnes * math_parinset.C: add support/LOstream.h and config.h 2002-08-14 Lars Gullik Bjønnes * math_hullinset.C: add using std::pair 2002-08-13 Angus Leeming * formulabase.C: * ref_inset.C: changes due to the changed LyXView interface that now returns references to member variables not pointers. * math_inset.[Ch] (getDialogs, getLyXFunc): return a reference, not a pointer, reflecting this change. 2002-08-02 Angus Leeming * formula.C: pass the BufferView to the PreviewedInset so that it can cache it. 2002-08-02 Angus Leeming * formulabase.[Ch]: store the BufferView as a weak_ptr. (updatePreview): removed. (insetUnlock): invoke generatePreview(). * formula.C (InsetFormula): pass the shared_ptr to view_, not the raw BufferView. (read, localDispatch): remove those calls to updatePreview(). * math_metricsinfo.[Ch]: store the BufferView as a weak_ptr. * math_nestinset.C (notifyCursorLeaves): empty, because generatePreview() is now called from InsetFormulaBase::insetUnlock. 2002-08-01 Angus Leeming * formula.C: move code into the new PreviewedInset class. * formula.[Ch] (generatePreview): renamed as addPreview. (generatePreview): new method invoking PreviewedInset::generatePreview. * math_nestinset.C (notifyCursorLeaves): simplify. Now just calls Inset::generatePreview. 2002-07-29 Lars Gullik Bjønnes * formula.C (localDispatch): strip,frontStrip -> trim,ltrim,rtrim 2002-07-28 Lars Gullik Bjønnes * math_nestinset.C: add using std::vector 2002-07-23 Angus Leeming * formula.C (descent): add an arbitrary 12 pixels to the descent when previewing a display mode equation, analogous to André's code elsewhere. * math_nestinset.C (notifyCursorLeaves): generate the preview only when leaving an inset with depth() == 1. 2002-07-22 Jean-Marc Lasgouttes * math_support.C (mathed_draw_deco): fix rounding bug for rotated decorations 2002-07-17 Angus Leeming * math_parboxinset.C: add using std::vector directive. * formula.C (PreviewImpl's generate): bind to the PreviewLoader through a method rather than to the signal directly. 2002-07-16 Angus Leeming * formula.C (ascent, descent, draw): remove the extra pixels required to accommodate the mathed active frame when in Preview mode. 2002-07-12 Angus Leeming * formula.C: use the new smart loading capabilities of the image loader. 2002-07-14 John Levon * mathformula.C: use Lsstream.h not sstream 2002-07-12 John Levon * math_support.C: * math_factory.C: use lyx_gui::font_available() 2002-07-09 Angus Leeming * math_braceinset.h: * math_scriptinset.h: remove class:: from method declaration. * math_braceinset.C: * math_envinset.C: #include "LOstream.h" 2002-07-05 Angus Leeming * formula.[Ch] (generatePreview): instantiate new virtual method. Strip out the preliminary preview code and replace with code that makes full use of the graphics/Preview* files. Hide all the shenanigans behind a PreviewImpl firewall. * math_nestinset.C (notifyCursorLeaves): update the preview using the new graphics/Preview* code. 2002-07-04 Lars Gullik Bjønnes * formulabase.C: ws changes * formula.C: ws changes 2002-07-01 Geof Piroux * math_ex*.[Ch] et al: support for Mathematica as CAS backend 2002-06-28 Angus Leeming * preview.h (preview): don't pass grfx::GraphicPtr & anymore. 2002-06-24 André Pönitz * math_parser.C: remove "remove seemingly unneeded {} hack" 2002-06-26 Angus Leeming * formula.C: use lyxerr, not cerr. 2002-06-24 André Pönitz * *.[Ch]: left over changes from Porto * math_gridinset.C (eolString): fix #456 2002-06-21 John Levon * formula.C: use repaint() 2002-06-16 André Pönitz * math_factory.C: * math_support.C: fix font fall-back * math_specialcharinset.[Ch]: * math_funcliminset.[Ch]: remove, it's now done by MathSymbolInset * math_funcinset.[Ch]: remove, it's not used 2002-06-16 Lars Gullik Bjønnes * math_extern.C: add using std::endl 2002-06-15 LyX Development team * formula.[Ch]: * macroformula.[Ch] (docbook): Added argument to care about the pernicious mixed content. 2002-05-30 André Pönitz * math_parser.C: * formulabase.C: parser changes to 'everything might be a table' 2002-05-31 Dekel Tsur * math_hullinset.C (ams): Do a real check. 2002-05-30 André Pönitz * *.[Ch]: "fonts as inset" 2002-05-29 Lars Gullik Bjønnes * switch from SigC signals to boost::signals. 2002-05-26 John Levon * formulabase.C: * formulabase.h: * math_inset.h: use mouse_state. Kill insetKeyPress 2002-05-24 John Levon * math_support.C: font loader moved 2002-05-24 John Levon * formulabase.C: * formulamacro.C: * math_charinset.C: * math_funcinset.C: * math_support.C: * math_unknowninset.C: new name for font metrics 2002-05-24 Lars Gullik Bjønnes * math_autocorrect.C: include vector and add a using statement. 2002-05-23 André Pönitz * math_autocorrect.[Ch]: new "auto correction" feature * math_cursor.[Ch]: subsequent changes * math_parser.C: somewhat better error reporting 2002-05-23 John Levon * formula.C: * formulabase.C: LyXView moved into frontends/ 2002-05-23 John Levon * formula.C: * formulabase.C: * formulamacro.C: * math_binaryopinset.C: * math_casesinset.C: * math_charinset.C: * math_cursor.C: * math_fracinset.C: * math_funcinset.C: * math_gridinset.C: * math_hullinset.C: * math_macro.C: * math_macrotemplate.C: * math_rootinset.C: * math_spaceinset.C: * math_sqrtinset.C: * math_stringinset.C: * math_support.C: * math_unknowninset.C: * math_xdata.C: * math_xyarrowinset.C: move Painter to frontends/ 2002-05-22 Lars Gullik Bjønnes * math_exintinset.C: use more specific smart_ptr header. 2002-05-15 John Levon * math_cursor.C: clear selection on paste (bug 393) 2002-05-15 André Pönitz * formulabase.[Ch]: mark buffer as (Changed) after font changes 2002-05-13 André Pönitz * math_cursor.[Ch]: honor lyxrc setting for auto_delete_region 2002-05-13 André Pönitz * math_cursor.C: fix crash on paste as reported by Piroux Geoffroy 2002-04-24 Juergen Vigna * formulabase.C (insetButtonPress): set the mathcursor in case we don't have one. This happens when clicking on a non locked mathed inset with any button != 1. (insetButtonPress): Forgot about this the Panel should NEVER be opened in a Press event ONLY in the Release event! 2002-04-22 Jean-Marc Lasgouttes * formulabase.C (localDispatch): merge the cases for LFUN_PROTECTEDSPACE and LFUN_MATH_SPACE, since they were identical. 2002-04-16 Jean-Marc Lasgouttes * formulabase.C (localDispatch): handle arguments of LFUN_MATH_DELIM better. 2002-04-04 Angus Leeming * formulabase.C: remove unused variables hack_x, hack_y, hack_button. 2002-04-02 Allan Rae * math_cursor.C (info): make it work with lyxstring and std::string 2002-03-12 André Pönitz * math_cursor.C: fix some Up/Down "issues" 2002-03-21 Lars Gullik Bjønnes * most files: ws cleanup * Makefile.am: remove ld -r stuff 2002-03-20 Lars Gullik Bjønnes * Makefile.am: special rules if partial linking 2002-03-18 Angus Leeming * math_charinset.C: wrap the std::strchr declaration inside a check for CXX_GLOBAL_CSTD. 2002-03-18 Angus Leeming * math_biginset.[Ch] (size): return size_type, not int. * math_inset.C (metrics): parameter "mi" is never referenced. Removed. * math_hullinset.C (metrics): ditto. 2002-03-12 André Pönitz * math_xarray.[Ch] et al: really use metrics cache if possible... 2002-03-07 Martin Vermeer * math_decorationinset.C: add leftrightarrows to the displayable symbols. 2002-02-18 Angus Leeming * formula.C Changes due to the renaming of support/syscall.[Ch] as support/systemcall.[Ch] and of class Systemcalls as class SystemCall. 2002-02-16 Angus Leeming * formula.C: change Systemcalls::System to Systemcalls::Wait and No change of functionality, just reflects the stripped down Systemcalls class. 2002-02-08 André Pönitz * math_support.[Ch]: some support for \dddot 2002-02-08 Otto Tronarp * math_decorationinset.C: * math_support.C: * math_hash.C: Added \underrightarrow and \underleftarrow 2002-02-08 Martin Vermeer * formulabase.C (localDispatch): fix umlaut handling * formulabase.C: pop up math panel on right mouse click 2002-02-01 André Pönitz * math_xarrowinset.[Ch]: support for \xrightarrow and \xleftarrow 2002-02-01 André Pönitz * math_xymatrixinset.[Ch]: some support for \xymatrix 2002-02-01 André Pönitz * math_undersetinset.[Ch]: implement direct support for \underset 2002-01-28 Martin Vermeer * math_support.C: removed the arrays latex_mathstyle[] and latex_mathfontcmds[] to the frontends. 2002-01-26 Dekel Tsur * math_macrotable.C (builtinMacros): Add macros for \models and \Join. 2002-01-19 Jean-Marc Lasgouttes * math_factory.C (createMathInset): add a default: label in switch 2002-01-14 Angus Leeming * formulabase.[Ch] (searchForward, searchBackward): change the bool const & params to bool. 2002-01-14 Martin Vermeer * math_macrotable.C: added macros for Blackboard Bold, Calligraphic symbols support in mathed. Kludge. 2002-01-14 Angus Leeming * math_mathmlstream.C (operator<<): use lyx::count rather than countChar. * math_streamstr.C (operator<<): ditto. 2002-01-10 Jean-Marc Lasgouttes * math_support.C: change latex_mathfontcmds to an array of kb_action. 2002-01-11 Angus Leeming * math_exfuncinset.C: remove using std::ostream declaration. * math_kerninset.C: whitespace change, consistent with other files. * math_mathmlstream.C (operator<<): * math_streamstr.C (operator<<): use countChar rather than std::count. * math_parser.C (operator==): comment out. Not used. 2002-01-10 Martin Vermeer * formulabase.C (localDispatch): handle LFUN_FRAK and LFUN_ITAL. * math_support.C: separate string arrays for math style and for font commands. 2002-01-10 Dekel Tsur * math_parser.C (parse_normal): Support for \begin{math} 2002-01-09 Jean-Marc Lasgouttes * math_hullinset.C (validate): rename feature "amsstyle" to "amsmath". 2002-01-09 Martin Vermeer * math_support.C: modified to support a mathed pop-up for math size "styles" and font types. 2002-01-07 Angus Leeming * math_defs.h: remove trailing comma from enum MathTextCodes. 2002-01-03 André Pönitz * formulabase.[Ch]: implement simple search * math_sizeinset.[Ch]: support for \displaystyle etc 2001-12-18 Dekel Tsur * math_macrotable.C (builtinMacros): Adjust kern values. 2001-12-18 Lars Gullik Bjønnes * math_atom.C: * math_binaryopinset.C: * math_binominset.C: * math_casesinset.C: * math_charinset.C: * math_data.C: * math_diminset.C:add missing config.h * math_cursor.C: * math_parser.C: move inludes around a bit. * math_extinset.C: user boost::scoped_ptr * math_parser.C: user std::fill to fill the catcodes. (please check this one...), and some consts. 2001-12-11 André Pönitz * math_cursor.C: allow cut&paste of rectangular regions of cells 2001-12-15 Dekel Tsur * math_kerninset.C (metrics): Consider lyxrc.zoom 2001-12-14 Dekel Tsur * math_support.C: Fix handling of \mathfrak font. 2001-12-10 Lars Gullik Bjønnes * math_iterator.C (nextInset): compilation fix. 2001-12-11 André Pönitz * math_defs.h: * math_parser.C: * math_hash.C: support for \mathfrak 2001-12-12 Angus Leeming * math_streamstr.C: #include to compile with DEC cxx 2001-12-05 Lars Gullik Bjønnes * math_arrayinset.C: * math_boxinset.C: * math_decorationinset.C: * math_deliminset.C: * math_dotsinset.C: * math_exfuncinset.C: * math_exintinset.C: * math_funcinset.C: * math_funcliminset.C: * math_hullinset.C: * math_kerninset.C: * math_limopinset.C: * math_sizeinset.C: * math_stringinset.C: * math_symbolinset.C: * math_unknowninset.C: include math_streamstr.h and remove unneeded c_str() * math_symbolinset.[Ch]: add constructor taking string * math_mathmlstream.C: move includes around * math_streamstr.[Ch]: add operator<<(Stream, string) for NormalStream, MapleStream, MathMLStream and OctaveStream * math_gridinset.C: user LyXLength::zero 2001-11-19 Angus Leeming * formula.C: * math_arrayinset.C: add using std::getline directive. 2001-11-20 André Pönitz * formulabase.C: fix mouse positioning using the cursor 2001-11-19 Dekel Tsur * math_mathmlstream.C (operator<<): Count '\n' chars 2001-11-11 Michael A. Koziarski * math_macro.C * math_hullinset.C: Fixes to use the new LaTeXFeatures correctly. 2001-11-07 André Pönitz * math_extern.C: support for integrals, sums, e^x, and d/dx 2001-11-15 Jean-Marc Lasgouttes * math_extern.C (extractNumber): (extractDiffExponent): add ugly .c_str() 2001-11-08 Jean-Marc Lasgouttes * math_arrayinset.C (MathArrayInset): * formula.C (pipeThroughMaple): (pipeThroughOctave): add ugly .c_str() to help compile with lyxstring 2001-11-07 Jean-Marc Lasgouttes * math_inset.C: compilation fix 2001-11-07 André Pönitz * math_*inset.[Ch]: * array.[Ch]: start native C++ support for Octave, Maple and MathML 2001-10-31 Angus Leeming * math_defs.h: remove non-standard trailing comma from MathSymbolTypes. 2001-10-24 Angus Leeming * math_nestinset.C: added using std::max, min directives. * math_scriptinset.C: added using std::ostream directive. * math_scriptinset.h: replaced ostream with std::ostream. 2001-10-17 André Pönitz * math_*inset.[Ch]: remove MathStyles cache from insets that don't need it * support.C: formulabase.C: fix math font sizes in headings etc * math_inset.[Ch]: formula.C: remove unused static member int MathInset::workwidth * math_gridinset.[Ch]: implement idxHome() and idxEnd() 2001-10-17 André Pönitz * math_inset.h: * *.[Ch]: make output more stream-like 2001-10-17 André Pönitz * formula.C: * array.C: add missing/broken writeNormal() * math_lefteqn.[Ch]: some visual support for \lefteqn 2001-10-10 André Pönitz * math_cursor.C: introduce dummy "inner" position "between" nucleus and scripts for smoother cursor movement * math_cursor.C: use red dot to indicate empty nucleus 2001-10-02 André Pönitz * math_cursor.C: leave red backslash as visual clue in formula when typing macro names * math_macrotemplate.C: sanity check 2001-10-01 Jean-Marc Lasgouttes * math_cursor.C: * formula.C (localDispatch): fix a few of local variable sizes * math_fracbase.C: change parameter types to match MathInset 2001-10-01 André Pönitz * math_cursor.[Ch]: remove local parInset() method * math_macro.C: add a static_cast 2001-09-27 Jean-Marc Lasgouttes * math_cursor.C: fix type mismatches with what was declared in math_cursor.h. 2001-09-28 Dekel Tsur * math_matrixinset.C (header_write): Add \n after \begin{align} 2001-09-19 Dekel Tsur * math_macrotable.C (builtinMacros): Add some macros if latex fonts are available. 2001-09-14 Jean-Marc Lasgouttes * formula.C (insetAllowed): disallow label insertion in inline formula 2001-09-12 Jean-Marc Lasgouttes * formulabase.C (mathDispatchCreation): pass second argument 'false' (no label) to selectionAsString 2001-09-11 André Pönitz * math_atom.[Ch]: new basic item in the MathArray * array.[Ch]: move code over to math_atom * math_scriptinset.[Ch]: math_parser.C: math_cursor.C: try to do with super- and subscripts what TeX does 2001-09-04 Jean-Marc Lasgouttes * math_parser.C (tokenize): add a .c_str() (needed with lyxstring) 2001-09-04 André Pönitz * math_defs.h: * math_parser.C: * math_matrixinset.C: some support for the AMS 'alignat', 'xalignat', 'xxalignt', 'gather' and 'multiline' environments * math_cursor.C: fix handling of | and \| 2001-09-04 José Matos * formulabase.C * formulabase.h * formula.C * formula.h * formulamacro.C * formulamacro.h (docbook): rename docBook method to docbook. 2001-09-03 Dekel Tsur * math_hash.C (ReadSymbols): Check for duplicate symbols 2001-09-02 Angus Leeming * support.C: added a using std::map directive. 2001-08-17 André Pönitz * math_hash.C: Use std::map instead of faking it * symbol_def.h: remove unneeded symbol definitions * support.C: use the decorations' name for drawing 2001-09-02 Dekel Tsur * math_hash.C (in_word_set): Initialize symbol table even when symbols file was not found. 2001-09-02 Angus Leeming * math_hash.C: added a using std::endl directive. 2001-09-01 Dekel Tsur * support.C (whichFont): Add support for cmr font. Add support for \mathbb. * math_notinset.C (draw, metrics): Use cmsy symbol if available. * math_macrotable.C (builtinMacros): Add 3 builtin macros 2001-08-31 Dekel Tsur * math_hash.C: Read symbols information from external file many files: Add support for latex symbol fonts 2001-08-18 Dekel Tsur * math_parser.C (Parser): Eat spaces after \end_inset 2001-08-17 Lars Gullik Bjønnes * math_parser.C (tokenize): fix typo 2001-08-17 André Pönitz * math_parser.C: new "lexxer" * array.C: write sequences of chars with same code as a unit 2001-08-13 André Pönitz * math_factory.[Ch]: new files for the creation of math insets * math_parser.C: math_cursor.C: math_hash.C: simplifications * math_binom.[Ch]: new files for "native" \binom/\choose inset * math_parser.C: math_cursor.C: reading support for TeX style \over and \choose * formulabase.C: re-enabling the "selected text gets converted to math when pressing C-m" feature. 2001-08-13 Angus Leeming * math_parser.C (lexArg): remove default argument from the .C file as it causes DEC cxx to complain about a redefinition. 2001-08-10 André Pönitz * math_scopeinset.[Ch]: new inset for {} blocks * math_accentinset.[Ch]: removed unneeded files * math_grid.[Ch]: math_matrix.[Ch]: start support for "interrow spacing" * all over the place: rework of parser stuff 2001-08-08 André Pönitz * math_fracbase.[Ch]: * math_fracinset.[Ch]: new hierarchy * math_stackrelbase.[Ch]: native \stackrel support * math_inset.[Ch]: removal of the name_ member * math_deliminset.[Ch]: rework 2001-08-06 André Pönitz * formulamacro.C: fix nasty bug due to missing copy constructor * math_bigopinset.[Ch]: revival for things like \int, \sum * math_funcliminset.[Ch]: dedicated new inset for \lim, \max, \min... * math_diminset.h: make cache variables mutable, remove const_cast * formulabase.[Ch]: remove unneeded convertFont() * math_funcinset.[Ch]: bring red color back * math_macro*.[Ch]: move ownership of the templates from the formulamacro inset to the mcaro table 2001-08-01 André Pönitz * math_cursor.C: formulamacro.C: fix memory leaks * math_matrixinset.C: fix mis-alignment of eqnarray columns * formula*.[Ch]: seperation of the "pimpl" MathInset * into MathMatrixInset * and MathMacroTemplate * to save a few casts * all over the place: everything is an inset now * math_nestinset.[Ch]: new abstract base class for insets containing other insets. * math_diminset.[Ch]: new abstract base class for insets that need the width_/ascent_/descent_ cache 2001-07-25 André Pönitz * formulabase.C: re-enable 'space enlargement' feature * math_scriptinset.C: math_bigopinset.C: rework of script insets 2001-07-22 André Pönitz * math_cursor.C: fix "pullArg" behaviour * math_cursor.C: keep empty super/subscript a bit longer * math_cursor.C: do not move into insets that don't have inner cells yet * formulabase.C: fix memory leak * math_cursor.C: ^ now copies selection into new srriptinset * xarray.C: less crude MathXArray::x2pos for preciser cursor positioning using the mouse * math_updowninset.C: fix drawing glitches * math_cursor.C: paste to correct position 2001-07-22 Jean-Marc Lasgouttes * formula.C (insetAllowed): allow insertion of label 2001-07-20 André Pönitz * math_macrotable.C: support for \land and \vee 2001-07-16 André Pönitz * math_grid.[Ch] -> math_gridinset.[Ch] math_root.[Ch] -> math_rootinset.[Ch]: more consistent names * formulabase.C: fix 'buffer set to (Changed) when moving in math', fix 'mathed reports wrong width', cosmetics 2001-07-16 Lars Gullik Bjønnes * math_cursor.C (operator==): moved ouf of struct (operator<): ditto (normalAnchor): reversed one test (but shouldn't it really be >= ?) 2001-07-16 André Pönitz * math_cursor.[hC]: multicell selection (multicell pasete still defunct) * several files: supporting changes 2001-07-13 Angus Leeming Consistent use of Lsstream.h: * formula.C: removed using std::ostringstream directive. * math_cursor.C: std::istringstream -> istringstream. 2001-07-13 Jean-Marc Lasgouttes * math_decorationinset.h: add std:: qualifier 2001-07-12 André Pönitz * math_updowninset.[hC]: new base class for script and bigop insets *.[hC]: subsequent changes to all Metric() functions * math_parser.C: small changes (\sqrt0 is read properly now) 2001-07-10 André Pönitz * math_accentinset.[hC]: rewrite * math_parser.C: math_cursor.C: subsequent changes * math_grid.C: in the first cell of a completely empty row deletes that row, places the cursor in the first of the new empty cells. * math_grid.C: try to split cell nicely when mutating from single-cell to multi-cell environment 2001-07-09 Dekel Tsur * math_matrixinset.C (mutate): Use only the first label when mutating eqnarray to display formula. 2001-07-09 Juergen Vigna * formulabase.C (mathDispatchCreation): don't do anything with the inset if it cannot be inserted! 2001-07-09 Jean-Marc Lasgouttes * formulabase.C (mathDispatchInsertMath): remove bogus return statement. 2001-07-09 André Pönitz * math_*inset.C: Change order of arguments in MathInset constructor * math_cursor.C: Remove broken "increase space" feature for a while 2001-07-07 Dekel Tsur * formulabase.C (mathDispatchInsertMath): Create an inline formula. 2001-07-04 André Pönitz * math_parser.C: fix reading of "unusual" alpha chars * xarray.[hC]: fix debug output of xarray 2001-07-03 André Pönitz * math_parser.C: fix bug where equations did not get their labels * formulabase.C: new feature: changing font on selection * several files: subsequent changes * array.C: fix bug when insets have not been cloned properly This should fix quite a few "random" crashes... 2001-06-29 Jean-Marc Lasgouttes * formulabase.C (localDispatch): use .c_str() on istringstream constructor argument. 2001-06-27 Jean-Marc Lasgouttes * math_grid.C (addCol): add second argument to cellinfo_.insert. Cleanup a bit the code. (appendRow): do not call push_back without argument. * *.C: remove all "using namespace std" directives (not good!!) and replaced it with relevant "using" directives. * math_macrotemplate.C (Clone): change return type to MathInset* 2001-06-27 Lars Gullik Bjønnes * math_sizeinset.C: include support/LOstream.h * math_scriptinset.C (Metrics): std:: qualify max * math_root.C (Metrics): std:: qualify max (Write): std:: qualify ostream (WriteNormal): ditto * math_matrixinset.C (getLabelList): std:: qualify vector include vector (Metrics): std:: qualify max (header_write): std:: qualify ostream (footer_write): ditto * math_macrotemplate.C (Write): std:: qualify ostream * math_bigopinset.C (Metrics): std:: qualify max, and include functional * math_matrixinset.h: include vector and std:: qualify it. * array.C (GetInset): get a pointer to the first element of bf_ not an iterator. 2001-06-25 The LyX Project * math_scriptinset.C: Fix for entering with cursor up/down. * math_fracinset.C: We can enter fractions with cursor up and down. * math_cursor.C (Right): Fixes for cursor movement. * formula.C (draw): New background color for math. * math_cursor.C: Fixes for toggling labels on/off in math. Fixes for infinity and other symbols that didn't appear in LaTeX. 2001-06-24 The LyX Project * math_inset.C: Cursor movement is better in square roots, among other things. * math_cursor.C (Interpret): Improved subscript bullshit. Improved cursor up/down movement. What not. 2001-06-24 The LyX Project * math_matrixinset.C: Hidden labels are hidden, unless a small dragon jumps out of the screen, and pronounce them to the entire world. 2001-06-24 The LyX Project * math_cursor.C: Cursor improvements after a few dead-ends in the evolution of cursor movement were tested and scrapped. 2001-06-24 The LyX Project * math_cursor.C: Renamed stack to path. 2001-06-24 The LyX Project * *.[Ch]: Makefile.am: The Big Patch (rewrite of MathArray, MathCursor, MathMatrixInset, MathBigopInset; new MathScriptInset for up/down stuff; delete MathIter/MatXIter, MathParInset, MathRowSt Changes to the inset inheritance tree, reunification of abstract math inset base classes; label/numbering handling back to life; major changes to the parser(s); new base class FormulaBase for the two math LyXInsets; general cleanup and cosmetic changes) 2001-06-19 Angus Leeming * math_macro.C: * math_root.C: removed // -*- C++ -*- as first line. 2001-05-31 Jean-Marc Lasgouttes * array.C: bring memmove into main namespace if necessary 2001-05-31 Lars Gullik Bjønnes * math_parser.C (yylex): use contains instead of strchr (parse_align): remove last arg, change to take string const & as first arg. (mathed_parse): use string for ar2 and ar, adjust * math_decorationinset.C (Write): use compare instead of strcmp * formula.C (LocalDispatch): change arg2 to string, adjust for this (LocalDispatch): add std:: (LocalDispatch): use contains instead of strchr * array.C (move): add std:: 2001-05-02 Jean-Marc Lasgouttes * matriz.C: add using directives when needed for C functions declared in std:: namespace. * math_macrotemplate.h: do not use explicitely std::string, but string. * math_macroarg.C: avoid bringing the whole std:: namespace in global-land. When you do that, there is an ambiguity between lyxstring and std::string (which may be defined at the same time). * formula.C (HandleExtern): add .c_str() to .str() (useful when using lyxtring) 2001-04-27 André Pönitz * math_parser.C: fix \frac handling bug introduced on 04-24 * math_xiter.C: hotfix for merging "shared" insets * formula.C: fixing display after using math-insert 2001-04-25 André Pönitz * math_*.[Ch]: WriteNormal * formula.C: Support for new "math extern" command * math_parser.C: fix \frac handling bug introduced on 04-24 * math_xiter.C: hotfix for merging "shared" insets 2001-04-25 Lars Gullik Bjønnes * math_macrotable.C: include 2001-04-24 André Pönitz * math_macro.[Ch]: * math_macrotable.[Ch]: * math_macroarg.[Ch]: restructuring of macro handling * several files: 2001-04-25 Angus Leeming * array.h (operator<<): * math_macro.h (dump, operator<<): added std:: qualifier to ostream. * math_macrotable.C: added using std::make_pair directive. (dump): added using std::cerr directive here as I guess that this is temporary. 2001-04-20 Allan Rae * formula.C (LocalDispatch): fixed another #warning. Guess who. 2001-04-17 Lars Gullik Bjønnes * math_macrotemplate.h: inherit privately from noncopyable * math_macro.C (Metrics): reindent, use unsigned int as loop var (setArgumentIdx): change test to avoid unsigned warning * formula.C (LocalDispatch): use LFUN_MESSAGE 2001-04-16 Allan Rae * formula.C (Latex, getLabelList, LocalDispatch): * math_parser.C (mathed_parse): * math_parinset.C (Write): #warning triggers an error on Sun CC 6.0 as an unrecognised preprocessor directive. So ensure they're wrapped. 2001-04-04 Lars Gullik Bjønnes * formula.C (draw): adjust for cursor_visible (ToggleInsetCursor): adjust for cursor_visible and constify asc and desc (ShowInsetCursor): adjust for cursor_visible and constify asc and desc (HideInsetCursor): adjust for cursor_visible (LocalDispatch): constify default_label and res 2001-03-16 Jean-Marc Lasgouttes * math_rowst.C: add missing #include . 2001-03-16 André Pönitz * math_matrixinset.h: * math_parinset.[Ch]: * math_rowst.[Ch]: move MathedRowContainer::row_ to the base 2001-03-13 John Levon * Makefile.am: * formula.C: * math_forms.h: * math_forms.C: * math_panel.h: * math_panel.C: * math_symbols.C: maths panel moved to GUII 2001-03-16 Lars Gullik Bjønnes * math_cursor.C: use lyxerr instead of cerr. 2001-03-15 André Pönitz * math_cursor.C: fix bug (cursor was leaving two insets at a time instead of one) 2001-03-15 Lars Gullik Bjønnes * math_macrotable.h: noncopyable is in namespace boost * math_macrotemplate.h: ditto * math_rowst.h: make MathedRowContainer::iterator public. 2001-03-15 André Pönitz * math_parser.C: read '\nonumber' again (was broken) * math_rowst.C: new file 2001-03-15 Angus Leeming * math_cursor.C: added using directive. 2001-03-15 André Pönitz * math_rowst.h: Finally remove MathedRowSt * math_parser.C: math_xiter.C: changed accordingly 2001-03-12 André Pönitz * math_rowst.h: replace MathedRowSt with MathedRowStruct, more robust MathedRowSt::[gs]etTab (to get rid of the constructor arg) 2001-03-10 André Pönitz * math_xiter.[Ch]: math_matrixinset.C: move adjustVerticalSt to the only place where it is used. Fix a small bug where the cached row structure and the actual data get out of sync after the deletion of whole rows 2001-03-09 André Pönitz * math_cursor.C: use std::vector<> in MathStackXIter change selstk from a pointer to the "real thing" * math_rowst.h: new MathedRowContainer::erase method * math_xiter.C: use MathedRowContainer::erase * math_parser.C: use MathedRowContainer::insert_after 2001-03-08 André Pönitz * math_rowst.h: give MathedRowContainer an 'insert' method. * math_xiter.C: new 'container()' method to encapsulated access to the MathParInset's MathedRowContainer * math_rowst.h: proper copy constructor and destructor for MathedRowContainer * math_matrixinset.[hC]: remove copy constructr and destructor. Those automatically created by the compiler are ok now. 2001-03-06 André Pönitz * array.[Ch]: factor out deep_copy, remove third argument from raw_pointer_insert * math_iter.[Ch]: remove unused function Clear() * math_cursor.C: change signature of MathStackXIter:push() whitespace changes * math_rowst.h: introduction of MathRowContainer several files: corresponding changes 2001-03-04 André Pönitz * math_macrotemplate.[Ch]: math_macro.C: move update() functionality to the macro * math_rowst.h: split MathedRowSt into "data" and "list" 2001-03-01 Lars Gullik Bjønnes * math_macrotemplate.C (update): use MathMacro::getArg, and receive a const reference. (getMacroPar): add an Assert * math_macrotemplate.h: make MathMacro a friend, make update take a const reference. * math_macro.[hC]: get rid of getRowSt, remove MacroArgumentBase and store a MathMacroArgument in the vector * math_macro.C: changes because of the above. (getArg): new method * math_parser.C (mathed_parse): plug potential leak * math_iter.h: add comment on virtual destructor * math_iter.C (Delete): make c const * math_parinset.C (Metrics): cleanup indent. make one string const. * math_inset.C (size): move out of line (incSize): ditto * math_macroarg.h: remove default constructor * math_macroarg.C: include Lsstream.h instead of debug.h (MathMacroArgument): remove default constructor (Write): add std:: on ostream arg 2001-02-23 John Levon * math_parser.C: * formula.C: make DEBUG into lyxerr 2001-03-01 Lars Gullik Bjønnes * math_macrotemplate.h: make noncopyable, remove last arg to constructor, remove flags_ add edit_ (flags): remove method * math_macrotemplate.C (setArgument): delete method (update): make idx const (Metrics): use edit_, remove flags_ (draw): use edit_, remove flags_ (setEditMode): set edit_, remove flags_ (MathMacroTemplate): initialize edit_, remove flags_ * math_macro.h: remove x,y from MacroArgumentBase, make tmplate_ a shared_ptr, let constructor take a shared_ptr * math_macro.C (MathMacro): take shared_ptr as arg, remove double initialization. (draw): remove unneded update, remove removed update of x,y (GetXY): call tmplates GetMacroXY directly (SetFocus): call Metrics() instead of update() (Write): remove support for math macro environments, simplifications. * math_macrotable.h: make class noncopyable, change getMacro to createMacro, change vector to map store a shared_ptr in it., remove unneeded typedef * math_macrotable.C: add pragma (createMacro): change name from getMacro, use shared_ptr (getTemplate): Use map lookup to get macro, return shared_ptr (addTemplate): assert that m containse a valid pointer, use map[] insert. (builtinMacros): by using shared_ptr fix the mem leak, remove commented out unsupported macros * math_cursor.C: changes because of the above * math_parser.C: changes because of the abobe * formulamacro.h: change tmacro_ to be a shared_ptr, remove default arg on constructor. * formulamacro.C: changes because of the above * math_parinset.h: add pragma (SetAlign): move inline out of class def (GetColumns): ditto (GetRows): ditto (isMatrix): ditto (setArgumentIdx): ditto (setNextArgIdx): ditto (getArgumentIdx): ditto (getMaxArgumentIdx): ditto (setRowSt): ditto (xo): ditto (yo): ditto * math_parinset.C: add pragma (Write): change the else clause, lessen depth * math_macroarg.h: small whitespace change * array.C: include support/LOstream.h add using ostream and endl * array.h (dump): add std:: on ostream 2001-02-28 Lars Gullik Bjønnes * math_macrotemplate.h: remove default arg on update * math_macrotemplate.C (update): add assert and remove noop case. * formulamacro.C (Read): add comment. (ascent): remove noop call to MathMacroTemplate (descent): ditto (width): ditto (draw): ditto * math_parser.C (mathed_parse): fix another potential problem by passing a freestanding mathedarray. * math_root.C (GetData): add const version * math_parinset.C (~MathParInset): delete (GetData): add const version * math_matrixinset.C (MathMatrixInset): delete pointer version, make it a proper copy constructor instead (Clone): change acc. (MathMatrixInset): remvoe default val for m and n * math_macro.C (GetData): add const version * math_fracinset.C (GetData): add const version * math_cursor.C (SelCopy): make p1 and p2 const (SelCut): make p1 and p2 const * formula.h: add '_' on priv vars. Cnages in formula.C acc. to this (LyxCode): move inline out of class (ConvertFont): ditto (display): ditto * array.[Ch] (dump): method added for debugging purposes * math_parser.C (mathed_parse): pass a freestanding mathedarray to mathed_parse when reading a matrix. * math_spaceinset.[Ch]: add pragma, make variables private add '_', change order of method definitions. * math_root.h (~MathRootInset): delete Change uroot_ to be a real object instead of a pointer * math_root.C: changes because of the above * math_macro.C (MathMacro(MathMacro*)): delete constructor (MathMacro(MathMacro const &)): new copy constructor * math_inset.h: delete constructor taking a pointer to MathedInset (size, incSize): move inline method * math_funcinset.h: add pragma, remove class vars ln and fname, change protected to private, add '_' to priv vars. (~MathFuncInset): remove * math_fracinset.h: make MathParInset den_ a real object and not a pointer. * math_fracinset.C (MathFracInset): clean up, move initalization to initialization list (~MathFracInset): remove (Clone): remove leak * math_draw.C: delete file * math_dotsinset.[Ch]: add pragma * math_bigopinset.h: make protected variables private add '_' to vars. * math_bigopinset.C: move methods to follow class definition order * math_accentinset.h (getAccentCode): move inline here * math_accentinset.C (MathAccentInset): cleanup (draw): constify dw 2001-02-27 Lars Gullik Bjønnes * math_inset.[Ch] (MathedInset): remove method * Makefile.am (libmathed_la_SOURCES): correct typo * math_parinset.C (draw): move MathedXiter data(this) up. and remove it two other places. * math_macro.C (MathMacro): use array directly, don't use setArgumentIdx and GetData 2001-02-26 Lars Gullik Bjønnes * math_macroarg.C (MathMacroArgument): delete * math_macro.C (~MathMacro): delete * math_macrotemplate.C (~MathMacroTemplate): delete * math_decorationinset.[Ch]: add pragma * math_deliminset.[Ch]: likewise * math_fracinset.[Ch]: likewise * math_macroarg.[Ch]: likewise * math_macrotemplate.[Ch]: likewise * math_matrixinset.[Ch]: likewise * formulamacro.C (Read): set contents of tmacro_ to ar. * formulamacro.h: add '_' to private variables. * formalamacro.C: changes because of this. 2001-02-23 Juergen Vigna * formula.C (LocalDispatch): changed action to be a kb_action (as it should be) and not an int. * formulamacro.C (LocalDispatch): ditto. 2001-02-14 André Pönitz * math_parinset.[Ch]: make array a real MathArray, not just a pointer to one. * move MathIter::Copy(int, int) to MathArray::shrink(pos, pos) * several files: subsequent changes * math_cursor.C: make selarray a proper MathArray * several files: Change "MathedArray *" to "MathedArray &" 2001-02-19 Dekel Tsur * array.C (MathedArray): Fix compilation problem. 2001-02-14 André Pönitz * array.[Ch]: "deep" copy constructor and assignment operator for MathArray * math_iter.[Ch]: seperate Copy() from Copy(int, int) * math_iter.[Ch]: remove SetData several files: subsequent changes 2001-02-14 André Pönitz * array.[Ch]: remove constructor and enums ARRAY_MIN_SIZE and ARRAY_STEP * math_iter.C: default-construct and resize array 2001-02-17 Lars Gullik Bjønnes * math_xiter.h: move ipush and ipop to public, add _ on private variables, move protected var to private, remove friend. * math_cursor.C (insertInset): rename method from Insert also remove default arg val. Call the public methods of xiter instead of private variables. * changes to several files because of the above. 2001-02-14 André Pönitz * math_iter.[Ch]: hide fcode_ * math_xiter.C: * math_parinset.C: subsequent changes 2001-02-16 Lars Gullik Bjønnes * Makefile.am (libmathed_la_SOURCES): remove math_write.C, add math_utils.h * math_write.C: delete file * math_delim.C: delete file * marh_sqrtinset.h: delete file * move funcs to more localized files, more general cleanup. Constify several local vars. Doxygen changes. Formatting. 2001-02-15 Lars Gullik Bjønnes * support.C: add some consts * matriz.C: clean up a bit. (matmat): remove the for loop. * several files: changes so that several friends can be removed 2001-02-14 André Pönitz * formula.C: reformatting * math_cursor.[Ch]: math_iter.[Ch]: math_xiter.[Ch]: remove unneeded members 2001-02-14 Lars Gullik Bjønnes * math_parser.C: * math_panel.C: * formula.C: remove cruft * array.C (begin): new method (end): ditto 2001-02-14 André Pönitz * math_iter.[Ch]: remove 'insert', 'maxsize' and 'ARRAY_SIZE' * math_cursor.C: reformatting 2001-02-14 Jean-Marc Lasgouttes * math_spaceinset.C: * math_root.C: * math_matrixinset.C: * math_macrotemplate.C: * math_funcinset.C: * math_fracinset.C: * math_dotsinset.C: * math_deliminset.C: * math_decorationinset.C: * math_bigopinset.C: * math_accentinset.C: * math_sqrtinset.C: include LOstream.h and add using directive. 2001-02-14 André Pönitz * math_iter.C: reformatting 2001-02-13 Lars Gullik Bjønnes * math_spaceinset.C (GetSpace): move here * math_parinset.C: add debug.h, move several prev. inlined methods here. * math_macrotable.C math_xiter.C support.C: add debug.h * math_macro.h: remove debug.h, remove typedefs * math_macro.C: remove FORMS_H_LOCATION, and LString.h, remove extern decls. * math_hash.C: change some defines to int const. change use of LM_TC_NORMAL to LM_TC_VAR * math_draw.C: delete file * math_defs.h (MATH_DEFS): dont define byte here, remove unneded forward decls. remove LM_TC_NORMAL, move inline methods to support.C (and support.h) * math_cursor.C: move several previous inlined methods here * math_bigopinset.h math_dotsinset.h math_funcinset.h math_parinset.h math_spaceinset.h: add math_defs.h * math_accentinset.h: add support.h and math_defs.h * formulamacro.C math_cursor.C math_iter.h math_write.C: add support.h * formula.h: remove unused func decl: OpenMathInset * formula.C math_inset.h: get rid of math_defs.h * array.h: switch to support.h instead of math_defs.h * array.C: remove one include * Makefile.am (libmathed_la_SOURCES): remove math_draw.C * math_panel.C (deco_cb): move the sizeof/sizeof to a const int. * math_parser.C: include macrotable and macrotemplate * math_macrotemplate.[Ch]: new files * math_macrotable.[Ch]: new files * math_macroarg.[Ch]: new files * math_macro.C: move stuff to the new files. * math_cursor.C: include math_macrotable.h * macro_support.[Ch]: new files * formulamacro.C: add more includes * Makefile.am (libmathed_la_SOURCES): add new files. 2001-02-13 Jean-Marc Lasgouttes * Makefile.am (libmathed_la_SOURCES): remove duplicate math_sqrtinset. * support.C: * math_xiter.C: * math_parinset.C: add a bunch of "using" directives. * math_funcinset.h: * math_decorationinset.h: * math_bigopinset.h: * math_spaceinset.h: remove more couples of inline. 2001-02-13 Lars Gullik Bjønnes * math_xiter.h: remove a couple of "inline" * array.C (strange_copy): fix bug (hopefully) * many files: add a lot of new files and move methods to the class files they belong to. Only first attempt at cleanup more will follow. 2001-02-12 André Pönitz * math_macro.[hC]: replace MathMacroArgument[] with std::vector * math_defs.h: math_inset.C: replace int[] with std::vector * math_panel.h: * math_symbols.C: replace FL_OBJECTP[] with std::vector 2001-02-12 Lars Gullik Bjønnes * math_defs.h (struct MathedRowSt): make all private variables end with '_', initialize in initializer list instead of in function body. 2001-02-12 Dekel Tsur * formula.C (LocalDispatch): Change the default action of break-line to create an align* environment instead of eqnarray*. * math_inset.C (Metrics): Correct drawing of the multline environment. 2001-02-12 André Pönitz * array.[hC]: replace private variable maxsize_ with call to bf_.size() * math_defs.h: replace int[] by std::vector for MathedRowSt::widths 2001-02-09 Lars Gullik Bjønnes * array.h: made all variables private, removed friend, added new methods: raw_pointer_insert, raw_pointer_copy, strange_copy, added non const operator[] added setter for last and getter for maxsize. changed name from LyxArrayBase to MathedArray. changed name of some methods to start with lowerchar. moved inline methods to array.C * math_iter.C + several file: changes because of the above. * array.C: new file with the prev inline methods. 2001-02-10 Dekel Tsur * Many files: add support for the align environment from amsmath. 2001-02-09 André Pönitz * array.h: replace array buffer 'byte bf[]' by 'std::vector bf' * several files: subsequent changes * math_iter.h: remove unused prototype * array.h: ditto. 2001-02-08 Jean-Marc Lasgouttes * math_macro.C (draw): add .c_str() to .str() (useful when compiling with lyxstring, but STL sstream). (Metrics): ditto. 2001-02-08 André Pönitz * several files: get rid of reinterpret_cast. 2001-02-04 Allan Rae * math_parser.C (mathed_parse): I'm sure Lars has a better fix than just casting the variable. 2001-02-02 Dekel Tsur * Many files: Add support for multline and alignat environments from amsmath. 2001-02-02 Dekel Tsur * math_symbols.C (math_insert_greek): Move cursor right when unlocking the math inset. 2001-01-26 Dekel Tsur * math_parser.C (LexGetArg): Fix crash when loading corrupt files. * formula.C (LocalDispatch): Before inserting a label in an eqnarray, move the cursor to the top level. * math_iter.C (getLabel): Test if crow == 0. 2001-01-15 Dekel Tsur * math_draw.C (Metrics): Use the correct GetString.