]> git.lyx.org Git - lyx.git/blobdiff - src/LayoutFile.cpp
use lfun
[lyx.git] / src / LayoutFile.cpp
index 05fc109941c311aac05f1010b424360534aff034..88a4cf63f57a26e56807702fced1997823b38fb4 100644 (file)
 #include "Lexer.h"
 #include "TextClass.h"
 
-#include "support/lassert.h"
+#include "frontends/alert.h"
+
 #include "support/debug.h"
 #include "support/FileName.h"
 #include "support/filetools.h"
 #include "support/gettext.h"
+#include "support/lassert.h"
+#include "support/lstrings.h"
 
 #include <boost/bind.hpp>
 #include <boost/regex.hpp>
@@ -288,6 +291,24 @@ LayoutFileIndex
 }
 
 
+bool LayoutFileList::load(string const & name, string const & buf_path)
+{
+       if (!haveClass(name)) {
+               LYXERR0("Document class \"" << name << "\" does not exist.");
+               return false;
+       }
+
+       LayoutFile * tc = classmap_[name];
+       if (!tc->load(buf_path)) {
+               docstring s = bformat(_("The document class %1$s "
+                                  "could not be loaded."), from_utf8(name));
+               frontend::Alert::error(_("Could not load class"), s);
+               return false;
+       }
+       return true;
+}
+
+
 LayoutFileIndex defaultBaseclass()
 {
        if (LayoutFileList::get().haveClass("article"))