]> 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 f78aee1ba71c02a8ce38dfa4fa153bbdce3fcfcd..b7308562ff2df2c26b58733081e78e2a3e8522e8 100644 (file)
@@ -5,7 +5,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author Alejandro Aguilar Sierra
- * \author André Pönitz
+ * \author André Pönitz
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -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(Cursor const * bvCur);
+       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);