X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCaption.h;h=92dc9405c28e71691df4328e55c3078b3d226126;hb=59e6610d8ad4d5c5a81d9a6b4ef73ae36231489a;hp=476f11bcca5b98a8846d7a9bfdc6dd7f97a277ca;hpb=d3e30f8d9b68d51141290c7f4888040e9cfbaffa;p=lyx.git diff --git a/src/insets/InsetCaption.h b/src/insets/InsetCaption.h index 476f11bcca..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,105 +21,91 @@ namespace lyx { class InsetCaption : public InsetText { public: /// - InsetCaption(InsetCaption const &); - InsetCaption(BufferParams const &); - /// - virtual ~InsetCaption() {} + InsetCaption(Buffer *, std::string const &); /// - void write(Buffer const & buf, std::ostream & os) const; + std::string const & floattype() const { return floattype_; } /// - void read(Buffer const & buf, Lexer & lex); + 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; /// - virtual DisplayType display() const; + std::string contextMenuName() const; +private: /// - virtual bool neverIndent(Buffer const &) const { return true; } + void write(std::ostream & os) const; /// - virtual Inset::Code lyxCode() const; + DisplayType display() const { return AlignCenter; } /// - virtual docstring const editMessage() const; + bool neverIndent() const { return true; } /// - virtual void cursorPos(BufferView const & bv, - CursorSlice const & sl, bool boundary, int & x, int & y) const; + bool forceLocalFontSwitch() const { return true; } /// - bool descendable() const { return true; } + InsetCode lyxCode() const { return CAPTION_CODE; } /// - 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(Cursor & cur, bool left); + void drawBackground(PainterInfo & pi, int x, int y) const; /// - virtual Inset * editXY(Cursor & 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(Inset::Code code) const; + void edit(Cursor & cur, bool front, EntryDirection entry_from); /// - virtual bool getStatus(Cursor & 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; - /// 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; /// - 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 &, ParConstIterator &) 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(Buffer const & buf) 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_; /// - TextClass const & textclass_; + docstring custom_label_; }; -inline -Inset::DisplayType InsetCaption::display() const -{ - return AlignCenter; -} - - -inline -Inset::Code InsetCaption::lyxCode() const -{ - return CAPTION_CODE; -} - - } // namespace lyx #endif