// -*- C++ -*- /* This file is part of * ====================================================== * * LyX, The Document Processor * * Copyright 2001 The LyX Team. * * ====================================================== * * \file ControlCitation.C * \author Angus Leeming */ #include #include #ifdef __GNUG__ #pragma implementation #endif #include "ViewBase.h" #include "ButtonControllerBase.h" #include "ControlCitation.h" #include "buffer.h" #include "Dialogs.h" #include "LyXView.h" using std::pair; using std::vector; using SigC::slot; vector ControlCitation::citeStyles_; ControlCitation::ControlCitation(LyXView & lv, Dialogs & d) : ControlCommand(lv, d, LFUN_CITATION_INSERT) { // These are permanent connections so we won't bother // storing a copy because we won't be disconnecting. d_.showCitation.connect(slot(this, &ControlCitation::showInset)); d_.createCitation.connect(slot(this, &ControlCitation::createInset)); } void ControlCitation::clearDaughterParams() { bibkeysInfo_.clear(); } void ControlCitation::setDaughterParams() { vector > blist = lv_.buffer()->getBibkeyList(); typedef std::map::value_type InfoMapValue; for (vector >::size_type i=0; iparams.use_natbib; } vector const ControlCitation::getCiteStrings(string const & key) const { vector styles; vector const cs = biblio::getCiteStyles(usingNatbib()); if (lv_.buffer()->params.use_numerical_citations) styles = biblio::getNumericalStrings(key, bibkeysInfo_, cs); else styles = biblio::getAuthorYearStrings(key, bibkeysInfo_, cs); return styles; }