lyx_mirror/src/frontends/controllers/ControlCitation.h
Angus Leeming 0de182f257 * Give Dialog::Controller::initialiseParams a bool return type.
* Constify many ButtonController/View methods.
* Try and document the code ;-)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6495 a592a061-630c-0410-9148-cb99ea01b6c8
2003-03-14 00:20:42 +00:00

58 lines
1.3 KiB
C++

// -*- C++ -*-
/**
* \file ControlCitation.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Angus Leeming
*
* Full author contact details are available in file CREDITS
*/
#ifndef CONTROLCITATION_H
#define CONTROLCITATION_H
#include "ControlCommand.h"
#include "biblio.h" // biblio::InfoMap
/** A controller for Citation dialogs.
*/
class ControlCitation : public ControlCommand {
public:
///
ControlCitation(Dialog &);
///
virtual bool initialiseParams(string const & data);
/// clean-up on hide.
virtual void clearParams();
/** Disconnect from the inset when the Apply button is pressed.
* Allows easy insertion of multiple citations.
*/
virtual bool disconnectOnApply() const { return true; }
/// Returns a reference to the map of stored keys
biblio::InfoMap const & bibkeysInfo() const;
///
bool usingNatbib() const;
/// Possible citations based on this key
std::vector<string> const getCiteStrings(string const & key) const;
/// available CiteStyle-s (depends on availability of Natbib
static std::vector<biblio::CiteStyle> const & getCiteStyles() {
return citeStyles_;
}
private:
/// The info associated with each key
biblio::InfoMap bibkeysInfo_;
///
static std::vector<biblio::CiteStyle> citeStyles_;
};
#endif // CONTROLCITATION_H