X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathData.h;h=1ddf623685218ff3e0dc5b0a849d12b34fdc9b4b;hb=36dbec45069bf3d9db923200835e44f44d904eb8;hp=24f08c545b6e72736862ea0542ca86fb40bf0fa1;hpb=95146d3cf911230ee6c810e22d0243f83ce977a3;p=features.git diff --git a/src/mathed/MathData.h b/src/mathed/MathData.h index 24f08c545b..1ddf623685 100644 --- a/src/mathed/MathData.h +++ b/src/mathed/MathData.h @@ -27,8 +27,10 @@ namespace lyx { class BufferView; class Cursor; +class DocIterator; class LaTeXFeatures; class ReplaceData; +class MacroContext; class MathMacro; class MetricsInfo; class PainterInfo; @@ -154,6 +156,10 @@ public: /// void swap(MathData & ar) { base_type::swap(ar); } + /// attach/detach arguments to macros, updating the cur to + /// stay visually at the same position (cur==0 is allowed) + void updateMacros(Cursor * cur, MacroContext const & mc); + protected: /// cached values for super/subscript placement mutable int minasc_; @@ -166,20 +172,18 @@ private: /// is this an exact match at this position? bool find1(MathData const & ar, size_type pos) const; - /// attach/detach arguments to macros - void updateMacros(MetricsInfo & mi); /// - void detachMacroParameters(Cursor & cur, const size_type macroPos); + void detachMacroParameters(Cursor * cur, const size_type macroPos); /// - void attachMacroParameters(Cursor & cur, const size_type macroPos, + void attachMacroParameters(Cursor * cur, const size_type macroPos, const size_type macroNumArgs, const int macroOptionals, const bool fromInitToNormalMode, const bool interactiveInit); /// - void collectOptionalParameters(Cursor & cur, + void collectOptionalParameters(Cursor * cur, const size_type numOptionalParams, std::vector & params, size_t & pos, const pos_type macroPos, const int thisPos, const int thisSlice); /// - void collectParameters(Cursor & cur, + void collectParameters(Cursor * cur, const size_type numParams, std::vector & params, size_t & pos, MathAtom & scriptToPutAround, const pos_type macroPos, const int thisPos, const int thisSlice);