#include "LaTeXFeatures.h"
#include "Lexer.h"
#include "MetricsInfo.h"
+#include "output_xhtml.h"
#include "TextClass.h"
#include "support/debug.h"
+#include "support/docstream.h"
#include "support/gettext.h"
#include "support/lstrings.h"
#include "support/Translator.h"
//
/////////////////////////////////////////////////////////////////////////
-InsetBox::InsetBox(Buffer const & buffer, string const & label)
+InsetBox::InsetBox(Buffer * buffer, string const & label)
: InsetCollapsable(buffer), params_(label)
{}
}
-docstring InsetBox::editMessage() const
-{
- return _("Opened Box Inset");
-}
-
-
docstring InsetBox::name() const
{
// FIXME: UNICODE
params_.type = cmd.getArg(1);
else
string2params(to_utf8(cmd.argument()), params_);
- setLayout(cur.buffer()->params());
break;
}
}
-int InsetBox::xhtml(odocstream & os, OutputParams const & runparams) const
+docstring InsetBox::xhtml(XHTMLStream & xs, OutputParams const & runparams) const
{
- // FIXME We also want to do something with the length info, etc,
- // presumably as "style='...'".
- os << from_ascii("<span class='" + params_.type + "'>\n");
- int ret = InsetText::xhtml(os, runparams);
- os << "</span>\n";
- return ret;
+ // construct attributes
+ string attrs = "class='" + params_.type + "'";
+ string style;
+ if (!params_.width.empty())
+ style += ("width: " + params_.width.asHTMLString() + "; ");
+ // The special heights don't really mean anything for us.
+ if (!params_.height.empty() && params_.height_special == "none")
+ style += ("height: " + params_.height.asHTMLString() + "; ");
+ if (!style.empty())
+ attrs += " style='" + style + "'";
+
+ xs << StartTag("div", attrs);
+ XHTMLOptions const opts = InsetText::WriteLabel | InsetText::WriteInnerTag;
+ docstring defer = InsetText::insetAsXHTML(xs, runparams, opts);
+ xs << EndTag("div");
+ xs << defer;
+ return docstring();
}