]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetMarginal.cpp
Fix GRAPHICS_EDIT of InsetGraphics
[lyx.git] / src / insets / InsetMarginal.cpp
index 3a4ed9407dfff51bd27a5dd4bbdad9589550752d..654caca709859b87c5f8e9e8bd789c8f08f9af23 100644 (file)
 #include "InsetMarginal.h"
 
 #include "Buffer.h"
-#include "gettext.h"
 #include "OutputParams.h"
+#include "TocBackend.h"
 
-#include "support/std_ostream.h"
+#include "support/gettext.h"
 
-
-namespace lyx {
+#include <ostream>
 
 
-InsetMarginal::InsetMarginal(BufferParams const & bp)
-       : InsetFootlike(bp)
-{}
+namespace lyx {
 
 
-InsetMarginal::InsetMarginal(InsetMarginal const & in)
-       : InsetFootlike(in)
+InsetMarginal::InsetMarginal(Buffer const & buf)
+       : InsetFootlike(buf)
 {}
 
 
-Inset * InsetMarginal::clone() const
-{
-       return new InsetMarginal(*this);
-}
-
-
-docstring const InsetMarginal::editMessage() const
+docstring InsetMarginal::editMessage() const
 {
        return _("Opened Marginal Note Inset");
 }
 
 
-int InsetMarginal::latex(Buffer const & buf, odocstream & os,
-                        OutputParams const & runparams) const
+int InsetMarginal::latex(odocstream & os, OutputParams const & runparams) const
 {
        os << "%\n\\marginpar{";
-       int const i = InsetText::latex(buf, os, runparams);
+       int const i = InsetText::latex(os, runparams);
        os << "%\n}";
        return i + 2;
 }
 
 
-int InsetMarginal::plaintext(Buffer const & buf, odocstream & os,
+int InsetMarginal::plaintext(odocstream & os,
                             OutputParams const & runparams) const
 {
-       os << '[' << buf.B_("margin") << ":\n";
-       InsetText::plaintext(buf, os, runparams);
+       os << '[' << buffer().B_("margin") << ":\n";
+       InsetText::plaintext(os, runparams);
        os << "\n]";
 
        return PLAINTEXT_NEWLINE + 1; // one char on a separate line
 }
 
 
-int InsetMarginal::docbook(Buffer const & buf, odocstream & os,
+int InsetMarginal::docbook(odocstream & os,
                           OutputParams const & runparams) const
 {
        os << "<note role=\"margin\">";
-       int const i = InsetText::docbook(buf, os, runparams);
+       int const i = InsetText::docbook(os, runparams);
        os << "</note>";
 
        return i;
 }
 
 
+void InsetMarginal::addToToc(ParConstIterator const & cpit) const
+{
+       ParConstIterator pit = cpit;
+       pit.push_back(*this);
+
+       Toc & toc = buffer().tocBackend().toc("marginalnote");
+       docstring str;
+       str = getNewLabel(str);
+       toc.push_back(TocItem(pit, 0, str));
+}
+
 } // namespace lyx