From b35b731fbfbf5b614c0bd3baf5bc65fe7ff6f8d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20P=C3=B6nitz?= Date: Sun, 20 Apr 2008 15:00:11 +0000 Subject: [PATCH] move citation enums into header of their own remove biblio:: namespace git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24385 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/BiblioInfo.cpp | 98 ++++++++++++++----------------- src/BiblioInfo.h | 56 ++++-------------- src/BufferParams.cpp | 32 +++++----- src/BufferParams.h | 8 +-- src/Citation.h | 55 +++++++++++++++++ src/LaTeXFeatures.cpp | 5 +- src/Makefile.am | 1 + src/frontends/qt4/GuiBibtex.cpp | 10 ++-- src/frontends/qt4/GuiCitation.cpp | 48 +++++++-------- src/frontends/qt4/GuiCitation.h | 6 +- src/frontends/qt4/GuiDocument.cpp | 18 +++--- src/insets/InsetCitation.cpp | 66 ++++++++++----------- src/insets/InsetCitation.h | 4 +- 13 files changed, 212 insertions(+), 195 deletions(-) create mode 100644 src/Citation.h diff --git a/src/BiblioInfo.cpp b/src/BiblioInfo.cpp index 198a4a11ff..2d05c4911f 100644 --- a/src/BiblioInfo.cpp +++ b/src/BiblioInfo.cpp @@ -34,8 +34,8 @@ using namespace std; using namespace lyx::support; -namespace lyx { +namespace lyx { ////////////////////////////////////////////////////////////////////// // @@ -287,9 +287,8 @@ docstring const BiblioInfo::getInfo(docstring const & key) const vector const BiblioInfo::getCiteStrings( docstring const & key, Buffer const & buf) const { - biblio::CiteEngine const engine = buf.params().citeEngine(); - if (engine == biblio::ENGINE_BASIC || - engine == biblio::ENGINE_NATBIB_NUMERICAL) + CiteEngine const engine = buf.params().citeEngine(); + if (engine == ENGINE_BASIC || engine == ENGINE_NATBIB_NUMERICAL) return getNumericalStrings(key, buf); else return getAuthorYearStrings(key, buf); @@ -307,44 +306,43 @@ vector const BiblioInfo::getNumericalStrings( if (author.empty() || year.empty()) return vector(); - vector const & styles = - biblio::getCiteStyles(buf.params().citeEngine()); + vector const & styles = citeStyles(buf.params().citeEngine()); vector vec(styles.size()); - for (vector::size_type i = 0; i != vec.size(); ++i) { + for (size_t i = 0; i != vec.size(); ++i) { docstring str; switch (styles[i]) { - case biblio::CITE: - case biblio::CITEP: + case CITE: + case CITEP: str = from_ascii("[#ID]"); break; - case biblio::NOCITE: + case NOCITE: str = _("Add to bibliography only."); break; - case biblio::CITET: + case CITET: str = author + " [#ID]"; break; - case biblio::CITEALT: + case CITEALT: str = author + " #ID"; break; - case biblio::CITEALP: + case CITEALP: str = from_ascii("#ID"); break; - case biblio::CITEAUTHOR: + case CITEAUTHOR: str = author; break; - case biblio::CITEYEAR: + case CITEYEAR: str = year; break; - case biblio::CITEYEARPAR: + case CITEYEARPAR: str = '(' + year + ')'; break; } @@ -367,49 +365,48 @@ vector const BiblioInfo::getAuthorYearStrings( if (author.empty() || year.empty()) return vector(); - vector const & styles = - getCiteStyles(buf.params().citeEngine()); + vector const & styles = citeStyles(buf.params().citeEngine()); vector vec(styles.size()); - for (vector::size_type i = 0; i != vec.size(); ++i) { + for (size_t i = 0; i != vec.size(); ++i) { docstring str; switch (styles[i]) { - case biblio::CITE: + case CITE: // jurabib only: Author/Annotator // (i.e. the "before" field, 2nd opt arg) str = author + "/<" + _("before") + '>'; break; - case biblio::NOCITE: + case NOCITE: str = _("Add to bibliography only."); break; - case biblio::CITET: + case CITET: str = author + " (" + year + ')'; break; - case biblio::CITEP: + case CITEP: str = '(' + author + ", " + year + ')'; break; - case biblio::CITEALT: + case CITEALT: str = author + ' ' + year ; break; - case biblio::CITEALP: + case CITEALP: str = author + ", " + year ; break; - case biblio::CITEAUTHOR: + case CITEAUTHOR: str = author; break; - case biblio::CITEYEAR: + case CITEYEAR: str = year; break; - case biblio::CITEYEARPAR: + case CITEYEARPAR: str = '(' + year + ')'; break; } @@ -424,7 +421,7 @@ void BiblioInfo::fillWithBibKeys(Buffer const * const buf) /// if this is a child document and the parent is already loaded /// use the parent's list instead [ale990412] Buffer const * const tmp = buf->masterBuffer(); - LASSERT(tmp, /**/); + LASSERT(tmp, return); if (tmp != buf) { this->fillWithBibKeys(tmp); return; @@ -435,8 +432,6 @@ void BiblioInfo::fillWithBibKeys(Buffer const * const buf) } -namespace biblio { - ////////////////////////////////////////////////////////////////////// // // CitationStyle @@ -453,12 +448,12 @@ char const * const citeCommands[] = { unsigned int const nCiteCommands = sizeof(citeCommands) / sizeof(char *); -CiteStyle const citeStyles[] = { +CiteStyle const citeStylesArray[] = { CITE, NOCITE, CITET, CITEP, CITEALT, CITEALP, CITEAUTHOR, CITEYEAR, CITEYEARPAR }; unsigned int const nCiteStyles = - sizeof(citeStyles) / sizeof(CiteStyle); + sizeof(citeStylesArray) / sizeof(CiteStyle); CiteStyle const citeStylesFull[] = { CITET, CITEP, CITEALT, CITEALP, CITEAUTHOR }; @@ -475,21 +470,21 @@ unsigned int const nCiteStylesUCase = } // namespace anon -CitationStyle::CitationStyle(string const & command) - : style(CITE), full(false), forceUCase(false) +CitationStyle citationStyleFromString(string const & command) { + CitationStyle s; if (command.empty()) - return; + return s; string cmd = command; if (cmd[0] == 'C') { - forceUCase = true; + s.forceUpperCase = true; cmd[0] = 'c'; } - string::size_type const n = cmd.size() - 1; + size_t const n = cmd.size() - 1; if (cmd != "cite" && cmd[n] == '*') { - full = true; + s.full = true; cmd = cmd.substr(0,n); } @@ -498,31 +493,31 @@ CitationStyle::CitationStyle(string const & command) if (ptr != last) { size_t idx = ptr - citeCommands; - style = citeStyles[idx]; + s.style = citeStylesArray[idx]; } + return s; } -string const CitationStyle::asLatexStr() const +string citationStyleToString(const CitationStyle & s) { - string cite = citeCommands[style]; - if (full) { + string cite = citeCommands[s.style]; + if (s.full) { CiteStyle const * last = citeStylesFull + nCiteStylesFull; - if (find(citeStylesFull, last, style) != last) + if (find(citeStylesFull, last, s.style) != last) cite += '*'; } - if (forceUCase) { + if (s.forceUpperCase) { CiteStyle const * last = citeStylesUCase + nCiteStylesUCase; - if (find(citeStylesUCase, last, style) != last) + if (find(citeStylesUCase, last, s.style) != last) cite[0] = 'C'; } return cite; } - -vector const getCiteStyles(CiteEngine const engine) +vector citeStyles(CiteEngine engine) { unsigned int nStyles = 0; unsigned int start = 0; @@ -543,17 +538,14 @@ vector const getCiteStyles(CiteEngine const engine) break; } - typedef vector cite_vec; - - cite_vec styles(nStyles); + vector styles(nStyles); size_t i = 0; int j = start; for (; i != styles.size(); ++i, ++j) - styles[i] = citeStyles[j]; + styles[i] = citeStylesArray[j]; return styles; } -} // namespace biblio } // namespace lyx diff --git a/src/BiblioInfo.h b/src/BiblioInfo.h index ecff0ffbf2..532a613b69 100644 --- a/src/BiblioInfo.h +++ b/src/BiblioInfo.h @@ -11,11 +11,13 @@ * Full author contact details are available in file CREDITS. */ -#ifndef BIBLIO_H -#define BIBLIO_H +#ifndef BIBLIOINFO_H +#define BIBLIOINFO_H #include "support/docstring.h" +#include "Citation.h" + #include #include #include @@ -25,49 +27,14 @@ namespace lyx { class Buffer; -namespace biblio { - -enum CiteEngine { - ENGINE_BASIC, - ENGINE_NATBIB_AUTHORYEAR, - ENGINE_NATBIB_NUMERICAL, - ENGINE_JURABIB -}; - -enum CiteStyle { - CITE, - NOCITE, - CITET, - CITEP, - CITEALT, - CITEALP, - CITEAUTHOR, - CITEYEAR, - CITEYEARPAR -}; - - -class CitationStyle { -public: - /// - CitationStyle(CiteStyle s = CITE, bool f = false, bool force = false) - : style(s), full(f), forceUCase(force) {} - /// \param latex_str a LaTeX command, "cite", "Citep*", etc - CitationStyle(std::string const & latex_str); - /// - std::string const asLatexStr() const; - /// - CiteStyle style; - /// - bool full; - /// - bool forceUCase; -}; - +/// FIXME: To Citation.cpp? /// Returns a vector of available Citation styles. -std::vector const getCiteStyles(CiteEngine const ); +std::vector citeStyles(CiteEngine); +/// \param latex_str a LaTeX command, "cite", "Citep*", etc +CitationStyle citationStyleFromString(std::string const & latex_str); +/// the other way rounf +std::string citationStyleToString(CitationStyle const &); -} // namespace biblio /// Class to represent information about a BibTeX or /// bibliography entry. @@ -207,4 +174,5 @@ private: }; } // namespace lyx -#endif + +#endif // BIBLIOINFO_H diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 33e8a08963..7477a9ac51 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -225,15 +225,15 @@ PackageTranslator const & packagetranslator() // Cite engine -typedef Translator CiteEngineTranslator; +typedef Translator CiteEngineTranslator; CiteEngineTranslator const init_citeenginetranslator() { - CiteEngineTranslator translator("basic", biblio::ENGINE_BASIC); - translator.addPair("natbib_numerical", biblio::ENGINE_NATBIB_NUMERICAL); - translator.addPair("natbib_authoryear", biblio::ENGINE_NATBIB_AUTHORYEAR); - translator.addPair("jurabib", biblio::ENGINE_JURABIB); + CiteEngineTranslator translator("basic", ENGINE_BASIC); + translator.addPair("natbib_numerical", ENGINE_NATBIB_NUMERICAL); + translator.addPair("natbib_authoryear", ENGINE_NATBIB_AUTHORYEAR); + translator.addPair("jurabib", ENGINE_JURABIB); return translator; } @@ -328,7 +328,7 @@ BufferParams::BufferParams() use_geometry = false; use_amsmath = package_auto; use_esint = package_auto; - cite_engine_ = biblio::ENGINE_BASIC; + cite_engine_ = ENGINE_BASIC; use_bibtopic = false; trackChanges = false; outputChanges = false; @@ -1465,9 +1465,8 @@ void BufferParams::makeDocumentClass() "probably need to reconfigure LyX.\n"), from_utf8(modName)); frontend::Alert::warning(_("Module not available"), msg + _("Some layouts may not be available.")); - lyxerr << "BufferParams::makeDocumentClass(): Module " << - modName << " requested but not found in module list." << - endl; + LYXERR0("BufferParams::makeDocumentClass(): Module " << + modName << " requested but not found in module list."); continue; } if (!lm->isAvailable()) { @@ -1504,12 +1503,9 @@ bool BufferParams::addLayoutModule(string const & modName) { LayoutModuleList::const_iterator it = layoutModules_.begin(); LayoutModuleList::const_iterator end = layoutModules_.end(); - for (; it != end; it++) { + for (; it != end; it++) if (*it == modName) - break; - } - if (it != layoutModules_.end()) - return false; + return false; layoutModules_.push_back(modName); return true; } @@ -1984,18 +1980,18 @@ Encoding const & BufferParams::encoding() const } -biblio::CiteEngine BufferParams::citeEngine() const +CiteEngine BufferParams::citeEngine() const { // FIXME the class should provide the numerical/ // authoryear choice if (documentClass().provides("natbib") - && cite_engine_ != biblio::ENGINE_NATBIB_NUMERICAL) - return biblio::ENGINE_NATBIB_AUTHORYEAR; + && cite_engine_ != ENGINE_NATBIB_NUMERICAL) + return ENGINE_NATBIB_AUTHORYEAR; return cite_engine_; } -void BufferParams::setCiteEngine(biblio::CiteEngine cite_engine) +void BufferParams::setCiteEngine(CiteEngine cite_engine) { cite_engine_ = cite_engine; } diff --git a/src/BufferParams.h b/src/BufferParams.h index eee2d69cbb..b622e443b1 100644 --- a/src/BufferParams.h +++ b/src/BufferParams.h @@ -16,7 +16,7 @@ #define BUFFERPARAMS_H #include "Font.h" -#include "BiblioInfo.h" +#include "Citation.h" #include "paper.h" #include "insets/InsetQuotes.h" @@ -300,9 +300,9 @@ public: int const & sfscale, int const & ttscale) const; /// get the appropriate cite engine (natbib handling) - biblio::CiteEngine citeEngine() const; + CiteEngine citeEngine() const; /// - void setCiteEngine(biblio::CiteEngine const); + void setCiteEngine(CiteEngine const); /// options for pdf output PDFOptions & pdfoptions(); @@ -325,7 +325,7 @@ private: void readModules(Lexer &); /// for use with natbib - biblio::CiteEngine cite_engine_; + CiteEngine cite_engine_; /// DocumentClass * doc_class_; /// diff --git a/src/Citation.h b/src/Citation.h new file mode 100644 index 0000000000..23b1438bc8 --- /dev/null +++ b/src/Citation.h @@ -0,0 +1,55 @@ +// -*- C++ -*- +/** + * \file BiblioCode.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author Herbert Voß + * + * Full author contact details are available in file CREDITS. + */ + +#ifndef BIBLIOCODE_H +#define BIBLIOCODE_H + +namespace lyx { + +class Buffer; + +enum CiteEngine { + ENGINE_BASIC, + ENGINE_NATBIB_AUTHORYEAR, + ENGINE_NATBIB_NUMERICAL, + ENGINE_JURABIB +}; + +enum CiteStyle { + CITE, + NOCITE, + CITET, + CITEP, + CITEALT, + CITEALP, + CITEAUTHOR, + CITEYEAR, + CITEYEARPAR +}; + + +class CitationStyle +{ +public: + /// + CitationStyle() : style(CITE), full(false), forceUpperCase(false) {} + + /// + CiteStyle style; + /// + bool full; + /// + bool forceUpperCase; +}; + +} // namespace lyx + +#endif diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index 4e2f4d64c7..1e80938017 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -577,7 +577,7 @@ string const LaTeXFeatures::getPackages() const // natbib.sty if (mustProvide("natbib")) { packages << "\\usepackage["; - if (params_.citeEngine() == biblio::ENGINE_NATBIB_NUMERICAL) + if (params_.citeEngine() == ENGINE_NATBIB_NUMERICAL) packages << "numbers"; else packages << "authoryear"; @@ -779,7 +779,8 @@ docstring const LaTeXFeatures::getIncludedFiles(string const & fname) const } -void LaTeXFeatures::showStruct() const { +void LaTeXFeatures::showStruct() const +{ lyxerr << "LyX needs the following commands when LaTeXing:" << "\n***** Packages:" << getPackages() << "\n***** Macros:" << getMacros() diff --git a/src/Makefile.am b/src/Makefile.am index 715e6ae2c7..16614f76dc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -178,6 +178,7 @@ HEADERFILESCORE = \ BufferParams.h \ BufferView.h \ Bullet.h \ + Citation.h \ Changes.h \ Chktex.h \ CmdDef.h \ diff --git a/src/frontends/qt4/GuiBibtex.cpp b/src/frontends/qt4/GuiBibtex.cpp index bf18a131bd..a1c97cd6ed 100644 --- a/src/frontends/qt4/GuiBibtex.cpp +++ b/src/frontends/qt4/GuiBibtex.cpp @@ -494,19 +494,19 @@ QString GuiBibtex::styleFile() const { // the different bibtex packages have (and need) their // own "plain" stylefiles - biblio::CiteEngine const engine = buffer().params().citeEngine(); + CiteEngine const engine = buffer().params().citeEngine(); QString defaultstyle; switch (engine) { - case biblio::ENGINE_BASIC: + case ENGINE_BASIC: defaultstyle = "plain"; break; - case biblio::ENGINE_NATBIB_AUTHORYEAR: + case ENGINE_NATBIB_AUTHORYEAR: defaultstyle = "plainnat"; break; - case biblio::ENGINE_NATBIB_NUMERICAL: + case ENGINE_NATBIB_NUMERICAL: defaultstyle = "plainnat"; break; - case biblio::ENGINE_JURABIB: + case ENGINE_JURABIB: defaultstyle = "jurabib"; break; } diff --git a/src/frontends/qt4/GuiCitation.cpp b/src/frontends/qt4/GuiCitation.cpp index 0163779498..e6af4f8237 100644 --- a/src/frontends/qt4/GuiCitation.cpp +++ b/src/frontends/qt4/GuiCitation.cpp @@ -47,7 +47,7 @@ using namespace lyx::support; namespace lyx { namespace frontend { -static vector citeStyles_; +static vector citeStyles_; template @@ -213,18 +213,18 @@ void GuiCitation::updateDialog() } -void GuiCitation::updateFormatting(biblio::CiteStyle currentStyle) +void GuiCitation::updateFormatting(CiteStyle currentStyle) { - biblio::CiteEngine const engine = citeEngine(); + CiteEngine const engine = citeEngine(); bool const natbib_engine = - engine == biblio::ENGINE_NATBIB_AUTHORYEAR || - engine == biblio::ENGINE_NATBIB_NUMERICAL; - bool const basic_engine = engine == biblio::ENGINE_BASIC; + engine == ENGINE_NATBIB_AUTHORYEAR || + engine == ENGINE_NATBIB_NUMERICAL; + bool const basic_engine = engine == ENGINE_BASIC; bool const haveSelection = selectedLV->model()->rowCount() > 0; - bool const isNocite = currentStyle == biblio::NOCITE; + bool const isNocite = currentStyle == NOCITE; fulllistCB->setEnabled(natbib_engine && haveSelection && !isNocite); forceuppercaseCB->setEnabled(natbib_engine && haveSelection && !isNocite); @@ -242,10 +242,10 @@ void GuiCitation::updateStyle() string const & command = params_.getCmdName(); // Find the style of the citekeys - vector const & styles = citeStyles_; - biblio::CitationStyle const cs(command); + vector const & styles = citeStyles_; + CitationStyle const cs = citationStyleFromString(command); - vector::const_iterator cit = + vector::const_iterator cit = std::find(styles.begin(), styles.end(), cs.style); // restore the latest natbib style @@ -258,7 +258,7 @@ void GuiCitation::updateStyle() int const i = int(cit - styles.begin()); citationStyleCO->setCurrentIndex(i); fulllistCB->setChecked(cs.full); - forceuppercaseCB->setChecked(cs.forceUCase); + forceuppercaseCB->setChecked(cs.forceUpperCase); } else { fulllistCB->setChecked(false); forceuppercaseCB->setChecked(false); @@ -266,9 +266,9 @@ void GuiCitation::updateStyle() updateFormatting(cs.style); } -//This one needs to be called whenever citationStyleCO needs -//to be updated---and this would be on anything that changes the -//selection in selectedLV, or on a general update. +// This one needs to be called whenever citationStyleCO needs +// to be updated---and this would be on anything that changes the +// selection in selectedLV, or on a general update. void GuiCitation::fillStyles() { int const oldIndex = citationStyleCO->currentIndex(); @@ -412,7 +412,7 @@ void GuiCitation::on_entriesCO_currentIndexChanged(int /*index*/) void GuiCitation::on_citationStyleCO_currentIndexChanged(int index) { if (index >= 0 && index < citationStyleCO->count()) { - vector const & styles = citeStyles_; + vector const & styles = citeStyles_; updateFormatting(styles[index]); } } @@ -451,17 +451,19 @@ void GuiCitation::apply(int const choice, bool full, bool force, if (cited_keys_.isEmpty()) return; - vector const & styles = citeStyles_; - if (styles[choice] == biblio::NOCITE) { + vector const & styles = citeStyles_; + if (styles[choice] == NOCITE) { full = false; force = false; before.clear(); after.clear(); } - string const command = - biblio::CitationStyle(styles[choice], full, force) - .asLatexStr(); + CitationStyle s; + s.style = styles[choice]; + s.full = full; + s.forceUpperCase = force; + string const command = citationStyleToString(s); params_.setCmdName(command); params_["key"] = qstring_to_ucs4(cited_keys_.join(",")); @@ -592,9 +594,9 @@ void GuiCitation::setCitedKeys() bool GuiCitation::initialiseParams(string const & data) { InsetCommand::string2params("citation", data, params_); - biblio::CiteEngine const engine = buffer().params().citeEngine(); + CiteEngine const engine = buffer().params().citeEngine(); bibkeysInfo_.fillWithBibKeys(&buffer()); - citeStyles_ = biblio::getCiteStyles(engine); + citeStyles_ = citeStyles(engine); return true; } @@ -646,7 +648,7 @@ void GuiCitation::filterByEntryType( } -biblio::CiteEngine GuiCitation::citeEngine() const +CiteEngine GuiCitation::citeEngine() const { return buffer().params().citeEngine(); } diff --git a/src/frontends/qt4/GuiCitation.h b/src/frontends/qt4/GuiCitation.h index f91bcec672..5e07a24fa3 100644 --- a/src/frontends/qt4/GuiCitation.h +++ b/src/frontends/qt4/GuiCitation.h @@ -18,7 +18,9 @@ #include "GuiDialog.h" #include "GuiSelectionManager.h" #include "ui_CitationUi.h" + #include "BiblioInfo.h" +#include "Citation.h" #include "insets/InsetCommandParams.h" @@ -86,7 +88,7 @@ private: /// set the styles combo void updateStyle(); /// set the formatting widgets - void updateFormatting(biblio::CiteStyle currentStyle); + void updateFormatting(CiteStyle currentStyle); /// last used citation style int style_; @@ -164,7 +166,7 @@ private: void filterByEntryType( std::vector & keyVector, docstring entryType); /// - biblio::CiteEngine citeEngine() const; + CiteEngine citeEngine() const; /// \return information for this key. docstring getInfo(docstring const & key) const; diff --git a/src/frontends/qt4/GuiDocument.cpp b/src/frontends/qt4/GuiDocument.cpp index 614ac0a49e..bc4864fce3 100644 --- a/src/frontends/qt4/GuiDocument.cpp +++ b/src/frontends/qt4/GuiDocument.cpp @@ -1440,18 +1440,18 @@ void GuiDocument::apply(BufferParams & params) preambleModule->apply(params); // biblio - params.setCiteEngine(biblio::ENGINE_BASIC); + params.setCiteEngine(ENGINE_BASIC); if (biblioModule->citeNatbibRB->isChecked()) { bool const use_numerical_citations = biblioModule->citeStyleCO->currentIndex(); if (use_numerical_citations) - params.setCiteEngine(biblio::ENGINE_NATBIB_NUMERICAL); + params.setCiteEngine(ENGINE_NATBIB_NUMERICAL); else - params.setCiteEngine(biblio::ENGINE_NATBIB_AUTHORYEAR); + params.setCiteEngine(ENGINE_NATBIB_AUTHORYEAR); } else if (biblioModule->citeJurabibRB->isChecked()) - params.setCiteEngine(biblio::ENGINE_JURABIB); + params.setCiteEngine(ENGINE_JURABIB); params.use_bibtopic = biblioModule->bibtopicCB->isChecked(); @@ -1754,17 +1754,17 @@ void GuiDocument::updateParams(BufferParams const & params) // biblio biblioModule->citeDefaultRB->setChecked( - params.citeEngine() == biblio::ENGINE_BASIC); + params.citeEngine() == ENGINE_BASIC); biblioModule->citeNatbibRB->setChecked( - params.citeEngine() == biblio::ENGINE_NATBIB_NUMERICAL || - params.citeEngine() == biblio::ENGINE_NATBIB_AUTHORYEAR); + params.citeEngine() == ENGINE_NATBIB_NUMERICAL || + params.citeEngine() == ENGINE_NATBIB_AUTHORYEAR); biblioModule->citeStyleCO->setCurrentIndex( - params.citeEngine() == biblio::ENGINE_NATBIB_NUMERICAL); + params.citeEngine() == ENGINE_NATBIB_NUMERICAL); biblioModule->citeJurabibRB->setChecked( - params.citeEngine() == biblio::ENGINE_JURABIB); + params.citeEngine() == ENGINE_JURABIB); biblioModule->bibtopicCB->setChecked( params.use_bibtopic); diff --git a/src/insets/InsetCitation.cpp b/src/insets/InsetCitation.cpp index d9dbbeac1a..33298c827b 100644 --- a/src/insets/InsetCitation.cpp +++ b/src/insets/InsetCitation.cpp @@ -64,20 +64,20 @@ vector const & possibleCiteCommands() // FIXME See the header for the issue. -string defaultCiteCommand(biblio::CiteEngine engine) +string defaultCiteCommand(CiteEngine engine) { string str; switch (engine) { - case biblio::ENGINE_BASIC: + case ENGINE_BASIC: str = "cite"; break; - case biblio::ENGINE_NATBIB_AUTHORYEAR: + case ENGINE_NATBIB_AUTHORYEAR: str = "citet"; break; - case biblio::ENGINE_NATBIB_NUMERICAL: + case ENGINE_NATBIB_NUMERICAL: str = "citep"; break; - case biblio::ENGINE_JURABIB: + case ENGINE_JURABIB: str = "cite"; break; } @@ -85,7 +85,7 @@ string defaultCiteCommand(biblio::CiteEngine engine) } -string asValidLatexCommand(string const & input, biblio::CiteEngine const engine) +string asValidLatexCommand(string const & input, CiteEngine const engine) { string const default_str = defaultCiteCommand(engine); if (!InsetCitation::isCompatibleCommand(input)) @@ -93,12 +93,12 @@ string asValidLatexCommand(string const & input, biblio::CiteEngine const engine string output; switch (engine) { - case biblio::ENGINE_BASIC: + case ENGINE_BASIC: output = input; break; - case biblio::ENGINE_NATBIB_AUTHORYEAR: - case biblio::ENGINE_NATBIB_NUMERICAL: + case ENGINE_NATBIB_AUTHORYEAR: + case ENGINE_NATBIB_NUMERICAL: if (input == "cite" || input == "citefield" || input == "citetitle" || input == "cite*") output = default_str; @@ -108,7 +108,7 @@ string asValidLatexCommand(string const & input, biblio::CiteEngine const engine output = input; break; - case biblio::ENGINE_JURABIB: { + case ENGINE_JURABIB: { // Jurabib does not support the 'uppercase' natbib style. if (input[0] == 'C') output = string(1, 'c') + input.substr(1); @@ -131,7 +131,7 @@ string asValidLatexCommand(string const & input, biblio::CiteEngine const engine docstring complexLabel(Buffer const & buffer, string const & citeType, docstring const & keyList, docstring const & before, docstring const & after, - biblio::CiteEngine engine) + CiteEngine engine) { // Only start the process off after the buffer is loaded from file. if (!buffer.isFullyLoaded()) @@ -222,7 +222,7 @@ docstring complexLabel(Buffer const & buffer, // One day, these might be tunable (as they are in BibTeX). char op, cp; // opening and closing parenthesis. char * sep; // punctuation mark separating citation entries. - if (engine == biblio::ENGINE_BASIC) { + if (engine == ENGINE_BASIC) { op = '['; cp = ']'; sep = ","; @@ -252,9 +252,9 @@ docstring complexLabel(Buffer const & buffer, // authors1/; ... ; // authors_last, if (cite_type == "cite") { - if (engine == biblio::ENGINE_BASIC) { + if (engine == ENGINE_BASIC) { label += *it + sep_str; - } else if (engine == biblio::ENGINE_JURABIB) { + } else if (engine == ENGINE_JURABIB) { if (it == keys.begin()) label += author + before_str + sep_str; else @@ -269,25 +269,25 @@ docstring complexLabel(Buffer const & buffer, // authors_last ( year, ) } else if (cite_type == "citet") { switch (engine) { - case biblio::ENGINE_NATBIB_AUTHORYEAR: + case ENGINE_NATBIB_AUTHORYEAR: label += author + op_str + before_str + year + cp + sep_str; break; - case biblio::ENGINE_NATBIB_NUMERICAL: + case ENGINE_NATBIB_NUMERICAL: label += author + op_str + before_str + '#' + *it + cp + sep_str; break; - case biblio::ENGINE_JURABIB: + case ENGINE_JURABIB: label += before_str + author + op_str + year + cp + sep_str; break; - case biblio::ENGINE_BASIC: + case ENGINE_BASIC: break; } // author, year; author, year; ... } else if (cite_type == "citep" || cite_type == "citealp") { - if (engine == biblio::ENGINE_NATBIB_NUMERICAL) { + if (engine == ENGINE_NATBIB_NUMERICAL) { label += *it + sep_str; } else { label += author + ", " + year + sep_str; @@ -297,18 +297,18 @@ docstring complexLabel(Buffer const & buffer, // authors_last year, ) } else if (cite_type == "citealt") { switch (engine) { - case biblio::ENGINE_NATBIB_AUTHORYEAR: + case ENGINE_NATBIB_AUTHORYEAR: label += author + ' ' + before_str + year + sep_str; break; - case biblio::ENGINE_NATBIB_NUMERICAL: + case ENGINE_NATBIB_NUMERICAL: label += author + ' ' + before_str + '#' + *it + sep_str; break; - case biblio::ENGINE_JURABIB: + case ENGINE_JURABIB: label += before_str + author + ' ' + year + sep_str; break; - case biblio::ENGINE_BASIC: + case ENGINE_BASIC: break; } @@ -330,7 +330,7 @@ docstring complexLabel(Buffer const & buffer, label.insert(label.size() - 1, after_str); } else { bool const add = - !(engine == biblio::ENGINE_NATBIB_NUMERICAL && + !(engine == ENGINE_NATBIB_NUMERICAL && (cite_type == "citeauthor" || cite_type == "citeyear")); if (add) @@ -345,7 +345,7 @@ docstring complexLabel(Buffer const & buffer, } if (cite_type == "citep" || cite_type == "citeyearpar" || - (cite_type == "cite" && engine == biblio::ENGINE_BASIC) ) + (cite_type == "cite" && engine == ENGINE_BASIC) ) label = op + label + cp; return label; @@ -415,7 +415,7 @@ docstring InsetCitation::generateLabel() const docstring const after = getParam("after"); docstring label; - biblio::CiteEngine const engine = buffer().params().citeEngine(); + CiteEngine const engine = buffer().params().citeEngine(); label = complexLabel(buffer(), getCmdName(), getParam("key"), before, after, engine); @@ -435,7 +435,7 @@ docstring InsetCitation::screenLabel() const void InsetCitation::updateLabels(ParIterator const &) { - biblio::CiteEngine const engine = buffer().params().citeEngine(); + CiteEngine const engine = buffer().params().citeEngine(); if (cache.params == params() && cache.engine == engine) return; @@ -510,7 +510,7 @@ void InsetCitation::textString(odocstream & os) const // should revert to \cite[]{} int InsetCitation::latex(odocstream & os, OutputParams const &) const { - biblio::CiteEngine cite_engine = buffer().params().citeEngine(); + CiteEngine cite_engine = buffer().params().citeEngine(); // FIXME UNICODE docstring const cite_str = from_utf8( asValidLatexCommand(getCmdName(), cite_engine)); @@ -519,7 +519,7 @@ int InsetCitation::latex(odocstream & os, OutputParams const &) const docstring const & before = getParam("before"); docstring const & after = getParam("after"); - if (!before.empty() && cite_engine != biblio::ENGINE_BASIC) + if (!before.empty() && cite_engine != ENGINE_BASIC) os << '[' << before << "][" << after << ']'; else if (!after.empty()) os << '[' << after << ']'; @@ -533,13 +533,13 @@ int InsetCitation::latex(odocstream & os, OutputParams const &) const void InsetCitation::validate(LaTeXFeatures & features) const { switch (features.bufferParams().citeEngine()) { - case biblio::ENGINE_BASIC: + case ENGINE_BASIC: break; - case biblio::ENGINE_NATBIB_AUTHORYEAR: - case biblio::ENGINE_NATBIB_NUMERICAL: + case ENGINE_NATBIB_AUTHORYEAR: + case ENGINE_NATBIB_NUMERICAL: features.require("natbib"); break; - case biblio::ENGINE_JURABIB: + case ENGINE_JURABIB: features.require("jurabib"); break; } diff --git a/src/insets/InsetCitation.h b/src/insets/InsetCitation.h index 4d403b66f0..9140dc7040 100644 --- a/src/insets/InsetCitation.h +++ b/src/insets/InsetCitation.h @@ -78,9 +78,9 @@ private: class Cache { public: /// - Cache() : engine(biblio::ENGINE_BASIC), params(CITE_CODE) {} + Cache() : engine(ENGINE_BASIC), params(CITE_CODE) {} /// - biblio::CiteEngine engine; + CiteEngine engine; /// InsetCommandParams params; ///