* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author André Pönitz
+ * \author André Pönitz
*
* Full author contact details are available in file CREDITS.
*/
#ifndef INSET_VSPACE_H
#define INSET_VSPACE_H
-
#include "Inset.h"
#include "VSpace.h"
-#include "MailInset.h"
namespace lyx {
-class InsetVSpace : public Inset {
+class InsetVSpace : public Inset
+{
public:
///
- InsetVSpace() {}
+ InsetVSpace() : Inset(0) {}
///
- InsetVSpace(VSpace const &);
+ explicit InsetVSpace(VSpace const &);
+ /// How much?
+ VSpace const & space() const { return space_; }
///
- ~InsetVSpace();
+ InsetCode lyxCode() const override { return VSPACE_CODE; }
///
- bool metrics(MetricsInfo & mi, Dimension & dim) const;
+ bool hasSettings() const override { return true; }
///
- void draw(PainterInfo & pi, int x, int y) const;
+ bool clickable(BufferView const &, int, int) const override { return true; }
///
- int latex(Buffer const &, odocstream &,
- OutputParams const &) const;
+ std::string contextMenuName() const override;
///
- int plaintext(Buffer const &, odocstream &,
- OutputParams const &) const;
+ static void string2params(std::string const &, VSpace &);
///
- int docbook(Buffer const &, odocstream &,
- OutputParams const &) const;
+ static std::string params2string(VSpace const &);
+private:
///
- void read(Buffer const &, Lexer & lex);
+ void metrics(MetricsInfo & mi, Dimension & dim) const override;
///
- void write(Buffer const & buf, std::ostream & os) const;
+ void draw(PainterInfo & pi, int x, int y) const override;
///
- DisplayType display() const { return AlignCenter; }
- /// How much?
- VSpace const & space() const { return space_; }
-
-protected:
+ void latex(otexstream &, OutputParams const &) const override;
///
- virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
-
-private:
- virtual std::auto_ptr<Inset> doClone() const;
+ int plaintext(odocstringstream & ods, OutputParams const & op,
+ size_t max_length = INT_MAX) const override;
///
- docstring const label() const;
-
+ void docbook(XMLStream &, OutputParams const &) const override;
+ /// Note that this returns the inset rather than writing it,
+ /// so it will actually be written after the present paragraph.
+ /// The normal case is that this inset will be on a line by
+ /// itself, and in that case the present paragraph will not,
+ /// in fact, appear at all.
+ docstring xhtml(XMLStream &, OutputParams const &) const override;
///
- VSpace space_;
-};
-
-
-class InsetVSpaceMailer : public MailInset {
-public:
+ void read(Lexer & lex) override;
///
- InsetVSpaceMailer(InsetVSpace & inset);
+ void write(std::ostream & os) const override;
///
- virtual Inset & inset() const { return inset_; }
+ int rowFlags() const override { return Display; }
///
- virtual std::string const & name() const { return name_; }
+ void doDispatch(Cursor & cur, FuncRequest & cmd) override;
///
- virtual std::string const inset2string(Buffer const &) const;
+ bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const override;
///
- static void string2params(std::string const &, VSpace &);
+ Inset * clone() const override { return new InsetVSpace(*this); }
///
- static std::string const params2string(VSpace const &);
-private:
- ///
- static std::string const name_;
+ docstring const label() const;
+
///
- InsetVSpace & inset_;
+ VSpace space_;
};