X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCaption.cpp;h=b1c4e08d1a4b1a9c0b51763c16c95db3ff32ff61;hb=dbb1ac30e9a87007af7c53f0f93ec9e21826f90b;hp=b857af4848cdc274c9f8d9a066f9948ca80c610a;hpb=e7ef325db572f787ababa369c65c005b58f54de6;p=lyx.git diff --git a/src/insets/InsetCaption.cpp b/src/insets/InsetCaption.cpp index b857af4848..b1c4e08d1a 100644 --- a/src/insets/InsetCaption.cpp +++ b/src/insets/InsetCaption.cpp @@ -65,7 +65,7 @@ void InsetCaption::write(ostream & os) const } -docstring InsetCaption::name() const +docstring InsetCaption::layoutName() const { if (type_.empty()) return from_ascii("Caption"); @@ -73,18 +73,6 @@ docstring InsetCaption::name() const } -void InsetCaption::read(Lexer & lex) -{ -#if 0 - // We will enably this check again when the compability - // code is removed from Buffer::Read (Lgb) - lex.setContext("InsetCaption::Read: consistency check"); - lex >> "Caption"; -#endif - InsetText::read(lex); -} - - void InsetCaption::cursorPos(BufferView const & bv, CursorSlice const & sl, bool boundary, int & x, int & y) const { @@ -104,16 +92,17 @@ void InsetCaption::setCustomLabel(docstring const & label) } -void InsetCaption::addToToc(DocIterator const & cpit) +void InsetCaption::addToToc(DocIterator const & cpit) const { if (type_.empty()) return; DocIterator pit = cpit; - pit.push_back(CursorSlice(*this)); + pit.push_back(CursorSlice(const_cast(*this))); Toc & toc = buffer().tocBackend().toc(type_); - docstring const str = full_label_ + ". " + text().getPar(0).asString(); + docstring str = full_label_ + ". "; + text().forToc(str, TOC_ENTRY_LENGTH); toc.push_back(TocItem(pit, 0, str)); // Proceed with the rest of the inset. @@ -146,7 +135,7 @@ void InsetCaption::drawBackground(PainterInfo & pi, int x, int y) const TextMetrics & tm = pi.base.bv->textMetrics(&text()); int const h = tm.height() + 2 * TEXT_TO_INSET_OFFSET; int const yy = y - TEXT_TO_INSET_OFFSET - tm.ascent(); - pi.pain.fillRectangle(x, yy, labelwidth_, h, Color_red); + pi.pain.fillRectangle(x, yy, labelwidth_, h, pi.backgroundColor(this)); } @@ -208,7 +197,7 @@ bool InsetCaption::getStatus(Cursor & cur, FuncRequest const & cmd, { switch (cmd.action()) { - case LFUN_BREAK_PARAGRAPH: + case LFUN_PARAGRAPH_BREAK: status.setEnabled(false); return true; @@ -227,12 +216,12 @@ bool InsetCaption::getStatus(Cursor & cur, FuncRequest const & cmd, } -int InsetCaption::latex(odocstream & os, - OutputParams const & runparams_in) const +void InsetCaption::latex(otexstream & os, + OutputParams const & runparams_in) const { if (runparams_in.inFloat == OutputParams::SUBFLOAT) // caption is output as an optional argument - return 0; + return; // This is a bit too simplistic to take advantage of // caption options we must add more later. (Lgb) // This code is currently only able to handle the simple @@ -243,12 +232,11 @@ int InsetCaption::latex(odocstream & os, // optional argument. runparams.moving_arg = true; os << "\\caption"; - int l = latexArgInsets(paragraphs()[0], os, runparams, 0, 1); + latexArgInsets(paragraphs()[0], os, runparams, 0, 1); os << '{'; - l += InsetText::latex(os, runparams); + InsetText::latex(os, runparams); os << "}\n"; runparams_in.encoding = runparams.encoding; - return l + 1; } @@ -289,17 +277,17 @@ docstring InsetCaption::xhtml(XHTMLStream & xs, OutputParams const & rp) const } -int InsetCaption::getArgument(odocstream & os, +void InsetCaption::getArgument(otexstream & os, OutputParams const & runparams) const { - return InsetText::latex(os, runparams); + InsetText::latex(os, runparams); } -int InsetCaption::getOptArg(odocstream & os, +void InsetCaption::getOptArg(otexstream & os, OutputParams const & runparams) const { - return latexArgInsets(paragraphs()[0], os, runparams, 0, 1); + latexArgInsets(paragraphs()[0], os, runparams, 0, 1); }