-/* This file is part of
- * ======================================================
+/**
+ * \file insetcaption.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * LyX, The Document Processor
+ * \author Lars Gullik Bjønnes
*
- * Copyright 2000-2001 The LyX Team.
- *
- * ======================================================
+ * Full author contact details are available in file CREDITS
*/
#include <config.h>
-#ifdef __GNUG__
-#pragma implementation
-#endif
#include "insetcaption.h"
-#include "Painter.h"
-#include "font.h"
+#include "frontends/Painter.h"
+#include "frontends/font_metrics.h"
#include "BufferView.h"
+#include "buffer.h"
#include "FloatList.h"
#include "insets/insetfloat.h"
#include "debug.h"
#include "gettext.h"
#include "support/lstrings.h"
+#include "BoostFormat.h"
+
using std::ostream;
using std::endl;
void InsetCaption::draw(BufferView * bv, LyXFont const & f,
- int baseline, float & x, bool cleared) const
+ int baseline, float & x) const
{
// We must draw the label, we should get the label string
// from the enclosing float inset.
Inset * i1 = owner();
Inset * i2 = i1 ? i1->owner() : 0;
string const type = static_cast<InsetFloat *>(i2)->type();
- string const fl = i2 ? floatList.getType(type).name() : N_("Float");
+ 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
- string const label = _(fl) + " " + num + ":";
-
+ 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
Painter & pain = bv->painter();
- int const w = lyxfont::width(label, f);
+ int const w = font_metrics::width(label, f);
pain.text(int(x), baseline, label, f);
x += w;
- InsetText::draw(bv, f, baseline, x, cleared);
+ InsetText::draw(bv, f, baseline, x);
}
}
-int InsetCaption::docbook(Buffer const * buf, ostream & os) const
+int InsetCaption::docbook(Buffer const * buf, ostream & os, bool mixcont) const
{
int ret;
os << "<title>";
- ret = InsetText::docbook(buf, os);
+ ret = InsetText::docbook(buf, os, mixcont);
os << "</title>\n";
return ret;
}