- EDITABLE Editable() const { return IS_EDITABLE; }
- ///
- void Edit(BufferView *, int, int, unsigned int);
+ 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
+ docstring const generateLabel(Buffer const &) const;
+
+ class Cache {
+ public:
+ ///
+ Cache() : engine(biblio::ENGINE_BASIC), params("cite") {}
+ ///
+ biblio::CiteEngine engine;
+ ///
+ InsetCommandParams params;
+ ///
+ docstring generated_label;
+ ///
+ docstring screen_label;
+ };
+ ///
+ mutable Cache cache;