* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
* \author Jean-Marc Lasgouttes
- * \author André Pönitz
+ * \author André Pönitz
*
* Full author contact details are available in file CREDITS.
*/
namespace lyx {
+class Language;
class Lexer;
class TextClass;
public:
///
Layout();
+ /// is this layout a default layout created for an unknown layout
+ bool isUnknown() const { return unknown_; }
+ void setUnknown(bool unknown) { unknown_ = unknown; }
/// Reads a layout definition from file
/// \return true on success.
bool read(Lexer &, TextClass const &);
docstring const & category() const { return category_; }
///
docstring const & preamble() const { return preamble_; }
+ /// Get language dependent macro definitions needed for this layout
+ /// for language \p lang
+ docstring const langpreamble(Language const * lang) const;
+ /// Get language and babel dependent macro definitions needed for
+ /// this layout for language \p lang
+ docstring const babelpreamble(Language const * lang) const;
///
std::set<std::string> const & requires() const { return requires_; }
///
////////////////////////////////////////////////////////////////
// members
////////////////////////////////////////////////////////////////
+ /** Is this layout the default layout for an unknown layout? If
+ * so, its name will be displayed as xxx (unknown).
+ */
+ bool unknown_;
+
/** Default font for this layout/environment.
The main font for this kind of environment. If an attribute has
INHERITED_*, it means that the value is specified by
int toclevel;
/// special value of toclevel for non-section layouts
static const int NOT_IN_TOC;
- /// for new environment insets
- std::string latexheader;
- /// for new environment insets
- std::string latexfooter;
- /// for new environment insets
- std::string latexparagraph;
/** true when the fragile commands in the paragraph need to be
\protect'ed. */
docstring category_;
/// Macro definitions needed for this layout
docstring preamble_;
+ /// Language dependent macro definitions needed for this layout
+ docstring langpreamble_;
+ /// Language and babel dependent macro definitions needed for this layout
+ docstring babelpreamble_;
/// Packages needed for this layout
std::set<std::string> requires_;
};