1 /******************************************************************************
5 * Copyright (C) 2011 by Dimitri van Heesch
6 * Based on a patch by David Munger
8 * Permission to use, copy, modify, and distribute this software and its
9 * documentation under the terms of the GNU General Public License is hereby
10 * granted. No representations are made about the suitability of this software
11 * for any purpose. It is provided "as is" without express or implied warranty.
12 * See the GNU General Public License for more details.
14 * Documents produced by Doxygen are derivative works derived from the
15 * input used in their production; they are not affected by this license.
28 /// String constants for citations
31 static const QCString fileName;
32 static const QCString anchorPrefix;
35 /// Citation-related data.
38 CiteInfo(const char *label_, const char *text_=0, const char *fullText_=0,
40 label(label_), text(text_), fullText(fullText_), ref(ref_)
43 CiteInfo(const CiteInfo &o)
44 { label=o.label.copy(); text=o.text.copy(); fullText=o.fullText.copy(); ref=o.ref.copy(); }
54 * @brief Cite database access class.
55 * @details This class provides access do the database of bibliographic
56 * references through the bibtex backend.
61 /** Create the database, with an expected maximum of \a size entries */
64 // /** Resolve references to citations */
67 /** Insert a citation identified by \a label into the database */
68 void insert(const char *label);
70 /** Return the citation info for a given \a label */
71 CiteInfo *find(const char *label) const;
73 /** Generate the citations page */
74 void generatePage() const;
76 /** clears the database */
79 /** return TRUE if there are no citations.
80 * Only valid after calling resolve()
84 /** writes the latex code for the standard bibliography
85 * section to text stream \a t
87 void writeLatexBibliography(FTextStream &t);
95 QDict<CiteInfo> m_entries;
96 // QList<QCString> m_ordering;
97 QCString m_baseFileName;