+ ///Get the LyX TextClass (that is, the layout file) this document is using.
+ textclass_type getBaseClass() const;
+ /// Set the LyX TextClass (that is, the layout file) this document is using.
+ /// NOTE: This does not call makeTextClass() to update the local TextClass.
+ /// That needs to be done manually.
+ bool setBaseClass(textclass_type);
+ /// Adds the module information to the baseClass information to
+ /// create our local TextClass.
+ void makeTextClass();
+ /// Returns the TextClass currently in use: the BaseClass as modified
+ /// by modules.
+ TextClass const & getTextClass() const;
+ /// Returns a pointer to the TextClass currently in use: the BaseClass
+ /// as modified by modules. (See \file TextClassPtr.h for the typedef.)
+ TextClassPtr getTextClassPtr() const;
+ /// This bypasses the baseClass and sets the textClass directly.
+ /// Should be called with care and would be better not being here,
+ /// but it seems to be needed by CutAndPaste::putClipboard().
+ void setTextClass(TextClassPtr);
+ /// List of modules in use
+ std::vector<std::string> const & getModules() const;
+ /// Add a module to the list of modules in use.
+ /// Returns true if module was successfully added.
+ /// The makeClass variable signals whether to call makeTextClass. This
+ /// need not be done if we know this isn't the final time through, or if
+ /// the BufferParams do not represent the parameters for an actual buffer
+ /// (as in GuiDocument).
+ bool addLayoutModule(std::string const & modName);
+ /// Clear the list
+ void clearLayoutModules();