]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathMacro.h
Merge branch 'master' of git.lyx.org:lyx
[lyx.git] / src / mathed / MathMacro.h
index 5edac1df786bfd7df3cc63bc82068532135e1ef7..b7308562ff2df2c26b58733081e78e2a3e8522e8 100644 (file)
@@ -26,7 +26,7 @@ namespace lyx {
 class MathMacro : public InsetMathNest {
 public:
        /// A macro can be built from an existing template
-       MathMacro(docstring const & name);
+       MathMacro(Buffer * buf, docstring const & name);
        ///
        virtual MathMacro * asMacro() { return this; }
        ///
@@ -69,10 +69,14 @@ public:
        ///
        void write(WriteStream & os) const;
        ///
+       void normalize(NormalStream & os) const;
+       ///
        void maple(MapleStream &) const;
        ///
        void mathmlize(MathStream &) const;
        ///
+       void htmlize(HtmlStream &) const;
+       ///
        void octave(OctaveStream &) const;
        ///
        void infoize(odocstream &) const;
@@ -90,7 +94,7 @@ public:
                DISPLAY_INIT,
                DISPLAY_INTERACTIVE_INIT,
                DISPLAY_UNFOLDED,
-               DISPLAY_NORMAL,
+               DISPLAY_NORMAL
        };
 
        ///
@@ -120,6 +124,8 @@ public:
        }
        /// Return the maximal number of arguments the macro is greedy for.
        size_t appetite() const { return appetite_; }
+       ///
+       InsetCode lyxCode() const { return MATH_MACRO_CODE; }
 
 protected:
        friend class MathData;
@@ -133,7 +139,7 @@ protected:
        /// update macro definition
        void updateMacro(MacroContext const & mc);
        /// check if macro definition changed, argument changed etc. and adapt
-       void updateRepresentation();
+       void updateRepresentation(Cursor * cur, MacroContext const & mc, UpdateType);
        /// empty macro, put arguments into args, possibly strip arity-attachedArgsNum_ empty ones.
        /// Includes the optional arguments.
        void detachArguments(std::vector<MathData> & args, bool strip);