]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetcite.h
The speed patch: redraw only rows that have changed
[lyx.git] / src / insets / insetcite.h
index 21a568c83a692c3067cf8eece4db60cef1e19fa2..0733e93486ea60f3271797bf90698991ee2e62bf 100644 (file)
@@ -5,7 +5,7 @@
  * 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.
  */
@@ -15,6 +15,8 @@
 
 
 #include "insetcommand.h"
+#include "bufferparams.h"
+
 
 /** Used to insert citations
  */
@@ -23,59 +25,47 @@ public:
        ///
        InsetCitation(InsetCommandParams const &);
        ///
-       ~InsetCitation();
-       ///
-       std::auto_ptr<InsetBase> clone() const {
-               return std::auto_ptr<InsetBase>(new InsetCitation(params()));
-       }
-       ///
-       string const getScreenLabel(Buffer const *) const;
+       std::string const getScreenLabel(Buffer const &) const;
        ///
        EDITABLE editable() const { return IS_EDITABLE; }
        ///
-       InsetOld::Code lyxCode() const { return InsetOld::CITE_CODE; }
+       InsetBase::Code lyxCode() const { return InsetBase::CITE_CODE; }
        ///
-       int ascii(Buffer const *, std::ostream &, int linelen) const;
+       int plaintext(Buffer const &, std::ostream &, OutputParams const &) const;
        ///
-       int latex(Buffer const *, std::ostream &,
-                 LatexRunParams const &) const;
+       int latex(Buffer const &, std::ostream &,
+                 OutputParams const &) const;
        ///
-       dispatch_result localDispatch(FuncRequest const & cmd);
+       int docbook(Buffer const &, std::ostream &,
+                 OutputParams const &) const;
+       /// the string that is passed to the TOC
+       virtual int textString(Buffer const &, std::ostream & os,
+               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;
+
 private:
-       struct Cache {
-               ///
-               enum Style {
-                       ///
-                       BASIC,
-                       ///
-                       NATBIB_AY,
-                       ///
-                       NATBIB_NUM
-               };
+       virtual std::auto_ptr<InsetBase> doClone() const
+       {
+               return std::auto_ptr<InsetBase>(new InsetCitation(params()));
+       }
+
+       /// This function does the donkey work of creating the pretty label
+       std::string const generateLabel(Buffer const &) const;
+
+       class Cache {
+       public:
                ///
-               Cache() : style(BASIC) {}
+               Cache() : engine(lyx::biblio::ENGINE_BASIC) {}
                ///
-               Style style;
+               lyx::biblio::CiteEngine engine;
                ///
                InsetCommandParams params;
                ///
-               string generated_label;
+               std::string generated_label;
                ///
-               string screen_label;
+               std::string 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;
 };