#include <sstream>
-using lyx::docstring;
+
+namespace lyx {
using std::string;
using std::auto_ptr;
namespace {
typedef Translator<std::string, InsetNoteParams::Type> NoteTranslator;
+typedef Translator<docstring, InsetNoteParams::Type> NoteTranslatorLoc;
NoteTranslator const init_notetranslator()
{
}
-NoteTranslator const init_notetranslator_loc()
+NoteTranslatorLoc const init_notetranslator_loc()
{
- // FIXME UNICODE
- NoteTranslator translator(lyx::to_utf8(_("Note")), InsetNoteParams::Note);
- translator.addPair(lyx::to_utf8(_("Comment")), InsetNoteParams::Comment);
- translator.addPair(lyx::to_utf8(_("Greyed out")), InsetNoteParams::Greyedout);
- translator.addPair(lyx::to_utf8(_("Framed")), InsetNoteParams::Framed);
- translator.addPair(lyx::to_utf8(_("Shaded")), InsetNoteParams::Shaded);
+ NoteTranslatorLoc translator(_("Note"), InsetNoteParams::Note);
+ translator.addPair(_("Comment"), InsetNoteParams::Comment);
+ translator.addPair(_("Greyed out"), InsetNoteParams::Greyedout);
+ translator.addPair(_("Framed"), InsetNoteParams::Framed);
+ translator.addPair(_("Shaded"), InsetNoteParams::Shaded);
return translator;
}
}
-NoteTranslator const & notetranslator_loc()
+NoteTranslatorLoc const & notetranslator_loc()
{
- static NoteTranslator translator = init_notetranslator_loc();
+ static NoteTranslatorLoc translator = init_notetranslator_loc();
return translator;
}
void InsetNote::init()
{
- setInsetName("Note");
+ setInsetName(from_ascii("Note"));
setButtonLabel();
}
void InsetNote::setButtonLabel()
{
- string const label = notetranslator_loc().find(params_.type);
+ docstring const label = notetranslator_loc().find(params_.type);
setLabel(label);
LyXFont font(LyXFont::ALL_SANE);
switch (cmd.action) {
case LFUN_INSET_MODIFY:
- InsetNoteMailer::string2params(lyx::to_utf8(cmd.argument()), params_);
+ InsetNoteMailer::string2params(to_utf8(cmd.argument()), params_);
setButtonLabel();
break;
}
-int InsetNote::latex(Buffer const & buf, ostream & os,
+int InsetNote::latex(Buffer const & buf, odocstream & os,
OutputParams const & runparams_in) const
{
if (params_.type == InsetNoteParams::Note)
else if (params_.type == InsetNoteParams::Shaded)
type = "shaded";
- ostringstream ss;
- ss << "%\n\\begin{" << type << "}\n";
+ odocstringstream ss;
+ ss << "%\n\\begin{" << from_ascii(type) << "}\n";
InsetText::latex(buf, ss, runparams);
- ss << "\n\\end{" << type << "}\n";
+ ss << "\n\\end{" << from_ascii(type) << "}\n";
// the space after the comment in 'a[comment] b' will be eaten by the
// comment environment since the space before b is ignored with the
// following latex output:
if (params_.type == InsetNoteParams::Comment)
ss << "{}";
- string const str = ss.str();
+ docstring const str = ss.str();
os << str;
// Return how many newlines we issued.
- return int(lyx::count(str.begin(), str.end(),'\n'));
+ return int(lyx::count(str.begin(), str.end(), '\n'));
}
-int InsetNote::docbook(Buffer const & buf, std::ostream & os,
+int InsetNote::docbook(Buffer const & buf, odocstream & os,
OutputParams const & runparams_in) const
{
if (params_.type == InsetNoteParams::Note)
return 0;
OutputParams runparams(runparams_in);
- ostringstream ss;
if (params_.type == InsetNoteParams::Comment) {
- ss << "<remark>\n";
+ os << "<remark>\n";
runparams.inComment = true;
// Ignore files that are exported inside a comment
runparams.exportdata.reset(new ExportData);
}
- InsetText::docbook(buf, ss, runparams);
+ int const n = InsetText::docbook(buf, os, runparams);
if (params_.type == InsetNoteParams::Comment)
- ss << "\n</remark>\n";
+ os << "\n</remark>\n";
- string const str = ss.str();
- os << str;
// Return how many newlines we issued.
- return int(lyx::count(str.begin(), str.end(),'\n'));
+ //return int(count(str.begin(), str.end(), '\n'));
+ return n + 1 + 2;
}
-int InsetNote::plaintext(Buffer const & buf, std::ostream & os,
+int InsetNote::plaintext(Buffer const & buf, odocstream & os,
OutputParams const & runparams_in) const
{
if (params_.type == InsetNoteParams::Note)
params.read(lex);
}
+
+
+} // namespace lyx