X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetfloat.h;h=7992d44d6cdd7d370d08884672e8e38d3ffd5551;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=39d60657694c256dab360d4688a7f290a1b9a617;hpb=cba75d44891141465d7c7c304cb453d6c22c1289;p=lyx.git diff --git a/src/insets/insetfloat.h b/src/insets/insetfloat.h index 39d6065769..7992d44d6c 100644 --- a/src/insets/insetfloat.h +++ b/src/insets/insetfloat.h @@ -7,29 +7,35 @@ * \author Jürgen Vigna * \author Lars Gullik Bjønnes * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ -#ifndef InsetFloat_H -#define InsetFloat_H - +#ifndef INSETFLOAT_H +#define INSETFLOAT_H #include "insetcollapsable.h" -#include "toc.h" +#include "mailinset.h" + -#include +namespace lyx { -class Painter; -struct InsetFloatParams { +class InsetFloatParams { +public: + /// + InsetFloatParams() : wide(false), sideways(false) {} /// - InsetFloatParams() : placement("htbp"), wide(false) {} + void write(std::ostream & os) const; /// - string type; + void read(LyXLex & lex); /// - string placement; + std::string type; + /// + std::string placement; /// bool wide; + /// + bool sideways; }; @@ -39,59 +45,75 @@ struct InsetFloatParams { class InsetFloat : public InsetCollapsable { public: /// - InsetFloat(BufferParams const &, string const &); - /// - InsetFloat(InsetFloat const &, bool same_id = false); + InsetFloat(BufferParams const &, std::string const &); /// ~InsetFloat(); /// - void write(Buffer const * buf, std::ostream & os) const; + void write(Buffer const & buf, std::ostream & os) const; /// - void read(Buffer const * buf, LyXLex & lex); + void read(Buffer const & buf, LyXLex & lex); /// void validate(LaTeXFeatures & features) const; /// - Inset * clone(Buffer const &, bool same_id = false) const; + InsetBase::Code lyxCode() const { return InsetBase::FLOAT_CODE; } /// - Inset::Code lyxCode() const { return Inset::FLOAT_CODE; } + int latex(Buffer const &, odocstream &, + OutputParams const &) const; /// - int latex(Buffer const *, std::ostream &, bool fragile, bool fp) const; + int docbook(Buffer const &, odocstream &, + OutputParams const &) const; /// - int docbook(Buffer const *, std::ostream &, bool mixcont) const; + virtual docstring const editMessage() const; /// - string const editMessage() const; - /// - bool insetAllowed(Inset::Code) const; + bool insetAllowed(InsetBase::Code) const; /** returns true if, when outputing LaTeX, font changes should be closed before generating this inset. This is needed for insets that may contain several paragraphs */ bool noFontChange() const { return true; } /// - string const & type() const; + void wide(bool w, BufferParams const &); /// - void placement(string const & p); + void sideways(bool s, BufferParams const &); /// - string const & placement() const; + void addToToc(TocList &, Buffer const &) const; /// - void wide(bool w, BufferParams const &); + bool showInsetDialog(BufferView *) const; /// - bool wide() const; + InsetFloatParams const & params() const { return params_; } /// - void addToToc(toc::TocList &, Buffer const *) const; + bool getStatus(LCursor &, FuncRequest const &, FuncStatus &) const; +protected: + virtual void doDispatch(LCursor & cur, FuncRequest & cmd); +private: + virtual std::auto_ptr doClone() const; + /// - bool showInsetDialog(BufferView *) const; + InsetFloatParams params_; +}; + + +class InsetFloatMailer : public MailInset { +public: /// - boost::signal0 hideDialog; + InsetFloatMailer(InsetFloat & inset); /// - InsetFloatParams const & params() const { return params_; } + virtual InsetBase & inset() const { return inset_; } /// - void writeParams(std::ostream & os) const; + virtual std::string const & name() const { return name_; } /// - void readParams(Buffer const * buf, LyXLex & lex); - + virtual std::string const inset2string(Buffer const &) const; + /// + static void string2params(std::string const &, InsetFloatParams &); + /// + static std::string const params2string(InsetFloatParams const &); private: /// - InsetFloatParams params_; + static std::string const name_; + /// + InsetFloat & inset_; }; + +} // namespace lyx + #endif