#include "InsetCommand.h"
+#include "BiblioInfo.h"
namespace lyx {
public:
///
InsetBibitem(InsetCommandParams const &);
+ /// verify label and update references.
+ /**
+ * Overloaded from Inset::initView.
+ **/
+ void initView();
///
- void read(Buffer const &, LyXLex & lex);
+ bool isLabeled() const { return true; }
///
- docstring const getScreenLabel(Buffer const &) const;
+ void read(Lexer & lex);
+ ///
+ docstring screenLabel() const;
///
EDITABLE editable() const { return IS_EDITABLE; }
///
- InsetBase::Code lyxCode() const { return InsetBase::BIBITEM_CODE; }
+ InsetCode lyxCode() const { return BIBITEM_CODE; }
+ ///
+ docstring bibLabel() const;
+ ///
+ int plaintext(odocstream &, OutputParams const &) const;
///
- void setCounter(int);
+ virtual void fillWithBibKeys(BiblioInfo &, InsetIterator const &) const;
+ /// Update the counter of this inset
+ virtual void updateLabels(ParIterator const &);
///
- int getCounter() const { return counter; }
+ static ParamInfo const & findInfo(std::string const &);
///
- docstring const getBibLabel() const;
+ static std::string defaultCommand() { return "bibitem"; };
///
- int plaintext(Buffer const &, odocstream &, OutputParams const &) const;
+ static bool isCompatibleCommand(std::string const & s)
+ { return s == "bibitem"; }
+ ///
+ void updateCommand(docstring const & new_key, bool dummy = false);
protected:
///
- virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
+ virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
private:
- virtual std::auto_ptr<InsetBase> doClone() const;
-
///
- int counter;
+ virtual Inset * clone() const { return new InsetBibitem(*this); }
+ /// The label that is set by updateLabels
+ docstring autolabel_;
///
static int key_counter;
};