]> git.lyx.org Git - features.git/commitdiff
'maplize' for math macros
authorAndré Pönitz <poenitz@gmx.net>
Fri, 16 Nov 2001 08:26:41 +0000 (08:26 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Fri, 16 Nov 2001 08:26:41 +0000 (08:26 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3034 a592a061-630c-0410-9148-cb99ea01b6c8

src/mathed/math_extern.C
src/mathed/math_macro.C
src/mathed/math_macro.h

index ff48405a759a6c1f085654645991dd54f1d8e8f7..4cf321c2b6d5aa67b279b82efdbf0f98dca65260 100644 (file)
@@ -688,6 +688,8 @@ void extractDiff(MathArray & ar)
        lyxerr << "\nDiffs to: " << ar << "\n";
 }
 
+
+
 //
 // combine searches
 //
index 3d89fbad0b459c1570a879d1cbb69afac6449f60..2d511683bf11a5c895df279e802cb7065fd281f9 100644 (file)
 #endif
 
 #include "math_macro.h"
-#include "support/lstrings.h"
-#include "support/LAssert.h"
-#include "debug.h"
 #include "math_support.h"
 #include "math_cursor.h"
+#include "math_extern.h"
 #include "math_macrotable.h"
 #include "math_macrotemplate.h"
 #include "math_mathmlstream.h"
+#include "support/lstrings.h"
+#include "support/LAssert.h"
+#include "debug.h"
 #include "Painter.h"
 #include "LaTeXFeatures.h"
 
@@ -161,25 +162,6 @@ void MathMacro::dump() const
 }
 
 
-void MathMacro::write(WriteStream & os) const
-{
-       os << '\\' << name();
-       for (idx_type i = 0; i < nargs(); ++i)
-               os << '{' << cell(i) << '}';
-       if (nargs() == 0) 
-               os << ' ';
-}
-
-
-void MathMacro::normalize(NormalStream & os) const
-{
-       os << "[macro " << name() << " ";
-       for (idx_type i = 0; i < nargs(); ++i) 
-               os << cell(i) << ' ';
-       os << ']';
-}
-
-
 bool MathMacro::idxUp(idx_type & idx, pos_type & pos) const
 {
        return MathNestInset::idxLeft(idx, pos);
@@ -210,3 +192,30 @@ void MathMacro::validate(LaTeXFeatures & features) const
                features.binom = true;
        //MathInset::validate(features);
 }
+
+
+void MathMacro::maplize(MapleStream & os) const
+{
+       expanded_ = tmplate_->xcell(0);
+       expanded_.data_.substitute(*this);
+       ::maplize(expanded_.data_, os);
+}
+
+
+void MathMacro::normalize(NormalStream & os) const
+{
+       os << "[macro " << name() << " ";
+       for (idx_type i = 0; i < nargs(); ++i) 
+               os << cell(i) << ' ';
+       os << ']';
+}
+
+
+void MathMacro::write(WriteStream & os) const
+{
+       os << '\\' << name();
+       for (idx_type i = 0; i < nargs(); ++i)
+               os << '{' << cell(i) << '}';
+       if (nargs() == 0) 
+               os << ' ';
+}
index f80c18c561fdec268ec99a9a867bc4f75e740833..bce7f5b0f202480e091c117bd456409d10edffbe 100644 (file)
@@ -48,10 +48,6 @@ public:
        ///
        MathInset * clone() const;
        ///
-       void write(WriteStream & os) const;
-       ///
-       void normalize(NormalStream &) const;
-       ///
        void dump() const;
 
        ///
@@ -68,6 +64,13 @@ public:
        ///
        bool isMacro() const { return true; }
 
+       ///
+       void normalize(NormalStream &) const;
+       ///
+       void maplize(MapleStream &) const;
+       ///
+       void write(WriteStream & os) const;
+
 private:
        ///
        void operator=(MathMacro const &);