X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetcite.h;h=1c83084a67ea156ebccc95f82dce0a0e8ecf79bb;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=76f0b3628bc736e289f37965cd77e71aa42b33d5;hpb=453f294074a588ac62886d512e97619ff219c766;p=lyx.git diff --git a/src/insets/insetcite.h b/src/insets/insetcite.h index 76f0b3628b..1c83084a67 100644 --- a/src/insets/insetcite.h +++ b/src/insets/insetcite.h @@ -5,9 +5,9 @@ * Licence details can be found in the file COPYING. * * \author Angus Leeming - * \author Herbert Voss + * \author Herbert Voß * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef INSET_CITE_H @@ -15,69 +15,67 @@ #include "insetcommand.h" +#include "bufferparams.h" + + +namespace lyx { + /** Used to insert citations */ class InsetCitation : public InsetCommand { public: /// - InsetCitation(InsetCommandParams const &, bool same_id = false); - /// - ~InsetCitation(); - /// - Inset * clone(Buffer const &, bool same_id = false) const { - return new InsetCitation(params(), same_id); - } + InsetCitation(InsetCommandParams const &); /// - string const getScreenLabel(Buffer const *) const; + docstring const getScreenLabel(Buffer const &) const; /// EDITABLE editable() const { return IS_EDITABLE; } /// - Inset::Code lyxCode() const { return Inset::CITE_CODE; } + InsetBase::Code lyxCode() const { return InsetBase::CITE_CODE; } /// - int ascii(Buffer const *, std::ostream &, int linelen) const; + int plaintext(Buffer const &, odocstream &, OutputParams const &) const; /// - int latex(Buffer const *, std::ostream &, - LatexRunParams const &) const; + int latex(Buffer const &, odocstream &, + OutputParams const &) const; /// - dispatch_result localDispatch(FuncRequest const & cmd); + int docbook(Buffer const &, odocstream &, + OutputParams const &) const; + /// the string that is passed to the TOC + virtual int textString(Buffer const &, odocstream &, + OutputParams const &) const; /// void validate(LaTeXFeatures &) const; - /** Invoked by BufferView::Pimpl::dispatch when a new citation key - is inserted. Tells us that the buffer is no longer being loaded - and that the cache of BibTeX keys should be reloaded in the future. - */ - void setLoadingBuffer(Buffer const * buffer, bool state) const; + /// + void replaceContents(std::string const & from, std::string const & to); + private: - struct Cache { - /// - enum Style { - /// - BASIC, - /// - NATBIB_AY, - /// - NATBIB_NUM - }; + virtual std::auto_ptr doClone() const + { + return std::auto_ptr(new InsetCitation(params())); + } + + /// This function does the donkey work of creating the pretty label + docstring const generateLabel(Buffer const &) const; + + class Cache { + public: /// - Cache() : style(BASIC) {} + Cache() : engine(biblio::ENGINE_BASIC), params("cite") {} /// - Style style; + biblio::CiteEngine engine; /// InsetCommandParams params; /// - string generated_label; + docstring generated_label; /// - string screen_label; + docstring screen_label; }; - - /// This function does the donkey work of creating the pretty label - string const generateLabel(Buffer const *) const; - /// - Cache::Style getStyle(Buffer const * buffer) const; - /// mutable Cache cache; }; + +} // namespace lyx + #endif // INSET_CITE_H