]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMath.h
listerrors.lyx : Update a link.
[lyx.git] / src / mathed / InsetMath.h
index f60602c5fe8fb4dd58d850422a80d34505a82c68..24884ba541ebf0c827ce0524d848aff10a59ee56 100644 (file)
@@ -31,7 +31,8 @@ enum HullType {
        hullXXAlignAt,
        hullFlAlign,
        hullMultline,
-       hullGather
+       hullGather,
+       hullRegexp
 };
 
 HullType hullType(docstring const & name);
@@ -72,6 +73,7 @@ class InsetMathUnknown;
 
 class InsetMathRef;
 
+class HtmlStream;
 class NormalStream;
 class OctaveStream;
 class MapleStream;
@@ -92,10 +94,19 @@ 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; }
 
        /// the ascent of the inset above the baseline
        /// compute the size of the object for text based drawing
@@ -178,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;
 
@@ -201,6 +217,10 @@ public:
 
        /// superscript kerning
        virtual int kerning(BufferView const *) const { return 0; }
+       ///
+       bool isInToc() const { return true; }
+       ///
+       InsetCode lyxCode() const { return MATH_CODE; }
 };
 
 ///