]> git.lyx.org Git - lyx.git/blobdiff - src/Floating.h
DocBook: add a layout tag to tell whether an item is the abstract or not.
[lyx.git] / src / Floating.h
index b677f0ca7dcefba2b7bc36d632b08c04c4d474e4..d10694f92be29b88400e7970cbc3fff7a0ffb3db 100644 (file)
 #ifndef FLOATING_H
 #define FLOATING_H
 
+#include "support/strfwd.h"
+
 #include <string>
 
 
 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
@@ -26,15 +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 & listCmd,
-                std::string const & refPrefix,
-                std::string const & htmlType, std::string const & htmlClass, 
-                std::string const & htmlStyle, bool usesfloat, bool isprefined);
+                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_; }
        ///
@@ -56,16 +61,30 @@ public:
        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 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;
@@ -88,17 +107,31 @@ private:
        ///
        std::string refprefix_;
        ///
+       std::string allowedplacement_;
+       ///
+       std::string required_;
+       ///
        bool usesfloatpkg_;
        ///
        bool ispredefined_;
-       /// 
+       ///
+       bool  allowswide_;
+       ///
+       bool  allowssideways_;
+       ///
        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_;
 };