]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetCollapsable.cpp
Circumvent odd stmary font metrics (part of #9990).
[lyx.git] / src / insets / InsetCollapsable.cpp
index d038cfc2813a8a277a2bd713555576c681646885..aeac8b358681eebc60f7e8a6043d613c903ae707 100644 (file)
 #include "InsetCollapsable.h"
 
 #include "Buffer.h"
-#include "BufferParams.h"
 #include "BufferView.h"
 #include "Cursor.h"
 #include "Dimension.h"
-#include "FloatList.h"
 #include "FuncRequest.h"
 #include "FuncStatus.h"
 #include "InsetLayout.h"
 #include "Lexer.h"
 #include "MetricsInfo.h"
 #include "OutputParams.h"
-#include "TextClass.h"
 
 #include "frontends/FontMetrics.h"
 #include "frontends/Painter.h"
@@ -45,7 +42,6 @@ namespace lyx {
 InsetCollapsable::InsetCollapsable(Buffer * buf, InsetText::UsePlain ltype)
        : InsetText(buf, ltype), status_(Open), openinlined_(false)
 {
-       setAutoBreakRows(true);
        setDrawFrame(true);
        setFrameColor(Color_collapsableframe);
 }
@@ -217,6 +213,11 @@ void InsetCollapsable::metrics(MetricsInfo & mi, Dimension & dim) const
        case TopButton:
        case LeftButton:
        case ButtonOnly:
+               if (hasFixedWidth()){
+                       int const mindim = button_dim.x2 - button_dim.x1;
+                       if (mi.base.textwidth < mindim)
+                               mi.base.textwidth = mindim;
+               }
                dim = dimensionCollapsed(bv);
                if (geometry(bv) == TopButton 
                          || geometry(bv) == LeftButton) {
@@ -347,7 +348,6 @@ void InsetCollapsable::draw(PainterInfo & pi, int x, int y) const
                        int const ww = max(textdim.wid, w);
                        pi.pain.rectText(x + (ww - w) / 2, y + desc + a,
                                buttonLabel(bv), font, Color_none, Color_none);
-                       desc += d;
                }
 
                // a visual cue when the cursor is inside the inset
@@ -603,16 +603,6 @@ void InsetCollapsable::setStatus(Cursor & cur, CollapseStatus status)
 }
 
 
-docstring InsetCollapsable::floatName(string const & type) const
-{
-       BufferParams const & bp = buffer().params();
-       FloatList const & floats = bp.documentClass().floats();
-       FloatList::const_iterator it = floats[type];
-       // FIXME UNICODE
-       return (it == floats.end()) ? from_ascii(type) : bp.B_(it->second.name());
-}
-
-
 InsetLayout::InsetDecoration InsetCollapsable::decoration() const
 {
        InsetLayout::InsetDecoration const dec = getLayout().decoration();