X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFloatList.h;h=5c0c3a7355830da940e218186a72fb1e06fa19d3;hb=225253dfc6caddc482af240b54745bd7334ccab9;hp=422110d6fd2b436b85ed790b6bcd30e3f6090984;hpb=ee72ce87743857b4317da00e6e09cb6842095664;p=lyx.git diff --git a/src/FloatList.h b/src/FloatList.h index 422110d6fd..5c0c3a7355 100644 --- a/src/FloatList.h +++ b/src/FloatList.h @@ -1,81 +1,63 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor +/** + * \file FloatList.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 FLOATLIST_H #define FLOATLIST_H -#ifdef __GNUG__ -#pragma interface -#endif +#include "Floating.h" #include +#include + + +namespace lyx { -#include "LString.h" -#include "Floating.h" /// class FloatList { public: /// - typedef std::map List; + typedef std::map List; + /// + typedef List::const_iterator const_iterator; + /// + FloatList(); + /// + const_iterator begin() const; /// - FloatList() { - // Insert the latex builtin float-types - Floating table; - table.type = "table"; - table.placement = ""; - table.ext = "lot"; - table.within = ""; - table.style = ""; - table.name = ""; - table.builtin = true; - list[table.type] = table; - Floating figure; - figure.type = "figure"; - figure.placement = ""; - figure.ext = "lof"; - figure.within = ""; - figure.style = ""; - figure.name = ""; - figure.builtin = true; - list[figure.type] = figure; - // And we add algorithm too since LyX has - // supported that for a long time - Floating algorithm; - algorithm.type = "algorithm"; - algorithm.placement = "htbp"; - algorithm.ext = "loa"; - algorithm.within = ""; - algorithm.style = "ruled"; - algorithm.name = "Algorithm"; - algorithm.builtin = false; - list[algorithm.type] = algorithm; - } + const_iterator end() const; /// - void newFloat(Floating const & fl) { - list[fl.type] = fl; - } + void newFloat(Floating const & fl); /// - string defaultPlacement(string const & t) const { - List::const_iterator cit = list.find(t); - if (cit != list.end()) - return (*cit).second.placement; - return string(); - } - + std::string const defaultPlacement(std::string const & t) const; + /// + std::string const allowedPlacement(std::string const & t) const; + /// + bool typeExist(std::string const & t) const; + /// + bool allowsWide(std::string const & t) const; + /// + bool allowsSideways(std::string const & t) const; + /// + Floating const & getType(std::string const & t) const; + /// + void erase(std::string const & t); + /// + const_iterator operator[](std::string const & t) const; private: /// List list; }; -extern FloatList floatList; + +} // namespace lyx #endif