X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxtextclass.h;h=c2e36f3ea4a08bf6c0ca6fbf5d985a82e5468c77;hb=ba62665f966508db5a4de6864f4aa7374c5a5356;hp=a52cd7ab5973d744492793b8b1eaf492dee658fa;hpb=c9f9ba315c8e475ad47c64fef6c9c755dea3d55c;p=lyx.git diff --git a/src/lyxtextclass.h b/src/lyxtextclass.h index a52cd7ab59..c2e36f3ea4 100644 --- a/src/lyxtextclass.h +++ b/src/lyxtextclass.h @@ -17,6 +17,11 @@ #include + +namespace lyx { + +namespace support { class FileName; } + class LyXLex; class Counters; class FloatList; @@ -31,7 +36,7 @@ public: std::string latexparam; LyXFont font; LyXFont labelfont; - std::string preamble; + docstring preamble; }; @@ -62,7 +67,7 @@ public: const_iterator end() const { return layoutlist_.end(); } /// Performs the read of the layout file. - bool Read(std::string const & filename, bool merge = false); + bool read(support::FileName const & filename, bool merge = false); /// void readOutputType(LyXLex &); /// @@ -84,7 +89,7 @@ public: LyXLayout_ptr const & operator[](std::string const & vname) const; /// Sees to that the textclass structure has been loaded - bool load() const; + bool load(std::string const & path = std::string()) const; /// Has this layout file been loaded yet? bool loaded() const { return loaded_; } @@ -119,7 +124,7 @@ public: /// std::string const & pagestyle() const; /// - std::string const & preamble() const; + docstring const & preamble() const; /// Packages that are already loaded by the class enum Provides { @@ -153,7 +158,7 @@ public: /// int tocdepth() const; - /// Can be LaTeX, LinuxDoc, etc. + /// Can be LaTeX, DocBook, etc. OutputType outputType() const; /// @@ -172,6 +177,12 @@ public: /// int size() const; + /// The minimal TocLevel of sectioning layouts + int min_toclevel() const; + /// The maximal TocLevel of sectioning layouts + int max_toclevel() const; + /// returns true if the class has a ToC structure + bool hasTocLevels() const; private: /// bool delete_layout(std::string const &); @@ -196,7 +207,7 @@ private: /// std::string defaultlayout_; /// preamble text to support layout styles - std::string preamble_; + docstring preamble_; /// latex packages loaded by document class. Provides provides_; /// @@ -207,7 +218,7 @@ private: int secnumdepth_; /// header depth to appear in table of contents int tocdepth_; - /// Can be LaTeX, LinuxDoc, etc. + /// Can be LaTeX, DocBook, etc. OutputType outputType_; /** Base font. The paragraph and layout fonts are resolved against this font. This has to be fully instantiated. Attributes @@ -242,6 +253,11 @@ private: /// Is the TeX class available? bool texClassAvail_; + + /// The minimal TocLevel of sectioning layouts + int min_toclevel_; + /// The maximal TocLevel of sectioning layouts + int max_toclevel_; }; @@ -256,4 +272,7 @@ void operator|=(LyXTextClass::Provides & p1, LyXTextClass::Provides p2) /// convert page sides option to text 1 or 2 std::ostream & operator<<(std::ostream & os, LyXTextClass::PageSides p); + +} // namespace lyx + #endif