+ std::string const & itemcommand() const { return itemcommand_; }
+ /// The arguments of this layout
+ struct latexarg {
+ docstring labelstring;
+ docstring menustring;
+ bool mandatory;
+ docstring ldelim;
+ docstring rdelim;
+ docstring defaultarg;
+ docstring presetarg;
+ docstring tooltip;
+ std::string requires;
+ std::string decoration;
+ FontInfo font;
+ FontInfo labelfont;
+ bool autoinsert;
+ docstring pass_thru_chars;
+ };
+ ///
+ typedef std::map<std::string, latexarg> LaTeXArgMap;
+ ///
+ LaTeXArgMap const & latexargs() const { return latexargs_; }
+ ///
+ LaTeXArgMap const & postcommandargs() const { return postcommandargs_; }
+ ///
+ LaTeXArgMap const & itemargs() const { return itemargs_; }
+ /// 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;
+ ///
+ int requiredArgs() const;