X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathXYMatrix.cpp;h=d04d8f4f71f137d4aa733f26bb4295430a6df1b2;hb=b9b6c1278287dcff75d3da61ad269bf5c4ad130c;hp=6b11ac2415fd9261508c766c1993fd991df16aff;hpb=f1cba8ff64b369792fd49f5ddf90e8126ab476ac;p=lyx.git diff --git a/src/mathed/InsetMathXYMatrix.cpp b/src/mathed/InsetMathXYMatrix.cpp index 6b11ac2415..d04d8f4f71 100644 --- a/src/mathed/InsetMathXYMatrix.cpp +++ b/src/mathed/InsetMathXYMatrix.cpp @@ -20,9 +20,11 @@ namespace lyx { -InsetMathXYMatrix::InsetMathXYMatrix(Length const & s, char c) - : InsetMathGrid(1, 1), spacing_(s), spacing_code_(c) -{} +InsetMathXYMatrix::InsetMathXYMatrix(Buffer * buf, Length const & s, char c, + bool e) : InsetMathGrid(buf, 1, 1), spacing_(s), spacing_code_(c), + equal_spacing_(e) +{ +} Inset * InsetMathXYMatrix::clone() const @@ -55,19 +57,29 @@ void InsetMathXYMatrix::write(WriteStream & os) const { MathEnsurer ensurer(os); os << "\\xymatrix"; - switch (spacing_code_) { - case 'R': - case 'C': - case 'M': - case 'W': - case 'H': - case 'L': - os << '@' << spacing_code_ << '=' - << from_ascii(spacing_.asLatexString()); - break; - default: - if (!spacing_.empty()) - os << "@=" << from_ascii(spacing_.asLatexString()); + if (equal_spacing_) { + os << "@!"; + switch (spacing_code_) { + case '0': + case 'R': + case 'C': + os << spacing_code_; + } + } else { + switch (spacing_code_) { + case 'R': + case 'C': + case 'M': + case 'W': + case 'H': + case 'L': + os << '@' << spacing_code_ << '=' + << from_ascii(spacing_.asLatexString()); + break; + default: + if (!spacing_.empty()) + os << "@=" << from_ascii(spacing_.asLatexString()); + } } os << '{'; InsetMathGrid::write(os); @@ -78,19 +90,28 @@ void InsetMathXYMatrix::write(WriteStream & os) const void InsetMathXYMatrix::infoize(odocstream & os) const { os << "xymatrix "; - switch (spacing_code_) { - case 'R': - case 'C': - case 'M': - case 'W': - case 'H': - case 'L': - os << spacing_code_ << ' ' - << from_ascii(spacing_.asLatexString()) << ' '; - break; - default: - if (!spacing_.empty()) - os << from_ascii(spacing_.asLatexString()) << ' '; + if (equal_spacing_) { + switch (spacing_code_) { + case '0': + case 'R': + case 'C': + os << '!' << spacing_code_ << ' '; + } + } else { + switch (spacing_code_) { + case 'R': + case 'C': + case 'M': + case 'W': + case 'H': + case 'L': + os << spacing_code_ << ' ' + << from_ascii(spacing_.asLatexString()) << ' '; + break; + default: + if (!spacing_.empty()) + os << from_ascii(spacing_.asLatexString()) << ' '; + } } InsetMathGrid::infoize(os); } @@ -119,4 +140,16 @@ void InsetMathXYMatrix::validate(LaTeXFeatures & features) const } +void InsetMathXYMatrix::mathmlize(MathStream &) const +{ + throw MathExportException(); +} + + +void InsetMathXYMatrix::htmlize(HtmlStream &) const +{ + throw MathExportException(); +} + + } // namespace lyx