X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLayout.h;h=ba4d26fb37c76a475a280f1bf2a91c5bde7615a0;hb=268ae66e3c7df04effc329373dc887715d9c6f06;hp=3ffd54246b94f1d4cff8cd44d4529a7051bfd62d;hpb=7cf8b9da78d2747e4bba25d7f103da422ae28a6f;p=lyx.git diff --git a/src/Layout.h b/src/Layout.h index 3ffd54246b..ba4d26fb37 100644 --- a/src/Layout.h +++ b/src/Layout.h @@ -89,8 +89,6 @@ public: std::string const & latexname() const { return latexname_; } /// std::string const & itemcommand() const { return itemcommand_; } - /// - void setLatexName(std::string const & n) { latexname_ = n; } /// The arguments of this layout struct latexarg { docstring labelstring; @@ -106,17 +104,29 @@ public: FontInfo font; FontInfo labelfont; bool autoinsert; + bool insertcotext; + ArgPassThru passthru; + docstring pass_thru_chars; + bool is_toc_caption; }; /// typedef std::map LaTeXArgMap; /// - LaTeXArgMap args() const; - /// LaTeXArgMap const & latexargs() const { return latexargs_; } /// LaTeXArgMap const & postcommandargs() const { return postcommandargs_; } /// LaTeXArgMap const & itemargs() const { return itemargs_; } + /// Returns true is the layout has arguments. If false, then an + /// InsetArgument in this layout stands for the parent InsetText. + bool hasArgs() const; + /// Returns latexargs() + postcommandargs() + itemargs(). + /// But note that it returns a *copy*, not a reference, so do not do + /// anything like: + /// Layout::LaTeXArgMap::iterator it = args().begin(); + /// Layout::LaTeXArgMap::iterator en = args().end(); + /// Those are iterators for different containers. + LaTeXArgMap args() const; /// int optArgs() const; /// @@ -185,10 +195,7 @@ public: } /// Is this the kind of layout in which adjacent paragraphs /// are handled as one group? - bool isParagraphGroup() const { - return latextype == LATEX_ENVIRONMENT - || latextype == LATEX_BIB_ENVIRONMENT; - } + bool isParagraphGroup() const { return par_group_; } /// bool labelIsInline() const { return labeltype == LABEL_STATIC @@ -201,6 +208,12 @@ public: || labeltype == LABEL_CENTERED || labeltype == LABEL_BIBLIO; } + /// + bool addToToc() const { return add_to_toc_; } + /// + std::string tocType() const { return toc_type_; } + /// + bool isTocCaption() const { return is_toc_caption_; } /// bool operator==(Layout const &) const; @@ -277,9 +290,13 @@ public: /// bool nextnoindent; /// + ToggleIndentation toggle_indent; + /// bool free_spacing; /// bool pass_thru; + /// Individual chars to be passed verbatim + docstring pass_thru_chars; /// bool parbreak_is_newline; /// show this in toc @@ -300,6 +317,10 @@ public: bool inpreamble; /// Which counter to step docstring counter; + /// Resume counter? + bool resumecounter; + /// Step master counter? + bool stepmastercounter; /// Prefix to use when creating labels docstring refprefix; /// Depth of XML command @@ -312,9 +333,23 @@ public: /// Is this spellchecked? bool spellcheck; + /** + * Should this layout definition always be written to the document preamble? + * Possible values are: + * 0: Do not enforce local layout + * >=1: Enforce local layout with version forcelocal + * -1: Enforce local layout with infinite version + * On reading, the forced local layout is only used if its version + * number is greater than the version number of the same layout in the + * document class. Otherwise, it is ignored. + */ + int forcelocal; private: + /// Reads a layout definition from file + /// \return true on success. + bool readIgnoreForcelocal(Lexer &, TextClass const &); /// generates the default CSS for this layout void makeDefaultCSS() const; /// @@ -421,7 +456,7 @@ private: mutable std::string defaultcssclass_; /// This is the `category' for this layout. The following are /// recommended basic categories: FrontMatter, BackMatter, MainText, - /// Section, Starred, List, Theorem. + /// Sectioning, Starred, List, Reasoning. docstring category_; /// Macro definitions needed for this layout docstring preamble_; @@ -429,6 +464,8 @@ private: docstring langpreamble_; /// Language and babel dependent macro definitions needed for this layout docstring babelpreamble_; + /// Are adjacent paragraphs handled as one group? + bool par_group_; /// Packages needed for this layout std::set requires_; /// @@ -437,8 +474,15 @@ private: LaTeXArgMap postcommandargs_; /// LaTeXArgMap itemargs_; + /// + bool add_to_toc_; + /// + std::string toc_type_; + /// + bool is_toc_caption_; }; + } // namespace lyx #endif