#include "insetwrap.h"
#include "buffer.h"
+#include "bufferparams.h"
#include "BufferView.h"
#include "Floating.h"
#include "FloatList.h"
#include "gettext.h"
+#include "LColor.h"
#include "metricsinfo.h"
+#include "paragraph.h"
-#include "frontends/Painter.h"
#include "frontends/font_metrics.h"
+#include "frontends/Painter.h"
-#include "support/LAssert.h"
#include "support/lstrings.h"
-#include "support/std_sstream.h"
+#include <sstream>
+
-using namespace lyx::support;
+using lyx::support::bformat;
+using std::auto_ptr;
using std::endl;
+using std::string;
using std::ostream;
using std::ostringstream;
: InsetText(bp)
{
setAutoBreakRows(true);
- setDrawFrame(InsetText::LOCKED);
+ setDrawFrame(true);
setFrameColor(LColor::captionframe);
}
void InsetCaption::write(Buffer const & buf, ostream & os) const
{
os << "Caption\n";
- writeParagraphData(buf, os);
+ text_.write(buf, os);
}
// See if we can find the name of the float this caption
// belongs to.
- InsetOld * i1 = owner();
- InsetOld * i2 = i1 ? i1->owner() : 0;
+#if 0
+ InsetBase * i1 = owner();
+ InsetBase * i2 = i1 ? i1->owner() : 0;
string type;
if (i2->lyxCode() == FLOAT_CODE)
+#ifdef WITH_WARNINGS
+#warning Now, what happens for i2 == 0?
+#endif
type = static_cast<InsetFloat *>(i2)->params().type;
else if (i2->lyxCode() == WRAP_CODE)
type = static_cast<InsetWrap *>(i2)->params().type;
else
- Assert(0);
+ BOOST_ASSERT(false);
FloatList const & floats =
- pi.base.bv->buffer()->params.getLyXTextClass().floats();
+ pi.base.bv->buffer()->params().getLyXTextClass().floats();
string const fl = i2 ? floats.getType(type).name() : N_("Float");
+#else
+ string type = "float";
+ string const fl = N_("Float");
+#endif
// Discover the number...
string const num = "#";
int InsetCaption::latex(Buffer const & buf, ostream & os,
- LatexRunParams const & runparams) const
+ OutputParams const & runparams) const
{
// This is a bit too simplistic to take advantage of
// caption options we must add more later. (Lgb)
}
-int InsetCaption::ascii(Buffer const & /*buf*/,
- ostream & /*os*/, int /*linelen*/) const
+int InsetCaption::plaintext(Buffer const & /*buf*/,ostream & /*os*/,
+ OutputParams const & /*runparams*/) const
{
- // FIX: Implement me!
+ // FIXME: Implement me!
return 0;
}
-int InsetCaption::docbook(Buffer const & buf, ostream & os, bool mixcont) const
+int InsetCaption::docbook(Buffer const & buf, ostream & os,
+ OutputParams const & runparams) const
{
int ret;
os << "<title>";
- ret = InsetText::docbook(buf, os, mixcont);
+ ret = InsetText::docbook(buf, os, runparams);
os << "</title>\n";
return ret;
}
+
+
+auto_ptr<InsetBase> InsetCaption::doClone() const
+{
+ return auto_ptr<InsetBase>(new InsetCaption(*this));
+}