protected:
friend class MathData;
friend class ArgumentProxy;
friend class Cursor;
/// update the display mode (should only be called after detaching arguments)
protected:
friend class MathData;
friend class ArgumentProxy;
friend class Cursor;
/// update the display mode (should only be called after detaching arguments)
/// compute the next display mode
DisplayMode computeDisplayMode() const;
/// update macro definition
void updateMacro(MacroContext const & mc);
/// check if macro definition changed, argument changed etc. and adapt
/// compute the next display mode
DisplayMode computeDisplayMode() const;
/// update macro definition
void updateMacro(MacroContext const & mc);
/// check if macro definition changed, argument changed etc. and adapt
/// empty macro, put arguments into args, possibly strip arity-attachedArgsNum_ empty ones.
/// Includes the optional arguments.
void detachArguments(std::vector<MathData> & args, bool strip);
/// empty macro, put arguments into args, possibly strip arity-attachedArgsNum_ empty ones.
/// Includes the optional arguments.
void detachArguments(std::vector<MathData> & args, bool strip);