]> git.lyx.org Git - lyx.git/blob - src/insets/InsetMarginal.cpp
27e9a0a1a06c48cc85d31d35402786320255ab47
[lyx.git] / src / insets / InsetMarginal.cpp
1 /**
2  * \file InsetMarginal.cpp
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Jürgen Vigna
7  * \author Lars Gullik Bjønnes
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #include <config.h>
13
14 #include "InsetMarginal.h"
15
16 #include "Buffer.h"
17 #include "gettext.h"
18 #include "OutputParams.h"
19
20 #include "support/std_ostream.h"
21
22
23 namespace lyx {
24
25 using std::string;
26 using std::auto_ptr;
27 using std::ostream;
28
29
30 InsetMarginal::InsetMarginal(BufferParams const & bp)
31         : InsetFootlike(bp)
32 {
33         setLayout(bp);
34 }
35
36
37 InsetMarginal::InsetMarginal(InsetMarginal const & in)
38         : InsetFootlike(in)
39 {}
40
41
42 auto_ptr<Inset> InsetMarginal::doClone() const
43 {
44         return auto_ptr<Inset>(new InsetMarginal(*this));
45 }
46
47
48 docstring const InsetMarginal::editMessage() const
49 {
50         return _("Opened Marginal Note Inset");
51 }
52
53
54 int InsetMarginal::latex(Buffer const & buf, odocstream & os,
55                          OutputParams const & runparams) const
56 {
57         os << "%\n\\marginpar{";
58         int const i = InsetText::latex(buf, os, runparams);
59         os << "%\n}";
60         return i + 2;
61 }
62
63
64 int InsetMarginal::plaintext(Buffer const & buf, odocstream & os,
65                              OutputParams const & runparams) const
66 {
67         os << '[' << buf.B_("margin") << ":\n";
68         InsetText::plaintext(buf, os, runparams);
69         os << "\n]";
70
71         return PLAINTEXT_NEWLINE + 1; // one char on a separate line
72 }
73
74
75 int InsetMarginal::docbook(Buffer const & buf, odocstream & os,
76                            OutputParams const & runparams) const
77 {
78         os << "<note role=\"margin\">";
79         int const i = InsetText::docbook(buf, os, runparams);
80         os << "</note>";
81
82         return i;
83 }
84
85
86 } // namespace lyx