X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCaption.h;h=92dc9405c28e71691df4328e55c3078b3d226126;hb=59e6610d8ad4d5c5a81d9a6b4ef73ae36231489a;hp=51d3747eaeba6c5693f429e523ce8003c31f2f68;hpb=237c132c1e6fc720b87f2fea6deb18a8395cbe0a;p=lyx.git diff --git a/src/insets/InsetCaption.h b/src/insets/InsetCaption.h index 51d3747eae..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 "TextClass.h" - namespace lyx { @@ -23,97 +21,91 @@ namespace lyx { class InsetCaption : public InsetText { public: /// - InsetCaption(InsetCaption const &); - 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 DisplayType display() const; + void write(std::ostream & os) const; /// - virtual bool neverIndent(Buffer const &) const { return true; } + DisplayType display() const { return AlignCenter; } /// - virtual Inset::Code lyxCode() const; + bool neverIndent() const { return true; } /// - virtual docstring const editMessage() const; + bool forceLocalFontSwitch() const { return true; } /// - virtual void cursorPos(BufferView const & bv, + InsetCode lyxCode() const { return CAPTION_CODE; } + /// + void cursorPos(BufferView const & bv, CursorSlice const & sl, bool boundary, int & x, int & y) const; /// - bool descendable() const { return true; } + bool descendable(BufferView const &) const { return true; } /// - virtual void metrics(MetricsInfo & mi, Dimension & dim) const; + void metrics(MetricsInfo & mi, Dimension & dim) const; /// - virtual void draw(PainterInfo & pi, int x, int y) const; + void drawBackground(PainterInfo & pi, int x, int y) const; /// - virtual void edit(Cursor & cur, bool left); + void draw(PainterInfo & pi, int x, int y) const; + /// Strike out the inset when deleted. + bool canPaintChange(BufferView const &) const { return true; } /// - virtual Inset * editXY(Cursor & cur, int x, int y); + void edit(Cursor & cur, bool front, EntryDirection entry_from); /// - bool insetAllowed(Inset::Code code) const; + Inset * editXY(Cursor & cur, int x, int y); /// - virtual bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const; - // Update the counters of this inset and of its contents - virtual void updateLabels(Buffer const &, ParIterator const &); + 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; - /// 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; + void latex(otexstream & os, OutputParams const &) const; + /// + 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 &, ParConstIterator const &) const; + void addToToc(DocIterator const & di, bool output_active, UpdateType utype, + TocBackend & backend) const; + /// + virtual bool forcePlainLayout(idx_type = 0) const { return true; } /// Captions don't accept alignment, spacing, etc. - bool forceDefaultParagraphs(idx_type) const { return true; } - -private: + virtual bool allowParagraphCustomization(idx_type = 0) const { return false; } /// - virtual Inset * clone() const; + Inset * clone() const { return new InsetCaption(*this); } + /// mutable docstring full_label_; /// mutable int labelwidth_; /// + std::string floattype_; + /// + bool is_subfloat_; + /// std::string type_; /// docstring custom_label_; - /// - TextClass const & textclass_; }; -inline -Inset::DisplayType InsetCaption::display() const -{ - return AlignCenter; -} - - -inline -Inset::Code InsetCaption::lyxCode() const -{ - return CAPTION_CODE; -} - - } // namespace lyx #endif