X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetBibitem.h;h=22bf8c54a83c764e77b171e9c71f9cd295c9966b;hb=67e70c6c022fa445cd654937faeb87955e3bca7a;hp=b0b1121a36bb7df593dbc3db01d8694f6aa34f48;hpb=07b6198f4c3aa6dfe3245394b660966fd3e85c99;p=lyx.git diff --git a/src/insets/InsetBibitem.h b/src/insets/InsetBibitem.h index b0b1121a36..22bf8c54a8 100644 --- a/src/insets/InsetBibitem.h +++ b/src/insets/InsetBibitem.h @@ -12,52 +12,68 @@ #ifndef INSET_BIBITEM_H #define INSET_BIBITEM_H - -#include "InsetCommand.h" #include "BiblioInfo.h" +#include "InsetCommand.h" namespace lyx { -/** Used to insert bibitem's information (key and label) +///////////////////////////////////////////////////////////////////////// +// +// InsetBibItem +// +///////////////////////////////////////////////////////////////////////// - Must be automatically inserted as the first object in a - bibliography paragraph. - */ -class InsetBibitem : public InsetCommand { +/// Used to insert bibitem's information (key and label) + +// Must be automatically inserted as the first object in a +// bibliography paragraph. +class InsetBibitem : public InsetCommand +{ public: /// - InsetBibitem(InsetCommandParams const &); + InsetBibitem(Buffer const &, InsetCommandParams const &); + /// + virtual ~InsetBibitem(); + /// + static ParamInfo const & findInfo(std::string const &); + /// + static std::string defaultCommand() { return "bibitem"; } + /// + static bool isCompatibleCommand(std::string const & s) + { return s == "bibitem"; } +private: + /// verify label and update references. + /// Overloaded from Inset::initView. + void initView(); + /// + bool isLabeled() const { return true; } /// - void read(Buffer const &, Lexer & lex); + void read(Lexer & lex); /// - docstring const getScreenLabel(Buffer const &) const; + docstring screenLabel() const; /// - EDITABLE editable() const { return IS_EDITABLE; } + bool hasSettings() const { return true; } /// InsetCode lyxCode() const { return BIBITEM_CODE; } /// - docstring const getBibLabel() const; + docstring bibLabel() const; /// - int plaintext(Buffer const &, odocstream &, OutputParams const &) const; + int plaintext(odocstream &, OutputParams const &) const; /// - virtual void fillWithBibKeys(Buffer const &, - BiblioInfo &, InsetIterator const &) const; + docstring xhtml(odocstream &, OutputParams const &) const; + /// + virtual void fillWithBibKeys(BiblioInfo &, InsetIterator const &) const; /// Update the counter of this inset - virtual void updateLabels(Buffer const &, ParIterator const &); + virtual void updateLabels(ParIterator const &); /// - static CommandInfo const * findInfo(std::string const &); + void updateCommand(docstring const & new_key, bool dummy = false); /// - static std::string defaultCommand() { return "bibitem"; }; + void doDispatch(Cursor & cur, FuncRequest & cmd); /// - static bool isCompatibleCommand(std::string const & s) - { return s == "bibitem"; } -protected: - /// - virtual void doDispatch(Cursor & cur, FuncRequest & cmd); -private: - virtual Inset * clone() const; + Inset * clone() const { return new InsetBibitem(*this); } + friend docstring bibitemWidest(Buffer const & buffer); /// The label that is set by updateLabels docstring autolabel_; /// @@ -66,8 +82,7 @@ private: /// Return the widest label in the Bibliography. -docstring const bibitemWidest(Buffer const &); - +docstring bibitemWidest(Buffer const &); } // namespace lyx