4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
12 #ifndef INSET_VSPACE_H
13 #define INSET_VSPACE_H
18 #include "MailInset.h"
23 class InsetVSpace : public Inset {
28 InsetVSpace(VSpace const &);
32 VSpace const & space() const { return space_; }
34 InsetCode lyxCode() const { return VSPACE_CODE; }
36 void edit(Cursor & cur, bool front,
37 EntryDirection entry_from = ENTRY_DIRECTION_IGNORE);
39 EDITABLE editable() const { return IS_EDITABLE; }
41 virtual docstring contextMenu(BufferView const & bv, int x, int y) const;
44 void metrics(MetricsInfo & mi, Dimension & dim) const;
46 void draw(PainterInfo & pi, int x, int y) const;
48 int latex(odocstream &, OutputParams const &) const;
50 int plaintext(odocstream &, OutputParams const &) const;
52 int docbook(odocstream &, OutputParams const &) const;
54 void read(Lexer & lex);
56 void write(std::ostream & os) const;
58 DisplayType display() const { return AlignCenter; }
60 void doDispatch(Cursor & cur, FuncRequest & cmd);
62 bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const;
64 Inset * clone() const { return new InsetVSpace(*this); }
66 docstring const label() const;
73 class InsetVSpaceMailer : public MailInset {
76 InsetVSpaceMailer(InsetVSpace & inset);
78 virtual Inset & inset() const { return inset_; }
80 virtual std::string const & name() const { return name_; }
82 virtual std::string const inset2string(Buffer const &) const;
84 static void string2params(std::string const &, VSpace &);
86 static std::string const params2string(VSpace const &);
89 static std::string const name_;