X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetBibitem.h;h=f18356b9d469286795f718c21952eab6f87a158a;hb=858f6b6c7b630f7672001fb19b55109a89aed142;hp=c48bc17b688c950ed1d88a750e2f0243db5826c9;hpb=5fce07a02b1eab5c0776bbac8a456612b2f9c356;p=lyx.git diff --git a/src/insets/InsetBibitem.h b/src/insets/InsetBibitem.h index c48bc17b68..f18356b9d4 100644 --- a/src/insets/InsetBibitem.h +++ b/src/insets/InsetBibitem.h @@ -14,57 +14,89 @@ #include "InsetCommand.h" -#include "BiblioInfo.h" namespace lyx { -/** Used to insert bibitem's information (key and label) +class BiblioInfo; - Must be automatically inserted as the first object in a - bibliography paragraph. - */ -class InsetBibitem : public InsetCommand { +///////////////////////////////////////////////////////////////////////// +// +// InsetBibItem +// +///////////////////////////////////////////////////////////////////////// + +/// 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 &); - /// verify label and update references. - /** - * Overloaded from Inset::initView. - **/ - void initView(); - /// - void read(Lexer & lex); + InsetBibitem(Buffer *, InsetCommandParams const &); /// - docstring screenLabel() const; + ~InsetBibitem(); + /// - EDITABLE editable() const { return IS_EDITABLE; } + void updateCommand(docstring const & new_key, bool dummy = false); + + /// \name Public functions inherited from Inset class + //@{ /// InsetCode lyxCode() const { return BIBITEM_CODE; } /// - docstring bibLabel() const; + bool hasSettings() const { return true; } + /// \copydoc Inset::initView() + /// verify label and update references. + void initView(); + /// + bool isLabeled() const { return true; } /// - int plaintext(odocstream &, OutputParams const &) const; + void read(Lexer & lex); /// - virtual void fillWithBibKeys(BiblioInfo &, InsetIterator const &) const; - /// Update the counter of this inset - virtual void updateLabels(ParIterator const &); + int plaintext(odocstringstream &, OutputParams const &, + size_t max_length = INT_MAX) const; + /// + docstring xhtml(XHTMLStream &, OutputParams const &) const; + /// + void collectBibKeys(InsetIterator const &) const; + /// update the counter of this inset + void updateBuffer(ParIterator const &, UpdateType); + ///@} + + /// \name Static public methods obligated for InsetCommand derived classes + //@{ /// static ParamInfo const & findInfo(std::string const &); /// - static std::string defaultCommand() { return "bibitem"; }; + static std::string defaultCommand() { return "bibitem"; } /// - static bool isCompatibleCommand(std::string const & s) + static bool isCompatibleCommand(std::string const & s) { return s == "bibitem"; } + ///@} + +private: /// - void updateCommand(docstring const & new_key, bool dummy = false); -protected: + docstring bibLabel() const; + + /// \name Private functions inherited from Inset class + //@{ /// - virtual void doDispatch(Cursor & cur, FuncRequest & cmd); -private: + void doDispatch(Cursor & cur, FuncRequest & cmd); + /// + Inset * clone() const { return new InsetBibitem(*this); } + ///@} + + /// \name Private functions inherited from InsetCommand class + //@{ /// - virtual Inset * clone() const { return new InsetBibitem(*this); } - /// The label that is set by updateLabels + docstring screenLabel() const; + //@} + + friend docstring bibitemWidest(Buffer const & buffer, OutputParams const &); + + /// The label that is set by updateBuffer docstring autolabel_; /// static int key_counter; @@ -72,7 +104,7 @@ private: /// Return the widest label in the Bibliography. -docstring const bibitemWidest(Buffer const &); +docstring bibitemWidest(Buffer const &, OutputParams const &); } // namespace lyx