]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathXYMatrix.cpp
Kill macro mode when using LFUN_ESCAPE
[lyx.git] / src / mathed / InsetMathXYMatrix.cpp
index d04d8f4f71f137d4aa733f26bb4295430a6df1b2..f559aa2d1ab84124474493e8620d46f78e6c3b00 100644 (file)
 
 #include "InsetMathXYMatrix.h"
 
-#include "LaTeXFeatures.h"
 #include "MathStream.h"
 
+#include "LaTeXFeatures.h"
+#include "MetricsInfo.h"
+
 #include <ostream>
 
 namespace lyx {
@@ -47,16 +49,25 @@ int InsetMathXYMatrix::rowsep() const
 
 void InsetMathXYMatrix::metrics(MetricsInfo & mi, Dimension & dim) const
 {
-       if (mi.base.style == LM_ST_DISPLAY)
-               mi.base.style = LM_ST_TEXT;
+       Changer dummy2 = mi.base.changeEnsureMath();
+       Changer dummy = mi.base.changeArray();
        InsetMathGrid::metrics(mi, dim);
 }
 
 
+void InsetMathXYMatrix::draw(PainterInfo & pi, int x, int y) const
+{
+       Changer dummy2 = pi.base.changeEnsureMath();
+       Changer dummy = pi.base.changeArray();
+       InsetMathGrid::draw(pi, x, y);
+}
+
+
 void InsetMathXYMatrix::write(WriteStream & os) const
 {
        MathEnsurer ensurer(os);
        os << "\\xymatrix";
+       bool open = os.startOuterRow();
        if (equal_spacing_) {
                os << "@!";
                switch (spacing_code_) {
@@ -83,7 +94,10 @@ void InsetMathXYMatrix::write(WriteStream & os) const
        }
        os << '{';
        InsetMathGrid::write(os);
-       os << "}\n";
+       os << "}";
+       if (open)
+               os.startOuterRow();
+       os << "\n";
 }
 
 
@@ -146,9 +160,9 @@ void InsetMathXYMatrix::mathmlize(MathStream &) const
 }
 
 
-void InsetMathXYMatrix::htmlize(HtmlStream &) const 
+void InsetMathXYMatrix::htmlize(HtmlStream &) const
 {
-       throw MathExportException(); 
+       throw MathExportException();
 }