X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCaption.h;h=92dc9405c28e71691df4328e55c3078b3d226126;hb=59e6610d8ad4d5c5a81d9a6b4ef73ae36231489a;hp=21d99462d45cb00e04eaf3fbc94b7b5e4c51c3f8;hpb=39e79d8602920eefe36e898c9f415afb979521b2;p=lyx.git diff --git a/src/insets/InsetCaption.h b/src/insets/InsetCaption.h index 21d99462d4..92dc9405c2 100644 --- a/src/insets/InsetCaption.h +++ b/src/insets/InsetCaption.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -13,8 +13,6 @@ #define INSETCAPTION_H #include "InsetText.h" -#include "LyXTextClass.h" - namespace lyx { @@ -23,98 +21,91 @@ namespace lyx { class InsetCaption : public InsetText { public: /// - InsetCaption(BufferParams const &); + InsetCaption(Buffer *, std::string const &); /// - virtual ~InsetCaption() {} + std::string const & floattype() const { return floattype_; } /// - void write(Buffer const & buf, std::ostream & os) const; + docstring layoutName() const; + /// return the mandatory argument (LaTeX format) only + void getArgument(otexstream & os, OutputParams const &) const; + /// return the caption text + int getCaptionAsPlaintext(odocstream & os, OutputParams const &) const; + /// return the caption text as HTML + docstring getCaptionAsHTML(XHTMLStream & os, OutputParams const &) const; /// - void read(Buffer const & buf, Lexer & lex); + std::string contextMenuName() const; +private: /// - virtual bool display() const; + void write(std::ostream & os) const; /// - virtual bool neverIndent(Buffer const &) const { return true; } + DisplayType display() const { return AlignCenter; } /// - virtual InsetBase::Code lyxCode() const; + bool neverIndent() const { return true; } /// - virtual docstring const editMessage() const; + bool forceLocalFontSwitch() const { return true; } /// - virtual void cursorPos(BufferView const & bv, - CursorSlice const & sl, bool boundary, int & x, int & y) const; + InsetCode lyxCode() const { return CAPTION_CODE; } /// - bool descendable() const { return true; } - /// - virtual bool metrics(MetricsInfo & mi, Dimension & dim) const; + void cursorPos(BufferView const & bv, + CursorSlice const & sl, bool boundary, int & x, int & y) const; /// - virtual void draw(PainterInfo & pi, int x, int y) const; + bool descendable(BufferView const &) const { return true; } /// - void drawSelection(PainterInfo & pi, int x, int y) const; + void metrics(MetricsInfo & mi, Dimension & dim) const; /// - virtual void edit(LCursor & cur, bool left); + void drawBackground(PainterInfo & pi, int x, int y) const; /// - virtual InsetBase * editXY(LCursor & cur, int x, int y); + void draw(PainterInfo & pi, int x, int y) const; + /// Strike out the inset when deleted. + bool canPaintChange(BufferView const &) const { return true; } /// - bool insetAllowed(InsetBase::Code code) const; + void edit(Cursor & cur, bool front, EntryDirection entry_from); /// - virtual bool getStatus(LCursor & cur, FuncRequest const & cmd, FuncStatus &) const; + Inset * editXY(Cursor & cur, int x, int y); /// - virtual bool wide() const { return false; } + bool insetAllowed(InsetCode code) const; /// - int latex(Buffer const & buf, odocstream & os, - OutputParams const &) const; + void doDispatch(Cursor & cur, FuncRequest & cmd); /// - int plaintext(Buffer const & buf, odocstream & os, - OutputParams const & runparams) const; + bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const; + // Update the counters of this inset and of its contents + void updateBuffer(ParIterator const &, UpdateType); /// - int docbook(Buffer const & buf, odocstream & os, - OutputParams const & runparams) const; + void latex(otexstream & os, OutputParams const &) const; /// - void setCount(int c) { counter_ = c; } + int plaintext(odocstringstream & ods, OutputParams const & op, + size_t max_length = INT_MAX) const; /// - std::string const & type() const { return type_; } + int docbook(odocstream & os, OutputParams const & runparams) const; /// - void setType(std::string const & type) { type_ = type; } + docstring xhtml(XHTMLStream & os, OutputParams const & runparams) const; /// void setCustomLabel(docstring const & label); /// - void addToToc(TocList &, Buffer const &) const; - /// Captions don't accept alignment, spacing, etc. - bool forceDefaultParagraphs(idx_type) const { return true; } - -private: + void addToToc(DocIterator const & di, bool output_active, UpdateType utype, + TocBackend & backend) const; /// - void computeFullLabel() const; + virtual bool forcePlainLayout(idx_type = 0) const { return true; } + /// Captions don't accept alignment, spacing, etc. + virtual bool allowParagraphCustomization(idx_type = 0) const { return false; } /// - virtual std::auto_ptr doClone() const; + Inset * clone() const { return new InsetCaption(*this); } + /// mutable docstring full_label_; /// mutable int labelwidth_; /// - std::string type_; + std::string floattype_; /// - docstring custom_label_; + bool is_subfloat_; /// - int counter_; + std::string type_; /// - LyXTextClass const & textclass_; + docstring custom_label_; }; -inline -bool InsetCaption::display() const -{ - return true; -} - - -inline -InsetBase::Code InsetCaption::lyxCode() const -{ - return CAPTION_CODE; -} - - } // namespace lyx #endif