]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetcite.h
* src/LyXAction.C: mark goto-clear-bookmark as working without buffer
[lyx.git] / src / insets / insetcite.h
index fd90c887fca04c1e5379d75ca2ab062d767e2d2d..1c83084a67ea156ebccc95f82dce0a0e8ecf79bb 100644 (file)
@@ -18,6 +18,9 @@
 #include "bufferparams.h"
 
 
+namespace lyx {
+
+
 /** Used to insert citations
  */
 class InsetCitation : public InsetCommand {
@@ -25,44 +28,54 @@ public:
        ///
        InsetCitation(InsetCommandParams const &);
        ///
-       std::auto_ptr<InsetBase> clone() const {
-               return std::auto_ptr<InsetBase>(new InsetCitation(params()));
-       }
-       ///
-       std::string const getScreenLabel(Buffer const &) const;
+       docstring 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 plaintext(Buffer const &, std::ostream &, OutputParams const &) const;
+       int plaintext(Buffer const &, odocstream &, OutputParams const &) const;
        ///
-       int latex(Buffer const &, std::ostream &,
+       int latex(Buffer const &, odocstream &,
                  OutputParams const &) const;
        ///
-       int docbook(Buffer const &, std::ostream &,
+       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;
+       ///
+       void replaceContents(std::string const & from, std::string const & to);
 
 private:
+       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;
+       docstring const generateLabel(Buffer const &) const;
 
-       struct Cache {
+       class Cache {
+       public:
                ///
-               Cache() : engine(lyx::biblio::ENGINE_BASIC) {}
+               Cache() : engine(biblio::ENGINE_BASIC), params("cite") {}
                ///
-               lyx::biblio::CiteEngine engine;
+               biblio::CiteEngine engine;
                ///
                InsetCommandParams params;
                ///
-               std::string generated_label;
+               docstring generated_label;
                ///
-               std::string screen_label;
+               docstring screen_label;
        };
        ///
        mutable Cache cache;
 };
 
+
+} // namespace lyx
+
 #endif // INSET_CITE_H