]> git.lyx.org Git - lyx.git/blobdiff - src/TextClass.h
Add empty InsetLayout for undefined cases. Should avoid possible bugs caused by empty...
[lyx.git] / src / TextClass.h
index a64aff64632b347a04cbb3be625c0cd19015cc99..818ce6a56dfb4ec69c40058f6b99980e32fadeb3 100644 (file)
@@ -67,6 +67,7 @@ public:
                MODULE //>This is a layout module
        };
        /// Performs the read of the layout file.
+       /// \return true on success.
        bool read(support::FileName const & filename, ReadType rt = BASECLASS);
        ///
        void readOutputType(Lexer &);
@@ -109,6 +110,13 @@ public:
        docstring const & defaultLayoutName() const;
        ///
        LayoutPtr const & defaultLayout() const;
+       /// returns a special layout for use when we don't really want one,
+       /// e.g., in table cells
+       LayoutPtr const & emptyLayout() const 
+                       { return operator[](emptylayout_); };
+       ///
+       docstring const & emptyLayoutName() const 
+                       { return emptylayout_; }
        ///
        std::string const & name() const;
        ///
@@ -174,10 +182,12 @@ public:
        int max_toclevel() const;
        /// returns true if the class has a ToC structure
        bool hasTocLevels() const;
+       ///
+       static InsetLayout const & emptyInsetLayout() { return empty_insetlayout_; }
 private:
        ///
        bool deleteLayout(docstring const &);
-       ///
+       /// \return true for success.
        bool readStyle(Lexer &, Layout &);
        /// Layout file name
        std::string name_;
@@ -200,6 +210,8 @@ private:
        std::string class_header_;
        ///
        docstring defaultlayout_;
+       /// name of empty layout
+       static const docstring emptylayout_;
        /// preamble text to support layout styles
        docstring preamble_;
        /// latex packages loaded by document class.
@@ -255,6 +267,8 @@ private:
        int min_toclevel_;
        /// The maximal TocLevel of sectioning layouts
        int max_toclevel_;
+       ///
+       static InsetLayout empty_insetlayout_;
 };