X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFloating.h;h=d10694f92be29b88400e7970cbc3fff7a0ffb3db;hb=dab71087cf2954b77d3d2c0e67b868f9be82fba9;hp=d47cb7d38a295dbab5e377d9d331664ba7918f6c;hpb=74b224fcba406f4ea4d1f1fa91a63aea39ca2712;p=lyx.git diff --git a/src/Floating.h b/src/Floating.h index d47cb7d38a..d10694f92b 100644 --- a/src/Floating.h +++ b/src/Floating.h @@ -1,102 +1,140 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor +/** + * \file Floating.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * Copyright 1998-2000 The LyX Team. + * \author Lars Gullik Bjønnes * - * ====================================================== + * Full author contact details are available in file CREDITS. */ #ifndef FLOATING_H #define FLOATING_H -#ifdef __GNUG__ -#pragma interface -#endif +#include "support/strfwd.h" + +#include + + +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 - InsetFloat(s) have a pointer/reference through the name of the Floating - so that it knows how the different floats should be handled. -*/ + * 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 + * InsetFloat(s) have a pointer/reference through the name of the Floating + * so that it knows how the different floats should be handled. + */ 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 & 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_; } + /// + std::string const & placement() const { return placement_; } + /// + std::string const & ext() const {return ext_; } + /// + std::string const & within() const { return within_; } /// - Floating(string const & type, string const & placement, - string const & ext, string const & within, - string const & style, string const & name, - bool builtin = false); + std::string const & style() const { return style_; } /// - string const & type() const; + 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. 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_; } /// - string const & placement() const; + bool usesFloatPkg() const { return usesfloatpkg_; } + /// allowed placement options + std::string const & required() const { return required_; } /// - string const & name() const; + bool isPredefined() const { return ispredefined_; } /// - bool builtin() const; + bool allowsWide() const { return allowswide_; } + /// + bool allowsSideways() const { return allowssideways_; } + /// style information, for preamble + 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: /// - string type_; + std::string defaultCSSClass() const; + /// + std::string floattype_; + /// + std::string placement_; + /// + std::string ext_; + /// + std::string within_; + /// + std::string style_; /// - string placement_; + std::string name_; /// - string ext_; + std::string listname_; /// - string within_; + std::string listcommand_; /// - string style_; + std::string refprefix_; /// - string name_; + std::string allowedplacement_; /// - bool builtin_; + 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_; + /// + 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_; }; -inline -Floating::Floating() -{} - - -inline -Floating::Floating(string const & type, string const & placement, - string const & ext, string const & within, - string const & style, string const & name, - bool builtin) - : type_(type), placement_(placement), ext_(ext), within_(within), - style_(style), name_(name), builtin_(builtin) -{} - - -inline -string const & Floating::type() const -{ - return type_; -} - - -inline -string const & Floating::placement() const -{ - return placement_; -} - - -inline -string const & Floating::name() const -{ - return name_; -} - - -inline -bool Floating::builtin() const -{ - return builtin_; -} +} // namespace lyx #endif