X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCaption.h;h=804a40a6d72b27f581a5df643ebd6df3845a8899;hb=06254d11dfdf670fab3548dc2a2674e7a261262c;hp=8ea685edbe39f2c7735257cf5816de666f8c9304;hpb=32871c1284f15265f652ff01c438e539a7c8181f;p=lyx.git diff --git a/src/insets/InsetCaption.h b/src/insets/InsetCaption.h index 8ea685edbe..804a40a6d7 100644 --- a/src/insets/InsetCaption.h +++ b/src/insets/InsetCaption.h @@ -13,16 +13,17 @@ #define INSETCAPTION_H #include "InsetText.h" -#include "LyXTextClass.h" - namespace lyx { +class TextClass; + /** A caption inset */ class InsetCaption : public InsetText { public: /// + InsetCaption(InsetCaption const &); InsetCaption(BufferParams const &); /// virtual ~InsetCaption() {} @@ -31,11 +32,11 @@ public: /// void read(Buffer const & buf, Lexer & lex); /// - virtual bool display() const; + virtual DisplayType display() const; /// virtual bool neverIndent(Buffer const &) const { return true; } /// - virtual Inset::Code lyxCode() const; + virtual InsetCode lyxCode() const; /// virtual docstring const editMessage() const; /// @@ -44,32 +45,34 @@ public: /// bool descendable() const { return true; } /// - virtual bool metrics(MetricsInfo & mi, Dimension & dim) const; + virtual void metrics(MetricsInfo & mi, Dimension & dim) const; /// virtual void draw(PainterInfo & pi, int x, int y) const; /// - void drawSelection(PainterInfo & pi, int x, int y) const; - /// virtual void edit(Cursor & cur, bool left); /// virtual Inset * editXY(Cursor & cur, int x, int y); /// - bool insetAllowed(Inset::Code code) const; + bool insetAllowed(InsetCode code) const; /// virtual bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const; - /// - virtual bool wide() const { return false; } + // Update the counters of this inset and of its contents + virtual void updateLabels(Buffer const &, ParIterator const &); /// int latex(Buffer const & buf, odocstream & os, - OutputParams const &) const; + OutputParams const &) const; /// int plaintext(Buffer const & buf, odocstream & os, - OutputParams const & runparams) const; + OutputParams const & runparams) const; /// int docbook(Buffer const & buf, odocstream & os, - OutputParams const & runparams) const; - /// - void setCount(int c) { counter_ = c; } + OutputParams const & runparams) const; + /// return the mandatory argument (LaTeX format) only + int getArgument(Buffer const & buf, odocstream & os, + OutputParams const &) const; + /// return the optional argument(s) only + int getOptArg(Buffer const & buf, odocstream & os, + OutputParams const &) const; /// std::string const & type() const { return type_; } /// @@ -77,15 +80,13 @@ public: /// void setCustomLabel(docstring const & label); /// - void addToToc(TocList &, Buffer const &) const; + void addToToc(TocList &, Buffer const &, ParConstIterator const &) const; /// Captions don't accept alignment, spacing, etc. bool forceDefaultParagraphs(idx_type) const { return true; } private: /// - void computeFullLabel() const; - /// - virtual std::auto_ptr doClone() const; + virtual Inset * clone() const; /// mutable docstring full_label_; /// @@ -95,21 +96,19 @@ private: /// docstring custom_label_; /// - int counter_; - /// - LyXTextClass const & textclass_; + TextClass const & textclass_; }; inline -bool InsetCaption::display() const +Inset::DisplayType InsetCaption::display() const { - return true; + return AlignCenter; } inline -Inset::Code InsetCaption::lyxCode() const +InsetCode InsetCaption::lyxCode() const { return CAPTION_CODE; }