]> git.lyx.org Git - lyx.git/blobdiff - src/lyxtextclass.h
remove noload/don't typeset
[lyx.git] / src / lyxtextclass.h
index 295148afc51ef7b3e64f30fda4f1ebdd5807efcd..5063a13b0f2adb61840a9ae134df087740697bd0 100644 (file)
 #endif
 
 #include "lyxlayout.h"
+#include "LString.h"
+#include "lyxlayout_ptr_fwd.h"
+#include "FloatList.h"
 
 #include "support/types.h"
 
-#include "LString.h"
+#include <boost/shared_ptr.hpp>
 
 #include <vector>
 
 class LyXLex;
-
-
+class Counters;
 
 ///
 class LyXTextClass {
 public:
        ///
-       typedef std::vector<LyXLayout> LayoutList;
+       typedef std::vector<LyXLayout_ptr> LayoutList;
        ///
        typedef LayoutList::const_iterator const_iterator;
        ///
        explicit
-       LyXTextClass (string const & = string(),
-                     string const & = string(),
-                     string const & = string());
+       LyXTextClass(string const & = string(),
+                    string const & = string(),
+                    string const & = string());
 
        ///
-       const_iterator begin() const { return layoutlist.begin(); }
+       const_iterator begin() const { return layoutlist_.begin(); }
        ///
-       const_iterator end() const { return layoutlist.end(); }
+       const_iterator end() const { return layoutlist_.end(); }
 
        ///
        bool Read(string const & filename, bool merge = false);
@@ -55,18 +57,28 @@ public:
        ///
        void readClassOptions(LyXLex &);
        ///
+       void readFloat(LyXLex &);
+       ///
+       void readCounter(LyXLex &);
+       ///
        bool hasLayout(string const & name) const;
 
        ///
-       LyXLayout const & operator[](string const & vname) const;
+       LyXLayout_ptr const & operator[](string const & vname) const;
 
        /// Sees to that the textclass structure has been loaded
        bool load() const;
 
+       /// the list of floats defined in the class
+       FloatList & floats();
+       /// the list of floats defined in the class
+       FloatList const & floats() const;
+       /// The Counters present in this textclass.
+       Counters & counters() const;
        ///
-       string const defaultLayoutName() const;
+       string const defaultLayoutName() const;
        ///
-       LyXLayout const & defaultLayout() const;
+       LyXLayout_ptr const & defaultLayout() const;
        ///
        string const & name() const;
        ///
@@ -181,7 +193,13 @@ private:
        int maxcounter_; // add approp. signedness
 
        ///
-       LayoutList layoutlist;
+       LayoutList layoutlist_;
+
+       ///
+       FloatList floatlist_;
+
+       ///
+       boost::shared_ptr<Counters> ctrs_;
 
        /// Has this layout file been loaded yet?
        mutable bool loaded;