#ifndef INSETWRAP_H
#define INSETWRAP_H
-#include "InsetCollapsable.h"
-#include "Length.h"
-#include "MailInset.h"
+#include "InsetCaptionable.h"
+
+#include "support/Length.h"
namespace lyx {
///
std::string type;
///
+ int lines;
+ ///
std::string placement;
///
+ Length overhang;
+ ///
Length width;
};
/** The wrap inset
*/
-class InsetWrap : public InsetCollapsable {
+class InsetWrap : public InsetCaptionable {
public:
///
- InsetWrap(BufferParams const &, std::string const &);
+ InsetWrap(Buffer *, std::string const &);
///
~InsetWrap();
///
- void write(Buffer const & buf, std::ostream & os) const;
- ///
- void read(Buffer const & buf, Lexer & lex);
- ///
- void validate(LaTeXFeatures & features) const;
- ///
- Inset::Code lyxCode() const { return Inset::WRAP_CODE; }
- ///
- int latex(Buffer const &, odocstream &,
- OutputParams const &) const;
- ///
- int plaintext(Buffer const &, odocstream &,
- OutputParams const &) const;
+ InsetWrapParams const & params() const { return params_; }
///
- int docbook(Buffer const &, odocstream &,
- OutputParams const &) const;
+ static void string2params(std::string const &, InsetWrapParams &);
///
- virtual docstring const editMessage() const;
+ static std::string params2string(InsetWrapParams const &);
+private:
///
- bool insetAllowed(Inset::Code) const;
+ void setCaptionType(std::string const & type) override;
///
- void addToToc(TocList &, Buffer const &) const;
+ void write(std::ostream & os) const override;
///
- bool showInsetDialog(BufferView *) const;
+ void read(Lexer & lex) override;
///
- InsetWrapParams const & params() const { return params_; }
+ void validate(LaTeXFeatures & features) const override;
///
- bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
-protected:
+ InsetCode lyxCode() const override { return WRAP_CODE; }
///
- virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
+ docstring toolTip(BufferView const & bv, int x, int y) const override;
///
- virtual docstring name() const { return name_; }
-private:
- virtual std::auto_ptr<Inset> doClone() const;
-
+ void latex(otexstream &, OutputParams const &) const override;
///
- InsetWrapParams params_;
+ int plaintext(odocstringstream & ods, OutputParams const & op,
+ size_t max_length = INT_MAX) const override;
///
- docstring name_;
-};
-
-
-class InsetWrapMailer : public MailInset {
-public:
+ void docbook(XMLStream &, OutputParams const &) const override;
///
- InsetWrapMailer(InsetWrap & inset);
+ docstring xhtml(XMLStream &, OutputParams const &) const override;
///
- virtual Inset & inset() const { return inset_; }
+ bool insetAllowed(InsetCode) const override;
///
- virtual std::string const & name() const { return name_; }
+ bool showInsetDialog(BufferView *) const override;
///
- virtual std::string const inset2string(Buffer const &) const;
+ bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const override;
+ /// Update the label
+ void updateBuffer(ParIterator const &, UpdateType, bool const deleted = false) override;
///
- static void string2params(std::string const &, InsetWrapParams &);
+ void doDispatch(Cursor & cur, FuncRequest & cmd) override;
///
- static std::string const params2string(InsetWrapParams const &);
-private:
+ docstring layoutName() const override;
///
- static std::string const name_;
+ Inset * clone() const override { return new InsetWrap(*this); }
+ /// Is the content of this inset part of the immediate (visible) text sequence?
+ bool isPartOfTextSequence() const override { return false; }
+
///
- InsetWrap & inset_;
+ InsetWrapParams params_;
};
-
} // namespace lyx
#endif