]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_macro.h
forward search in math insets. ugly. seems to work. don't ask why.
[lyx.git] / src / mathed / math_macro.h
index 05362ee2a0d4c9f3dba45159b08cca99cacefdc3..2c3fdcfadadd270248b0519f2d504034d74302e0 100644 (file)
@@ -44,20 +44,16 @@ public:
        ///
        void draw(Painter &, int x, int y) const;
        ///
-       void metrics(MathStyles st) const;
+       void metrics(MathMetricsInfo const & st) const;
        ///
        MathInset * clone() const;
        ///
-       void write(std::ostream &, bool fragile) const;
-       ///
-       void writeNormal(std::ostream &) const;
-       ///
        void dump() const;
 
        ///
-       bool idxUp(idx_type &, pos_type &) const;
+       bool idxUp(idx_type &) const;
        ///
-       bool idxDown(idx_type &, pos_type &) const;
+       bool idxDown(idx_type &) const;
        ///
        bool idxLeft(idx_type &, pos_type &) const;
        ///
@@ -67,6 +63,19 @@ public:
        void validate(LaTeXFeatures &) const;
        ///
        bool isMacro() const { return true; }
+       ///
+       bool match(MathInset *) const { return false; }
+
+       ///
+       void normalize(NormalStream &) const;
+       ///
+       void maplize(MapleStream &) const;
+       ///
+       void mathmlize(MathMLStream &) const;
+       ///
+       void octavize(OctaveStream &) const;
+       ///
+       void write(WriteStream & os) const;
 
 private:
        ///
@@ -77,11 +86,15 @@ private:
        bool editing() const;
        ///
        bool defining() const;
+       ///
+       void updateExpansion() const;
 
        ///
        MathAtom & tmplate_;
        ///
        mutable MathXArray expanded_;
+       ///
+       mutable MathMetricsInfo mi_;
 };