X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FBiblioInfo.h;h=be7bf09b6c311a5289bc1ee505db19a6ee1ac886;hb=77ab3017d0bc759ff8f69cec5cb5b7d9eae122c6;hp=254338b6e94423c98d625a6fffe9792e69ccbaff;hpb=3f8de8fe92f586b8c206b88a76139de3d6369dfe;p=lyx.git diff --git a/src/BiblioInfo.h b/src/BiblioInfo.h index 254338b6e9..be7bf09b6c 100644 --- a/src/BiblioInfo.h +++ b/src/BiblioInfo.h @@ -19,9 +19,9 @@ #include "Citation.h" -#include #include #include +#include namespace lyx { @@ -45,10 +45,10 @@ public: /// and the values are the associated field values. typedef std::map::const_iterator const_iterator; /// - BibTeXInfo() : is_bibtex_(true) {} + BibTeXInfo() : is_bibtex_(true), modifier_(0) {} /// argument sets isBibTeX_, so should be false only if it's coming /// from a bibliography environment - BibTeXInfo(bool ib) : is_bibtex_(ib) {} + BibTeXInfo(bool ib) : is_bibtex_(ib), modifier_(0) {} /// constructor that sets the entryType BibTeXInfo(docstring const & key, docstring const & type); /// \return the short form of an authorlist, used for sorting @@ -66,8 +66,9 @@ public: Buffer const & buf, bool richtext) const; /// \return formatted BibTeX data for a citation label docstring const getLabel(BibTeXInfo const * const xref, - Buffer const & buf, std::string const & format, bool richtext, - docstring before, docstring after, docstring dialog, bool next = false) const; + Buffer const & buf, docstring const & format, bool richtext, + const docstring & before, const docstring & after, + const docstring & dialog, bool next = false) const; /// const_iterator find(docstring const & f) const { return bimap_.find(f); } /// @@ -114,7 +115,7 @@ private: /// be the one referenced in the crossref field. docstring getValueForKey(std::string const & key, Buffer const & buf, docstring const & before, docstring const & after, docstring const & dialog, - BibTeXInfo const * const xref = 0) const; + BibTeXInfo const * const xref, size_t maxsize = 4096) const; /// replace %keys% in a format string with their values /// called from getInfo() /// format strings may contain: @@ -131,7 +132,7 @@ private: /// "%!key%" are substituted with their definition. /// moreover, keys that look like "%_key%" are treated as translatable /// so that things like "pp." and "vol." can be translated. - docstring expandFormat(std::string const & fmt, + docstring expandFormat(docstring const & fmt, BibTeXInfo const * const xref, int & counter, Buffer const & buf, docstring before = docstring(), docstring after = docstring(), docstring dialog = docstring(), @@ -202,10 +203,9 @@ public: bool richtext = false) const; /// \return formatted BibTeX data for citation labels. /// Citation labels can have more than one key. - docstring const getLabel(std::vector const & keys, - Buffer const & buf, std::string const & style, bool richtext = false, - docstring const & before = docstring(), - docstring const & after = docstring(), + docstring const getLabel(std::vector keys, + Buffer const & buf, std::string const & style, bool for_xhtml, + size_t max_size, docstring const & before, docstring const & after, docstring const & dialog = docstring()) const; /// Is this a reference from a bibtex database /// or from a bibliography environment? @@ -214,12 +214,9 @@ public: /// list of keys, using either numerical or author-year style depending /// upon the active engine. std::vector const getCiteStrings(std::vector const & keys, - std::vector const & styles, Buffer const & buf, bool richtext = false, - docstring const & before = docstring(), - docstring const & after = docstring(), - docstring const & dialog = docstring()) const; - /// Collects the cited entries from buf. - void collectCitedEntries(Buffer const & buf); + std::vector const & styles, Buffer const & buf, + docstring const & before, docstring const & after, docstring const & dialog, + size_t max_size) const; /// A list of BibTeX keys cited in the current document, sorted by /// the last name of the author. /// Make sure you have called collectCitedEntries() before you try to @@ -247,6 +244,8 @@ public: /// void addEntryType(docstring const & f) { entry_types_.insert(f); } private: + /// Collects the cited entries from buf. + void collectCitedEntries(Buffer const & buf); /// std::set field_names_; ///