lyx_mirror/src/mathed
Jean-Marc Lasgouttes 0140348118 Linearize macros in box edit mode too.
The special mode used by macros where the macro name is displayed as
grey text in a box is now one of the possible marker types for any
inset. The new code puts the macro name below the text, which means
that only the text below the current line will be moved. This makes
edition much more comfortable.

The marker_type enum has been moved from Inset to InsetMath.

A new BOX_MARKER enum value has been added and is taken care of in
afterMetricsMarkers (renamed from metricsMarkerVertical) and
drawMarkers.

The InsetMath::marker() macro now takes a BufferView pointer as
argument, so that the marker type can depend on editing state.

MathRow::metrics now makes changes to the MathRow object when needed.

The specific metrics/draw code in MathMacro has been removed and
replaced by assertions. Code in addToMathRow and marker is adapted to
reflect the cases where linearization is possible.
2017-02-14 01:02:00 +01:00
..
BUGS
CMakeLists.txt Remove InsetMathXYArrow 2016-06-16 20:39:32 +02:00
CommandInset.cpp Get rid of Inset::setDimCache 2016-12-06 16:15:47 +01:00
CommandInset.h Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
InsetMath.cpp Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
InsetMath.h Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
InsetMathAMSArray.cpp InsetMath: match the screen display with the EnsureMath behaviour in output 2016-11-22 11:30:26 +01:00
InsetMathAMSArray.h Don't parse multicolumn if the grid does not support it 2016-11-05 18:36:39 +01:00
InsetMathArray.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathArray.h Don't parse multicolumn if the grid does not support it 2016-11-05 18:36:39 +01:00
InsetMathBig.cpp Implement mathClass() for \big and friends 2017-01-12 10:28:52 +01:00
InsetMathBig.h Implement mathClass() for \big and friends 2017-01-12 10:28:52 +01:00
InsetMathBoldSymbol.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathBoldSymbol.h
InsetMathBox.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathBox.h Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
InsetMathBrace.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathBrace.h
InsetMathCancel.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathCancel.h
InsetMathCancelto.cpp Rename InsetMathNest::metrics to cellsMetrics 2017-01-12 11:22:51 +01:00
InsetMathCancelto.h
InsetMathCases.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathCases.h Don't parse multicolumn if the grid does not support it 2016-11-05 18:36:39 +01:00
InsetMathChar.cpp Implement rule 17 2017-01-31 22:55:00 +01:00
InsetMathChar.h Introduce the notion of math class 2016-11-16 15:21:52 +01:00
InsetMathClass.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathClass.h Add support for \mathbin and friends 2016-11-16 15:21:53 +01:00
InsetMathColor.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathColor.h
InsetMathComment.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathComment.h
InsetMathDecoration.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathDecoration.h
InsetMathDelim.cpp Fix missing \bigg variants for \llbracket 2016-12-20 00:15:59 +01:00
InsetMathDelim.h Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
InsetMathDiagram.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathDiagram.h Correct computation of math font size 2016-11-21 00:02:35 +01:00
InsetMathDiff.cpp
InsetMathDiff.h
InsetMathDots.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathDots.h
InsetMathEnsureMath.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathEnsureMath.h
InsetMathEnv.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathEnv.h
InsetMathExFunc.cpp
InsetMathExFunc.h
InsetMathExInt.cpp
InsetMathExInt.h
InsetMathFont.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathFont.h Fix display and export of some latex macros 2016-09-10 18:32:44 +02:00
InsetMathFontOld.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathFontOld.h Remove a conversion to_utf8() inside FontSetChanger 2016-06-13 08:46:15 +01:00
InsetMathFrac.cpp Fix glitch in drawing fractions 2017-01-17 16:28:48 +01:00
InsetMathFrac.h Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
InsetMathGrid.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathGrid.h Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathHull.cpp Make the generation of children's tocs more robust 2017-01-14 23:13:14 +01:00
InsetMathHull.h Make the generation of children's tocs more robust 2017-01-14 23:13:14 +01:00
InsetMathKern.cpp Status bar information for InsetMathKern 2016-12-27 19:25:46 +01:00
InsetMathKern.h Status bar information for InsetMathKern 2016-12-27 19:25:46 +01:00
InsetMathLefteqn.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathLefteqn.h
InsetMathLim.cpp
InsetMathLim.h
InsetMathMatrix.cpp Use convertDelimToXMLEscape with matrix delimiters, too. 2016-06-29 22:52:27 -04:00
InsetMathMatrix.h Don't parse multicolumn if the grid does not support it 2016-11-05 18:36:39 +01:00
InsetMathNest.cpp Better fix for cursor in "blue box" 2017-02-06 17:23:00 +01:00
InsetMathNest.h Rename InsetMathNest::metrics to cellsMetrics 2017-01-12 11:22:51 +01:00
InsetMathNumber.cpp Do not include MetricsInfo.h in MathStream.h 2016-06-13 08:46:15 +01:00
InsetMathNumber.h
InsetMathOverset.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathOverset.h
InsetMathPar.cpp Do not include MetricsInfo.h in MathStream.h 2016-06-13 08:46:15 +01:00
InsetMathPar.h
InsetMathPhantom.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathPhantom.h
InsetMathRef.cpp
InsetMathRef.h
InsetMathRoot.cpp Rename InsetMathNest::metrics to cellsMetrics 2017-01-12 11:22:51 +01:00
InsetMathRoot.h
InsetMathScript.cpp Implement rule 17 2017-01-31 22:55:00 +01:00
InsetMathScript.h Implement rule 17 2017-01-31 22:55:00 +01:00
InsetMathSideset.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathSideset.h Implement rule 17 2017-01-31 22:55:00 +01:00
InsetMathSize.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathSize.h Correct computation of math font size 2016-11-21 00:02:35 +01:00
InsetMathSpace.cpp InsetMath: match the screen display with the EnsureMath behaviour in output 2016-11-22 11:30:26 +01:00
InsetMathSpace.h
InsetMathSpecialChar.cpp Implement rule 17 2017-01-31 22:55:00 +01:00
InsetMathSpecialChar.h
InsetMathSplit.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathSplit.h InsetMath: match the screen display with the EnsureMath behaviour in output 2016-11-22 11:30:26 +01:00
InsetMathSqrt.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathSqrt.h
InsetMathStackrel.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathStackrel.h Introduce the notion of math class 2016-11-16 15:21:52 +01:00
InsetMathString.cpp Do not include MetricsInfo.h in MathStream.h 2016-06-13 08:46:15 +01:00
InsetMathString.h
InsetMathSubstack.cpp InsetMath: match the screen display with the EnsureMath behaviour in output 2016-11-22 11:30:26 +01:00
InsetMathSubstack.h
InsetMathSymbol.cpp mathedSymbolDim only needs a MathBase 2016-11-21 00:08:11 +01:00
InsetMathSymbol.h Introduce the notion of math class 2016-11-16 15:21:52 +01:00
InsetMathTabular.cpp Fix borders of InsetMathGrid 2016-10-06 01:11:49 +02:00
InsetMathTabular.h Don't parse multicolumn if the grid does not support it 2016-11-05 18:36:39 +01:00
InsetMathUnderset.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathUnderset.h
InsetMathUnknown.cpp Do not include MetricsInfo.h in MathStream.h 2016-06-13 08:46:15 +01:00
InsetMathUnknown.h
InsetMathXArrow.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathXArrow.h MathClass of xrightarrow & co 2016-12-20 00:15:58 +01:00
InsetMathXYMatrix.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathXYMatrix.h Correct computation of math font size 2016-11-21 00:02:35 +01:00
MacroTable.cpp Don't print useless messages while parsing math macros 2016-10-31 15:23:20 +01:00
MacroTable.h Fix display and export of some latex macros 2016-09-10 18:32:44 +02:00
MathAtom.cpp
MathAtom.h
MathAutoCorrect.cpp Remove unused methods in anononymous namespace 2016-10-19 17:51:32 +02:00
MathAutoCorrect.h
MathClass.cpp Correct computation of math font size 2016-11-21 00:02:35 +01:00
MathClass.h Implement computation of spacing according to the TeXBook 2016-11-16 15:21:52 +01:00
MathCompletionList.h
MathData.cpp Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
MathData.h Implement rule 17 2017-01-31 22:55:00 +01:00
MathExtern.cpp Fix regression of 6dfc25508 2016-07-03 19:41:04 +02:00
MathExtern.h
MathFactory.cpp Disable InsetMathKern with invalid lengths (#10539) 2017-02-11 21:52:09 +01:00
MathFactory.h
MathMacro.cpp Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
MathMacro.h Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
MathMacroArgument.cpp Fix wrong parse of macro parameter and crash 2017-01-03 20:35:41 +01:00
MathMacroArgument.h Fix wrong parse of macro parameter and crash 2017-01-03 20:35:41 +01:00
MathMacroTemplate.cpp Fix font of macro template name 2017-01-14 23:13:14 +01:00
MathMacroTemplate.h Make the generation of children's tocs more robust 2017-01-14 23:13:14 +01:00
MathParser_flags.h
MathParser.cpp Disable InsetMathKern with invalid lengths (#10539) 2017-02-11 21:52:09 +01:00
MathParser.h
MathRow.cpp Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
MathRow.h Linearize macros in box edit mode too. 2017-02-14 01:02:00 +01:00
MathStream.cpp Fix display and output of math macros with optional arguments 2016-12-01 18:02:47 +01:00
MathStream.h Fix display and output of math macros with optional arguments 2016-12-01 18:02:47 +01:00
MathSupport.cpp Implement rule 17 2017-01-31 22:55:00 +01:00
MathSupport.h Fix missing \bigg variants for \llbracket 2016-12-20 00:15:59 +01:00
README
ReplaceData.h
texify
TextPainter.cpp
TextPainter.h

Inset 'Xyz' is implemented by 'MathXyzInset' in 'math_xyzinset.[hC]'


Inset hierarchy:

                                   MathInset
                                (abstract base)

                         /            |               \

              Dim                  Char               Symbol, Space, ...
         (thing that need       (for things formerly
          the width_/ascent_     known as characters)
          /descent_ cache)

          /             \

       Nest              Dots,  Func, ...
  (for thing with
   nested content)

        |         \

      Grid        Decoration   Delim   Frac  Macro  Root  Script  Sqrt

      /   \

 Array    Hull
         (base for eqnarray/align/...)