]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetcaption.C
fix #832
[lyx.git] / src / insets / insetcaption.C
index af5e9d8d6ef7044d55f5d4146cf56faf47a121e1..36ba68968634b188ae68220af36be9662bba1cd0 100644 (file)
@@ -10,7 +10,6 @@
 
 #include <config.h>
 
-
 #include "insetcaption.h"
 #include "frontends/Painter.h"
 #include "frontends/font_metrics.h"
 #include "buffer.h"
 #include "FloatList.h"
 #include "insets/insetfloat.h"
+#include "insets/insetwrap.h"
 #include "debug.h"
 #include "gettext.h"
+#include "Lsstream.h"
 #include "support/lstrings.h"
-
-#include "BoostFormat.h"
+#include "support/LAssert.h"
+#include "support/BoostFormat.h"
 
 using std::ostream;
 using std::endl;
@@ -78,24 +79,23 @@ void InsetCaption::draw(BufferView * bv, LyXFont const & f,
        // belongs to.
        Inset * i1 = owner();
        Inset * i2 = i1 ? i1->owner() : 0;
-       string const type = static_cast<InsetFloat *>(i2)->type();
+       string type;
+       if (i2->lyxCode() == FLOAT_CODE)
+               type = static_cast<InsetFloat *>(i2)->params().type;
+       else if (i2->lyxCode() == WRAP_CODE)
+               type = static_cast<InsetWrap *>(i2)->params().type;
+       else
+               lyx::Assert(0);
+
        FloatList const & floats =
                bv->buffer()->params.getLyXTextClass().floats();
        string const fl = i2 ? floats.getType(type).name() : N_("Float");
 
        // Discover the number...
-       // ...
-       string const num("#");
+       string const num = "#";
 
-#if USE_BOOST_FORMAT
        // Generate the label
-       boost::format frm("%1$s %2$s:");
-       frm % _(fl) % num;
-       string const label = frm.str();
-#else
-       // Generate the label
-       string const label = _(fl) + ' ' + num + ':';
-#endif
+       string const label = bformat("%1$s %2$s:", _(fl), num);
        Painter & pain = bv->painter();
        int const w = font_metrics::width(label, f);
        pain.text(int(x), baseline, label, f);