#include "Lexer.h"
#include "TextClass.h"
+#include "support/lassert.h"
#include "support/debug.h"
#include "support/FileName.h"
#include "support/filetools.h"
texClassAvail_ = texClassAvail;
}
+LayoutFileList::~LayoutFileList()
+{
+ ClassMap::const_iterator it = classmap_.begin();
+ ClassMap::const_iterator en = classmap_.end();
+ for (; it != en; ++it) {
+ delete it->second;
+ }
+}
LayoutFileList & LayoutFileList::get()
{
LayoutFile const & LayoutFileList::operator[](string const & classname) const
{
- BOOST_ASSERT(haveClass(classname));
+ LASSERT(haveClass(classname), /**/);
return *classmap_[classname];
}
LayoutFile &
LayoutFileList::operator[](string const & classname)
{
- BOOST_ASSERT(haveClass(classname));
+ LASSERT(haveClass(classname), /**/);
return *classmap_[classname];
}
// Reads LyX textclass definitions according to textclass config file
bool LayoutFileList::read()
{
- Lexer lex(0, 0);
+ Lexer lex;
FileName const real_file = libFileSearch("", "textclass.lst");
LYXERR(Debug::TCLASS, "Reading textclasses from `" << real_file << '\'');
void LayoutFileList::reset(LayoutFileIndex const & classname) {
- BOOST_ASSERT(haveClass(classname));
+ LASSERT(haveClass(classname), /**/);
LayoutFile * tc = classmap_[classname];
LayoutFile * tmpl =
new LayoutFile(tc->name(), tc->latexname(), tc->description(),
string const LayoutFileList::localPrefix = "LOCAL:";
-
LayoutFileIndex
- LayoutFileList::addLayoutFile(string const & textclass, string const & path)
+ LayoutFileList::addLayoutFile(string const & textclass, string const & path,
+ Layout_Type type)
{
// FIXME There is a bug here: 4593
//
// NOTE: latex class name is defined in textclass.layout, which can be
// different from textclass
string fullName = addName(path, textclass + ".layout");
- string localIndex = localPrefix + fullName;
+ string localIndex;
+
+ if (type == Local)
+ localIndex = localPrefix + fullName;
// if the local file has already been loaded, return it
if (haveClass(localIndex))
smatch sub;
if (regex_match(line, sub, reg)) {
// returns: whole string, classtype (not used here), class name, description
- BOOST_ASSERT(sub.size() == 4);
+ LASSERT(sub.size() == 4, /**/);
// now, create a TextClass with description containing path information
string className(sub.str(2) == "" ? textclass : sub.str(2));
LayoutFile * tmpl =