]> git.lyx.org Git - features.git/commitdiff
Fix #924
authorAndré Pönitz <poenitz@gmx.net>
Mon, 3 Mar 2003 12:02:28 +0000 (12:02 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Mon, 3 Mar 2003 12:02:28 +0000 (12:02 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6317 a592a061-630c-0410-9148-cb99ea01b6c8

src/mathed/math_frameboxinset.C
src/mathed/math_parser.C

index d4266e8bdbadcacb0a7e61e9c4302f46c4469072..88f69a9957f8e9b1fd9550940cf3df4b0c6303c1 100644 (file)
@@ -10,7 +10,7 @@
 
 
 MathFrameboxInset::MathFrameboxInset()
-       : MathNestInset(2)
+       : MathNestInset(3)
 {}
 
 
@@ -27,7 +27,8 @@ void MathFrameboxInset::metrics(MathMetricsInfo & mi) const
        MathNestInset::metrics(mi);
        dim_    = cell(0).dim();
        dim_   += cell(1).dim();
-       dim_.w += 2 * w_ + 4;
+       dim_   += cell(2).dim();
+       dim_.w += 4 * w_ + 4;
        metricsMarkers2(5); // 5 pixels margin
 }
 
@@ -38,26 +39,36 @@ void MathFrameboxInset::draw(MathPainterInfo & pi, int x, int y) const
        pi.pain.rectangle(x + 1, y - ascent() + 1, width() - 2, height() - 2,
                        LColor::black);
        x += 5;
+
        drawStrBlack(pi, x, y, "[");
        x += w_;
        cell(0).draw(pi, x, y);
        x += cell(0).width();
        drawStrBlack(pi, x, y, "]");
        x += w_ + 4;
+
+       drawStrBlack(pi, x, y, "[");
+       x += w_;
        cell(1).draw(pi, x, y);
+       x += cell(1).width();
+       drawStrBlack(pi, x, y, "]");
+       x += w_ + 4;
+
+       cell(2).draw(pi, x, y);
 }
 
 
 void MathFrameboxInset::write(WriteStream & os) const
 {
        os << "\\framebox";
-       if (cell(0).size())
-               os << '[' << cell(0) << ']';
-       os << '{' << cell(1) << '}';
+       os << '[' << cell(0) << ']';
+       if (cell(1).size())
+               os << '[' << cell(1) << ']';
+       os << '{' << cell(2) << '}';
 }
 
 
 void MathFrameboxInset::normalize(NormalStream & os) const
 {
-       os << "[framebox " << cell(0) << ' ' << cell(1) << ']';
+       os << "[framebox " << cell(0) << ' ' << cell(1) << ' ' << cell(2) << ']';
 }
index 91d2f6228fb3ad8b08ce148130cb9d10dac73f1c..d05e4f3aaa2f90e1d3ba40079536c23c74837fc2 100644 (file)
@@ -1124,7 +1124,8 @@ void Parser::parse1(MathGridInset & grid, unsigned flags,
                else if (t.cs() == "framebox") {
                        cell->push_back(createMathInset(t.cs()));
                        parse(cell->back().nucleus()->cell(0), FLAG_OPTION, MathInset::TEXT_MODE);
-                       parse(cell->back().nucleus()->cell(1), FLAG_ITEM, MathInset::TEXT_MODE);
+                       parse(cell->back().nucleus()->cell(1), FLAG_OPTION, MathInset::TEXT_MODE);
+                       parse(cell->back().nucleus()->cell(2), FLAG_ITEM, MathInset::TEXT_MODE);
                }
 
 #if 0