]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathXYMatrix.cpp
Make undo action no-ops when the buffer is read-only
[lyx.git] / src / mathed / InsetMathXYMatrix.cpp
index 95941b85ce0cdf9faa719180345e9c66d3f73e00..d8f54602b9d3b20b106e9b91f687d0e070f6a5bf 100644 (file)
 
 #include "InsetMathXYMatrix.h"
 
-#include "LaTeXFeatures.h"
 #include "MathStream.h"
 
+#include "LaTeXFeatures.h"
+#include "MetricsInfo.h"
+
 #include <ostream>
 
 namespace lyx {
@@ -47,15 +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::write(WriteStream & os) const
+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(TeXMathStream & os) const
 {
        MathEnsurer ensurer(os);
+       if (os.fragile())
+               os << "\\protect";
        os << "\\xymatrix";
        bool open = os.startOuterRow();
        if (equal_spacing_) {
@@ -144,15 +156,15 @@ void InsetMathXYMatrix::validate(LaTeXFeatures & features) const
 }
 
 
-void InsetMathXYMatrix::mathmlize(MathStream &) const
+void InsetMathXYMatrix::mathmlize(MathMLStream &) const
 {
        throw MathExportException();
 }
 
 
-void InsetMathXYMatrix::htmlize(HtmlStream &) const 
+void InsetMathXYMatrix::htmlize(HtmlStream &) const
 {
-       throw MathExportException(); 
+       throw MathExportException();
 }