#include <boost/noncopyable.hpp>
+#include <set>
+#include <string>
#include <vector>
};
/// This class amounts to little more than a `strong typedef'.
+///
/// A LayoutFile represents the layout information that is
/// contained in a *.layout file.
+///
+/// No document- (that is, Buffer-) specific information should
+/// be placed in these objects. They are used as the basis for
+/// constructing DocumentClass objects, which are what represent
+/// the layout information associated with a Buffer. (This is also
+/// a subclass of TextClass, implemented in TextClass.{h,cpp}.)
+/// Buffer-specific information should therefore be placed in a
+/// DocumentClass object.
+///
class LayoutFile : public TextClass, boost::noncopyable {
public:
/// check whether the TeX class is available
bool isTeXClassAvailable() const { return texClassAvail_; }
+ ///
+ std::set<std::string> const & defaultModules() const { return usemod_; }
private:
/// Construct a layout with default values. Actual values loaded later.
explicit LayoutFile(std::string const & filename,
/// Clears the textclass so as to force it to be reloaded
void reset(LayoutFileIndex const & tc);
- enum Layout_Type {
- System,
- Local
- };
-
+ /// add a default textclass with all standard layouts.
+ LayoutFileIndex addEmptyClass(std::string const & textclass);
+
/// add a textclass from user local directory.
/// \return the identifier for the loaded file, or else an
/// empty string if no file was loaded.
LayoutFileIndex
- addLayoutFile(std::string const & textclass, std::string const & path,
- Layout_Type type);
+ addLocalLayout(std::string const & textclass, std::string const & path);
/// a list of the available classes
std::vector<LayoutFileIndex> classList() const;
- ///
- static std::string const localPrefix;
private:
///
typedef std::map<std::string, LayoutFile *> ClassMap;