X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetFloat.h;h=e05f5678e2f2311dcc189248c47d9902d2ba4d8d;hb=9762ba5d388e8a81a6e58c464b635ca4cf48cbfa;hp=604f5b9b4bc37c49d8263bc76f2f323c3caf932f;hpb=1c33b77bec19cd3b4657d68ba3bf6b4747abb59a;p=lyx.git diff --git a/src/insets/InsetFloat.h b/src/insets/InsetFloat.h index 604f5b9b4b..e05f5678e2 100644 --- a/src/insets/InsetFloat.h +++ b/src/insets/InsetFloat.h @@ -4,8 +4,8 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Jürgen Vigna - * \author Lars Gullik Bjønnes + * \author Jürgen Vigna + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -13,15 +13,19 @@ #ifndef INSET_FLOAT_H #define INSET_FLOAT_H -#include "InsetCollapsable.h" +#include "InsetCaptionable.h" namespace lyx { -class InsetFloatParams { +struct TexString; + + +class InsetFloatParams +{ public: /// - InsetFloatParams() : wide(false), sideways(false), subfloat(false) {} + InsetFloatParams() : type("senseless"), wide(false), sideways(false), subfloat(false) {} /// void write(std::ostream & os) const; /// @@ -30,7 +34,7 @@ public: std::string type; /// std::string placement; - /// + /// span columns bool wide; /// bool sideways; @@ -47,29 +51,31 @@ public: ///////////////////////////////////////////////////////////////////////// /// Used for "floating" objects like tables, figures etc. -class InsetFloat : public InsetCollapsable +class InsetFloat : public InsetCaptionable { public: - /// - InsetFloat(Buffer const &, std::string const &); - /// - ~InsetFloat(); - + InsetFloat(Buffer * buffer, std::string params_str); /// static void string2params(std::string const &, InsetFloatParams &); /// static std::string params2string(InsetFloatParams const &); /// - void setWide(bool w, BufferParams const &); + void setWide(bool w, bool update_label = true); + /// + void setSideways(bool s, bool update_label = true); /// - void setSideways(bool s, BufferParams const &); + void setSubfloat(bool s, bool update_label = true); /// - void setSubfloat(bool s, BufferParams const &); + void setNewLabel(); /// InsetFloatParams const & params() const { return params_; } + /// + bool allowsCaptionVariation(std::string const &) const; private: /// - docstring name() const { return name_; } + void setCaptionType(std::string const & type); + /// + docstring layoutName() const; /// docstring toolTip(BufferView const & bv, int x, int y) const; /// @@ -81,37 +87,34 @@ private: /// InsetCode lyxCode() const { return FLOAT_CODE; } /// - int latex(odocstream &, OutputParams const &) const; + void latex(otexstream &, OutputParams const &) const; /// - int plaintext(odocstream &, OutputParams const &) const; + int plaintext(odocstringstream & ods, OutputParams const & op, + size_t max_length = INT_MAX) const; /// int docbook(odocstream &, OutputParams const &) const; /// - docstring editMessage() const; + docstring xhtml(XHTMLStream &, OutputParams const &) const; /// bool insetAllowed(InsetCode) const; - /** returns true if, when outputing LaTeX, font changes should + /** returns false 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; } - /// - bool showInsetDialog(BufferView *) const; + bool inheritFont() const { return false; } /// bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; - // Update the counters of this inset and of its contents - void updateLabels(ParIterator const &); + /// + bool hasSubCaptions(ParIterator const & it) const; /// void doDispatch(Cursor & cur, FuncRequest & cmd); /// Inset * clone() const { return new InsetFloat(*this); } + /// Is the content of this inset part of the immediate (visible) text sequence? + bool isPartOfTextSequence() const { return false; } /// - docstring getCaption(OutputParams const &) const; - /// - docstring getCaptionText(OutputParams const &) const; - /// + TexString getCaption(OutputParams const &) const; + InsetFloatParams params_; - /// - docstring name_; };