X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FTextClass.h;h=64fa9aa127a7ef2b8b7773ac1ee63221e09a12b8;hb=eea4ef9b6e8c103b8d77fb456214a116c68f58a7;hp=da217a57aa45b917ffbde9acca5179033747605b;hpb=352a8e115fc9e17d7f912e4d495af032d54e29ad;p=lyx.git diff --git a/src/TextClass.h b/src/TextClass.h index da217a57aa..64fa9aa127 100644 --- a/src/TextClass.h +++ b/src/TextClass.h @@ -194,6 +194,8 @@ public: /// std::string const & name() const { return name_; } /// + std::string const & path() const { return path_; } + /// std::string const & category() const { return category_; } /// std::string const & description() const { return description_; } @@ -205,8 +207,12 @@ public: OutputType outputType() const { return outputType_; } /// Can be latex, docbook ... (the name of a format) std::string outputFormat() const { return outputFormat_; } - /// - docstring outlinerName(std::string const & type) const; + /// Does this class redefine the output format? + bool hasOutputFormat() const { return has_output_format_; } + /// Return the non-localised names for the toc types. + std::map const & + outlinerNames() const { return outliner_names_; } + protected: /// Protect construction TextClass(); @@ -240,6 +246,8 @@ protected: mutable LayoutList layoutlist_; /// Layout file name std::string name_; + /// Layout file path (empty for system layout files) + std::string path_; /// Class category std::string category_; /// document class name @@ -263,12 +271,22 @@ protected: /// std::string opt_fontsize_; /// + std::string opt_pagesize_; + /// std::string opt_pagestyle_; /// Specific class options std::string options_; + /// Format of the fontsize option + std::string fontsize_format_; + /// Default page size + std::string pagesize_; + /// Format of the papersize option + std::string pagesize_format_; /// std::string pagestyle_; /// + std::string tablestyle_; + /// std::string class_header_; /// docstring defaultlayout_; @@ -307,6 +325,8 @@ protected: OutputType outputType_; /// Can be latex, docbook ... (the name of a format) std::string outputFormat_; + /// Does this class redefine the output format? + bool has_output_format_; /** Base font. The paragraph and layout fonts are resolved against this font. This has to be fully instantiated. Attributes FONT_INHERIT, FONT_IGNORE, and FONT_TOGGLE are @@ -341,8 +361,12 @@ protected: bool cite_full_author_list_; /// The possible citation styles std::map > cite_styles_; + /// Class-added citation styles + std::map > class_cite_styles_; /// std::map outliner_names_; + /// Does this class put the bibliography to toc by itself? + bool bibintoc_; private: /////////////////////////////////////////////////////////////////// // helper routines for reading layout files @@ -370,11 +394,13 @@ private: /// bool readFloat(Lexer &); /// - bool readCiteEngine(Lexer &); + std::vector const & getCiteStyles(CiteEngineType const &) const; + /// + bool readCiteEngine(Lexer &, ReadType, bool const add = false); /// int readCiteEngineType(Lexer &) const; /// - bool readCiteFormat(Lexer &); + bool readCiteFormat(Lexer &, ReadType); /// bool readOutlinerName(Lexer &); }; @@ -431,21 +457,31 @@ public: /// std::string const & opt_fontsize() const { return opt_fontsize_; } /// + std::string const & opt_pagesize() const { return opt_pagesize_; } + /// std::string const & opt_pagestyle() const { return opt_pagestyle_; } /// std::string const & options() const { return options_; } /// std::string const & class_header() const { return class_header_; } /// + std::string const & fontsizeformat() const { return fontsize_format_; } + /// + std::string const & pagesize() const { return pagesize_; } + /// + std::string const & pagesizeformat() const { return pagesize_format_; } + /// std::string const & pagestyle() const { return pagestyle_; } /// + std::string const & tablestyle() const { return tablestyle_; } + /// docstring const & preamble() const { return preamble_; } /// docstring const & htmlpreamble() const { return htmlpreamble_; } /// docstring const & htmlstyles() const { return htmlstyles_; } /// Looks for the layout of "highest level", other than Part (or other - /// layouts with a negative toc number), for use in constructing TOCs and + /// layouts with a negative toc number), for use in constructing TOCs and /// similar information. Layout const & getTOCLayout() const; /// the paragraph style to use for TOCs, Bibliography, etc @@ -454,7 +490,7 @@ public: /// is this feature already provided by the class? bool provides(std::string const & p) const; /// features required by the class? - std::set const & requires() const { return requires_; } + std::set const & required() const { return requires_; } /// package options to write to LaTeX file std::map const & packageOptions() const { return package_options_; } @@ -505,6 +541,8 @@ public: size_t max_citenames() const { return maxcitenames_; } /// bool const & fullAuthorList() const { return cite_full_author_list_; } + /// + bool const & bibInToc() const { return bibintoc_; } protected: /// Constructs a DocumentClass based upon a LayoutFile. DocumentClass(LayoutFile const & tc); @@ -514,7 +552,7 @@ private: /// The only way to make a DocumentClass is to call this function. friend DocumentClassPtr getDocumentClass(LayoutFile const &, LayoutModuleList const &, - LayoutModuleList const &, + std::string const &, bool const clone); }; @@ -525,7 +563,7 @@ private: /// on the CutStack. DocumentClassPtr getDocumentClass(LayoutFile const & baseClass, LayoutModuleList const & modlist, - LayoutModuleList const & celist, + std::string const & cengine = std::string(), bool const clone = false); /// convert page sides option to text 1 or 2