X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFloating.h;h=d10694f92be29b88400e7970cbc3fff7a0ffb3db;hb=eeaea7cbbb98141c98c189751907a8fc0b10f7d4;hp=d53c2dc15690b4b98fbfd510f206cbd566919321;hpb=cbed4c3cc55ffba60c4feceda886deb8b235fc6c;p=lyx.git diff --git a/src/Floating.h b/src/Floating.h index d53c2dc156..d10694f92b 100644 --- a/src/Floating.h +++ b/src/Floating.h @@ -18,7 +18,7 @@ namespace lyx { - + /** This is a "float layout" object. It contains the parameters for how to * handle the different kinds of floats, default ones and user created ones. * Objects of this class is stored in a container in FloatList. The different @@ -28,14 +28,18 @@ namespace lyx { class Floating { public: /// - Floating(); + Floating() : usesfloatpkg_(false), ispredefined_(false), + allowswide_(true), allowssideways_(true) {} /// Floating(std::string const & type, std::string const & placement, std::string const & ext, std::string const & within, std::string const & style, std::string const & name, - std::string const & listName, std::string const & htmlType, - std::string const & htmlClass, std::string const & htmlStyle, - bool builtin = false); + std::string const & listName, std::string const & listCmd, + std::string const & refPrefix, std::string const & allowedplacement, + std::string const & htmlType, std::string const & htmlClass, + docstring const & htmlStyle, std::string const & docbookTag, + std::string const & docbookAttr, std::string const & required, + bool usesfloat, bool isprefined, bool allowswide, bool allowssideways); /// std::string const & floattype() const { return floattype_; } /// @@ -50,19 +54,37 @@ public: std::string const & name() const { return name_; } /// the title of a list of this kind of float std::string const & listName() const { return listname_; } - /// the command used to generate that list, in LaTeX - /// if needsFloatPkg() is true, then this is - /// \listof{floattype()} - /// otherwise it is hardcoded, at present. - docstring const & listCommand(std::string const & lang) const; + /// the command used to generate that list. this has to be given + /// if usesFloatPkg() is false, unless this float uses the same + /// auxfile as another defined previously. this should not contain + /// the leading "\". + std::string const & listCommand() const { return listcommand_; } + /// prefix to use for formatted references to such floats + std::string const & refPrefix() const { return refprefix_; } + /// allowed placement options + std::string const & allowedPlacement() const { return allowedplacement_; } + /// + bool usesFloatPkg() const { return usesfloatpkg_; } + /// allowed placement options + std::string const & required() const { return required_; } + /// + bool isPredefined() const { return ispredefined_; } + /// + bool allowsWide() const { return allowswide_; } /// - bool needsFloatPkg() const { return needsfloatpkg_; } + bool allowsSideways() const { return allowssideways_; } /// style information, for preamble - std::string const & htmlStyle() const { return html_style_; } + docstring const & htmlStyle() const { return html_style_; } /// class, for css, defaults to "float-" + type() std::string const & htmlAttrib() const; /// tag type, defaults to "div" std::string const & htmlTag() const; + /// + std::string const & docbookTag(bool hasTitle = false) const; + /// + std::string const & docbookAttr() const; + /// + std::string const & docbookCaption() const; private: /// std::string defaultCSSClass() const; @@ -81,17 +103,35 @@ private: /// std::string listname_; /// - mutable docstring listcommand_; + std::string listcommand_; + /// + std::string refprefix_; + /// + std::string allowedplacement_; + /// + std::string required_; + /// + bool usesfloatpkg_; + /// + bool ispredefined_; + /// + bool allowswide_; + /// + bool allowssideways_; /// - bool needsfloatpkg_; - /// mutable std::string html_tag_; - /// + /// mutable std::string html_attrib_; /// mutable std::string defaultcssclass_; - /// - std::string html_style_; + /// + docstring html_style_; + /// DocBook tag + mutable std::string docbook_tag_; + /// attribute (mostly, role) + mutable std::string docbook_caption_; + /// caption tag (mostly, either caption or title) + std::string docbook_attr_; };