]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMath.h
listerrors.lyx : Update a link.
[lyx.git] / src / mathed / InsetMath.h
index 4bbf4a00a564b0909e0212e0523fe7e1754047c4..24884ba541ebf0c827ce0524d848aff10a59ee56 100644 (file)
@@ -73,6 +73,7 @@ class InsetMathUnknown;
 
 class InsetMathRef;
 
+class HtmlStream;
 class NormalStream;
 class OctaveStream;
 class MapleStream;
@@ -93,10 +94,16 @@ class ReplaceData;
 
 class InsetMath : public Inset {
 public:
+       ///
+       InsetMath(Buffer * buf = 0) : Inset(buf) {}
        /// identification as math inset
        InsetMath * asInsetMath() { return this; }
+       /// identification as math inset
+       InsetMath const * asInsetMath() const { return this; }
        /// this is overridden in math text insets (i.e. mbox)
        bool inMathed() const { return true; }
+       ///
+       virtual docstring name() const;
 
        /// this is overridden by specific insets
        virtual mode_type currentMode() const { return MATH_MODE; }
@@ -182,8 +189,13 @@ public:
        virtual void maxima(MaximaStream &) const;
        /// write content as something readable by Mathematica
        virtual void mathematica(MathematicaStream &) const;
-       /// write content as something resembling MathML
+       /// write content as MathML
        virtual void mathmlize(MathStream &) const;
+       /// write content as HTML, best we can.
+       /// the idea for this, and some of the details, come from
+       /// eLyXer, written by Alex Fernandez. no code is borrowed. rather,
+       /// we try to mimic how eLyXer outputs some math.
+       virtual void htmlize(HtmlStream &) const;
        /// write content as something readable by Octave
        virtual void octave(OctaveStream &) const;
 
@@ -206,6 +218,8 @@ public:
        /// superscript kerning
        virtual int kerning(BufferView const *) const { return 0; }
        ///
+       bool isInToc() const { return true; }
+       ///
        InsetCode lyxCode() const { return MATH_CODE; }
 };