X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetMarginal.cpp;h=40ff30aaba21028a56c7fc2ecd0242e3183bd531;hb=1f0305509b99681885958c03f8d8f04c1564c84c;hp=83a42f287a67939b16ca305af5ca9bf14b98b70e;hpb=51fbea02a8f7dc1e360a61bdc95d5ac9200cb5f6;p=lyx.git diff --git a/src/insets/InsetMarginal.cpp b/src/insets/InsetMarginal.cpp index 83a42f287a..40ff30aaba 100644 --- a/src/insets/InsetMarginal.cpp +++ b/src/insets/InsetMarginal.cpp @@ -3,8 +3,8 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Jürgen Vigna - * \author Lars Gullik Bjønnes + * \author Jürgen Vigna + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -13,76 +13,56 @@ #include "InsetMarginal.h" -#include "gettext.h" -#include "Paragraph.h" +#include "Buffer.h" +#include "BufferParams.h" #include "OutputParams.h" +#include "TocBackend.h" -#include "support/std_ostream.h" - +#include "support/docstream.h" +#include "support/gettext.h" namespace lyx { -using std::string; -using std::auto_ptr; -using std::ostream; - - -InsetMarginal::InsetMarginal(BufferParams const & bp) - : InsetFootlike(bp) -{ - setLabel(_("margin")); -} - -InsetMarginal::InsetMarginal(InsetMarginal const & in) - : InsetFootlike(in) -{ - setLabel(_("margin")); -} - - -auto_ptr InsetMarginal::doClone() const -{ - return auto_ptr(new InsetMarginal(*this)); -} +InsetMarginal::InsetMarginal(Buffer * buf) + : InsetFootlike(buf) +{} -docstring const InsetMarginal::editMessage() const +int InsetMarginal::plaintext(odocstringstream & os, + OutputParams const & runparams, size_t max_length) const { - return _("Opened Marginal Note Inset"); -} - - -int InsetMarginal::latex(Buffer const & buf, odocstream & os, - OutputParams const & runparams) const -{ - os << "%\n\\marginpar{"; - int const i = InsetText::latex(buf, os, runparams); - os << "%\n}"; - return i + 2; -} - - -int InsetMarginal::plaintext(Buffer const & buf, odocstream & os, - OutputParams const & runparams) const -{ - os << '[' << _("margin") << ":\n"; - InsetText::plaintext(buf, os, runparams); + os << '[' << buffer().B_("margin") << ":\n"; + InsetText::plaintext(os, runparams, max_length); os << "\n]"; return PLAINTEXT_NEWLINE + 1; // one char on a separate line } -int InsetMarginal::docbook(Buffer const & buf, odocstream & os, - OutputParams const & runparams) const +int InsetMarginal::docbook(odocstream & os, + OutputParams const & runparams) const { os << ""; - int const i = InsetText::docbook(buf, os, runparams); + int const i = InsetText::docbook(os, runparams); os << ""; return i; } +void InsetMarginal::addToToc(DocIterator const & cpit, bool output_active, + UpdateType utype) const +{ + DocIterator pit = cpit; + pit.push_back(CursorSlice(const_cast(*this))); + + shared_ptr toc = buffer().tocBackend().toc("marginalnote"); + docstring str; + text().forOutliner(str, TOC_ENTRY_LENGTH); + toc->push_back(TocItem(pit, 0, str, output_active, toolTipText(docstring(), 3, 60))); + // Proceed with the rest of the inset. + InsetFootlike::addToToc(cpit, output_active, utype); +} + } // namespace lyx