#include "InsetCommand.h"
-#include "Biblio_typedefs.h"
+#include "BiblioInfo.h"
namespace lyx {
///
EDITABLE editable() const { return IS_EDITABLE; }
///
- Inset::Code lyxCode() const { return Inset::BIBITEM_CODE; }
- ///
- void setCounter(int);
- ///
- int getCounter() const { return counter; }
+ InsetCode lyxCode() const { return BIBITEM_CODE; }
///
docstring const getBibLabel() const;
///
int plaintext(Buffer const &, odocstream &, OutputParams const &) const;
///
virtual void fillWithBibKeys(Buffer const &,
- biblio::BibKeyList &, InsetIterator const &) const;
-
+ BiblioInfo &, InsetIterator const &) const;
+ /// Update the counter of this inset
+ virtual void updateLabels(Buffer const &, ParIterator const &);
+ ///
+ static CommandInfo const * findInfo(std::string const &);
+ ///
+ static std::string defaultCommand() { return "bibitem"; };
+ ///
+ static bool isCompatibleCommand(std::string const & s)
+ { return s == "bibitem"; }
protected:
///
virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
private:
- virtual std::auto_ptr<Inset> doClone() const;
+ virtual Inset * clone() const;
- ///
- int counter;
+ /// The label that is set by updateLabels
+ docstring autolabel_;
///
static int key_counter;
};