2001-12-28 13:26:54 +00:00
|
|
|
// -*- C++ -*-
|
2003-08-23 00:17:00 +00:00
|
|
|
/**
|
2008-03-07 03:53:21 +00:00
|
|
|
* \file LayoutFile.h
|
2003-08-23 00:17:00 +00:00
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
* Licence details can be found in the file COPYING.
|
2002-03-21 17:27:08 +00:00
|
|
|
*
|
2008-11-14 15:58:50 +00:00
|
|
|
* \author Lars Gullik Bjønnes
|
2020-12-05 22:17:02 +00:00
|
|
|
* \author Richard Kimberly Heck (typedefs and such)
|
2002-03-21 17:27:08 +00:00
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
* Full author contact details are available in file CREDITS.
|
|
|
|
*/
|
2001-12-28 13:26:54 +00:00
|
|
|
|
2008-02-24 16:59:49 +00:00
|
|
|
#ifndef BASECLASSLIST_H
|
|
|
|
#define BASECLASSLIST_H
|
2001-12-28 13:26:54 +00:00
|
|
|
|
2007-04-29 19:53:54 +00:00
|
|
|
#include "TextClass.h"
|
2004-11-16 20:41:38 +00:00
|
|
|
|
2007-11-07 21:52:11 +00:00
|
|
|
#include "support/strfwd.h"
|
2001-12-28 13:26:54 +00:00
|
|
|
|
2008-07-25 15:51:27 +00:00
|
|
|
#include <string>
|
2001-12-28 13:26:54 +00:00
|
|
|
#include <vector>
|
|
|
|
|
2006-10-21 00:16:43 +00:00
|
|
|
|
|
|
|
namespace lyx {
|
|
|
|
|
2020-10-19 08:51:00 +00:00
|
|
|
class LayoutModuleList;
|
|
|
|
|
2008-03-07 03:53:21 +00:00
|
|
|
/// Index into LayoutFileList. Basically a 'strong typedef'.
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
class LayoutFileIndex {
|
2008-02-24 16:59:49 +00:00
|
|
|
public:
|
|
|
|
///
|
2008-02-28 21:04:55 +00:00
|
|
|
typedef std::string base_type;
|
2008-02-24 16:59:49 +00:00
|
|
|
///
|
2014-07-05 17:13:10 +00:00
|
|
|
LayoutFileIndex(base_type const & t) : data_(t) { }
|
2008-02-24 16:59:49 +00:00
|
|
|
///
|
|
|
|
operator base_type() const { return data_; }
|
|
|
|
///
|
2008-03-06 21:31:27 +00:00
|
|
|
bool empty() const { return data_.empty(); }
|
2008-02-24 16:59:49 +00:00
|
|
|
private:
|
|
|
|
base_type data_;
|
|
|
|
};
|
|
|
|
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
/// This class amounts to little more than a `strong typedef'.
|
2017-07-03 17:45:58 +00:00
|
|
|
///
|
|
|
|
/// A LayoutFile represents the layout information that is
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
/// contained in a *.layout file.
|
2017-07-03 17:45:58 +00:00
|
|
|
///
|
|
|
|
/// No document- (that is, Buffer-) specific information should
|
|
|
|
/// be placed in these objects. They are used as the basis for
|
2008-07-08 18:13:47 +00:00
|
|
|
/// constructing DocumentClass objects, which are what represent
|
2017-07-03 17:45:58 +00:00
|
|
|
/// the layout information associated with a Buffer. (This is also
|
2008-07-08 18:13:47 +00:00
|
|
|
/// a subclass of TextClass, implemented in TextClass.{h,cpp}.)
|
|
|
|
/// Buffer-specific information should therefore be placed in a
|
|
|
|
/// DocumentClass object.
|
2017-07-03 17:45:58 +00:00
|
|
|
///
|
2014-11-14 23:40:07 +00:00
|
|
|
class LayoutFile : public TextClass {
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
public:
|
|
|
|
/// check whether the TeX class is available
|
2010-03-23 14:16:02 +00:00
|
|
|
bool isTeXClassAvailable() const { return tex_class_avail_; }
|
2008-07-25 15:51:27 +00:00
|
|
|
///
|
2017-07-03 17:45:58 +00:00
|
|
|
LayoutModuleList const & defaultModules() const
|
2008-10-23 00:27:03 +00:00
|
|
|
{ return default_modules_; }
|
2009-02-11 20:02:53 +00:00
|
|
|
///
|
2017-07-03 17:45:58 +00:00
|
|
|
LayoutModuleList const & providedModules() const
|
2008-10-23 00:27:03 +00:00
|
|
|
{ return provided_modules_; }
|
2009-02-11 20:02:53 +00:00
|
|
|
///
|
2017-07-03 17:45:58 +00:00
|
|
|
LayoutModuleList const & excludedModules() const
|
2008-10-23 00:27:03 +00:00
|
|
|
{ return excluded_modules_; }
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
private:
|
2014-11-14 23:40:07 +00:00
|
|
|
/// noncopyable
|
|
|
|
LayoutFile(LayoutFile const &);
|
|
|
|
void operator=(LayoutFile const &);
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
/// Construct a layout with default values. Actual values loaded later.
|
2008-03-06 23:31:40 +00:00
|
|
|
explicit LayoutFile(std::string const & filename,
|
|
|
|
std::string const & className = std::string(),
|
|
|
|
std::string const & description = std::string(),
|
2010-03-22 12:25:16 +00:00
|
|
|
std::string const & prerequisites = std::string(),
|
2012-10-09 05:17:36 +00:00
|
|
|
std::string const & category = std::string(),
|
2010-03-22 12:25:16 +00:00
|
|
|
bool texclassavail = false);
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
/// The only class that should create a LayoutFile is
|
2008-03-07 03:53:21 +00:00
|
|
|
/// LayoutFileList, which calls the private constructor.
|
|
|
|
friend class LayoutFileList;
|
2008-03-06 23:31:40 +00:00
|
|
|
/// can't create empty LayoutFile
|
2013-05-12 11:00:02 +00:00
|
|
|
LayoutFile() {}
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
};
|
|
|
|
|
2008-02-28 21:04:55 +00:00
|
|
|
|
2008-02-24 16:59:49 +00:00
|
|
|
/// A list of base document classes (*.layout files).
|
2008-02-28 14:49:01 +00:00
|
|
|
/// This is a singleton class. The sole instance is accessed
|
2008-03-07 03:53:21 +00:00
|
|
|
/// via LayoutFileList::get()
|
|
|
|
class LayoutFileList {
|
2001-12-28 13:26:54 +00:00
|
|
|
public:
|
2009-02-11 20:02:53 +00:00
|
|
|
///
|
2008-04-16 19:43:06 +00:00
|
|
|
~LayoutFileList();
|
2008-02-28 14:49:01 +00:00
|
|
|
/// \return The sole instance of this class.
|
2008-03-07 03:53:21 +00:00
|
|
|
static LayoutFileList & get();
|
2001-12-28 13:26:54 +00:00
|
|
|
///
|
2008-02-28 21:04:55 +00:00
|
|
|
bool empty() const { return classmap_.empty(); }
|
2001-12-28 13:26:54 +00:00
|
|
|
///
|
2008-02-28 21:04:55 +00:00
|
|
|
bool haveClass(std::string const & classname) const;
|
2009-02-11 20:02:53 +00:00
|
|
|
/// Note that this will assert if we don't have classname, so
|
|
|
|
/// check via haveClass() first.
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
LayoutFile const & operator[](std::string const & classname) const;
|
2009-02-11 20:02:53 +00:00
|
|
|
/// Note that this will assert if we don't have classname, so
|
|
|
|
/// check via haveClass() first.
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
LayoutFile & operator[](std::string const & classname);
|
2008-02-29 02:49:34 +00:00
|
|
|
/// Read textclass list. Returns false if this fails.
|
2006-04-09 00:26:19 +00:00
|
|
|
bool read();
|
2007-09-11 16:42:22 +00:00
|
|
|
/// Clears the textclass so as to force it to be reloaded
|
2020-10-31 17:18:51 +00:00
|
|
|
void reset(LayoutFileIndex const & classname);
|
2008-03-11 18:31:38 +00:00
|
|
|
|
2010-04-07 16:15:26 +00:00
|
|
|
/// Add a default textclass with all standard layouts.
|
|
|
|
/// Note that this will over-write any information we may have
|
|
|
|
/// gotten from textclass.lst about this class.
|
2008-07-11 03:41:56 +00:00
|
|
|
LayoutFileIndex addEmptyClass(std::string const & textclass);
|
2008-07-11 02:43:02 +00:00
|
|
|
|
2007-05-28 22:27:45 +00:00
|
|
|
/// add a textclass from user local directory.
|
2008-02-28 21:04:55 +00:00
|
|
|
/// \return the identifier for the loaded file, or else an
|
|
|
|
/// empty string if no file was loaded.
|
Fix bug #4812 (Layout in local directory lost on Save As, Copying)
The "save-as" part of the bug is fixed by extending the \textclass tag
such that, if a local layout file is used, its path relative to the
document directory is now stored together with the name. If a relative
path cannot be used, an absolute one is used but, in this case, the
document is not usable on a different platform.
The "copy" part is fixed by introducing a new \origin tag, which is
written when the file is saved. This tag stores the absolute path of
the document directory. If the document is manually copied to a
different location, the local layout file is retrivied by using
\origin (which is only updated on save).
This new tag may prove useful also for locating other files when the
document is manually moved to a different directory.
As in the original implementation the files needed for the layout
(for example, a latex class) had to be in the same directory as the
layout file, this directory has also to be added to TEXINPUTS.
2015-05-13 19:40:51 +00:00
|
|
|
LayoutFileIndex addLocalLayout(std::string const & textclass,
|
|
|
|
std::string const & path,
|
|
|
|
std::string const & oldpath = empty_string());
|
2008-02-28 21:04:55 +00:00
|
|
|
/// a list of the available classes
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
std::vector<LayoutFileIndex> classList() const;
|
2009-09-19 20:56:12 +00:00
|
|
|
|
|
|
|
///
|
|
|
|
bool load(std::string const & name, std::string const & buf_path);
|
|
|
|
|
2001-12-28 13:26:54 +00:00
|
|
|
private:
|
2014-08-12 16:49:17 +00:00
|
|
|
///
|
|
|
|
LayoutFileList() {}
|
2008-02-28 21:04:55 +00:00
|
|
|
///
|
2008-03-06 23:31:40 +00:00
|
|
|
typedef std::map<std::string, LayoutFile *> ClassMap;
|
2007-11-07 21:52:11 +00:00
|
|
|
/// noncopyable
|
2008-03-07 03:53:21 +00:00
|
|
|
LayoutFileList(LayoutFileList const &);
|
2008-02-24 16:29:40 +00:00
|
|
|
/// nonassignable
|
2008-03-07 03:53:21 +00:00
|
|
|
void operator=(LayoutFileList const &);
|
2001-12-28 13:26:54 +00:00
|
|
|
///
|
2008-02-28 21:04:55 +00:00
|
|
|
mutable ClassMap classmap_; //FIXME
|
2001-12-28 13:26:54 +00:00
|
|
|
};
|
|
|
|
|
2007-10-21 10:50:56 +00:00
|
|
|
///
|
This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
|
|
|
LayoutFileIndex defaultBaseclass();
|
2001-12-28 13:26:54 +00:00
|
|
|
|
2006-10-21 00:16:43 +00:00
|
|
|
|
|
|
|
} // namespace lyx
|
|
|
|
|
2001-12-28 13:26:54 +00:00
|
|
|
#endif
|