* src/insets/InsetCaption.{cpp,h}:
- new member getCaptionText that returns formatted plain text content
* src/insets/InsetFloat.{cpp,h}:
* src/insets/InsetWrap.{cpp,h}:
- implement tooltip
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24200
a592a061-630c-0410-9148-
cb99ea01b6c8
}
+int InsetCaption::getCaptionText(odocstream & os,
+ OutputParams const & runparams) const
+{
+ os << full_label_ << ' ';
+ return InsetText::plaintext(os, runparams);
+}
+
+
void InsetCaption::updateLabels(ParIterator const & it)
{
DocumentClass const & tclass = buffer().params().documentClass();
int getArgument(odocstream & os, OutputParams const &) const;
/// return the optional argument(s) only
int getOptArg(odocstream & os, OutputParams const &) const;
+ /// return the caption text
+ int getCaptionText(odocstream & os, OutputParams const &) const;
private:
///
void write(std::ostream & os) const;
}
+docstring InsetFloat::toolTip(BufferView const & bv, int x, int y) const
+{
+ OutputParams rp(&buffer().params().encoding());
+ docstring default_tip = InsetCollapsable::toolTip(bv, x, y);
+ docstring caption_tip = getCaptionText(rp);
+ if (!isOpen() && !caption_tip.empty())
+ return caption_tip + '\n' + default_tip;
+ return default_tip;
+}
+
+
void InsetFloat::doDispatch(Cursor & cur, FuncRequest & cmd)
{
switch (cmd.action) {
}
+docstring InsetFloat::getCaptionText(OutputParams const & runparams) const
+{
+ if (paragraphs().empty())
+ return docstring();
+
+ ParagraphList::const_iterator pit = paragraphs().begin();
+ for (; pit != paragraphs().end(); ++pit) {
+ InsetList::const_iterator it = pit->insetList().begin();
+ for (; it != pit->insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (inset.lyxCode() == CAPTION_CODE) {
+ odocstringstream ods;
+ InsetCaption * ins =
+ static_cast<InsetCaption *>(it->inset);
+ ins->getCaptionText(ods, runparams);
+ return ods.str();
+ }
+ }
+ }
+ return docstring();
+}
+
+
void InsetFloat::string2params(string const & in, InsetFloatParams & params)
{
params = InsetFloatParams();
///
docstring name() const { return name_; }
///
+ docstring toolTip(BufferView const & bv, int x, int y) const;
+ ///
void write(std::ostream & os) const;
///
void read(Lexer & lex);
///
docstring getCaption(OutputParams const &) const;
///
+ docstring getCaptionText(OutputParams const &) const;
+ ///
InsetFloatParams params_;
///
docstring name_;
#include <config.h>
#include "InsetWrap.h"
+#include "InsetCaption.h"
#include "Buffer.h"
#include "BufferParams.h"
#include "FloatList.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
+#include "InsetList.h"
#include "LaTeXFeatures.h"
#include "Lexer.h"
#include "TextClass.h"
}
+docstring InsetWrap::toolTip(BufferView const & bv, int x, int y) const
+{
+ OutputParams rp(&buffer().params().encoding());
+ docstring default_tip = InsetCollapsable::toolTip(bv, x, y);
+ docstring caption_tip = getCaptionText(rp);
+ if (!isOpen() && !caption_tip.empty())
+ return caption_tip + '\n' + default_tip;
+ return default_tip;
+}
+
+
void InsetWrap::doDispatch(Cursor & cur, FuncRequest & cmd)
{
switch (cmd.action) {
}
+docstring InsetWrap::getCaptionText(OutputParams const & runparams) const
+{
+ if (paragraphs().empty())
+ return docstring();
+
+ ParagraphList::const_iterator pit = paragraphs().begin();
+ for (; pit != paragraphs().end(); ++pit) {
+ InsetList::const_iterator it = pit->insetList().begin();
+ for (; it != pit->insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (inset.lyxCode() == CAPTION_CODE) {
+ odocstringstream ods;
+ InsetCaption * ins =
+ static_cast<InsetCaption *>(it->inset);
+ ins->getCaptionText(ods, runparams);
+ return ods.str();
+ }
+ }
+ }
+ return docstring();
+}
+
+
void InsetWrap::string2params(string const & in, InsetWrapParams & params)
{
params = InsetWrapParams();
///
InsetCode lyxCode() const { return WRAP_CODE; }
///
+ docstring toolTip(BufferView const & bv, int x, int y) const;
+ ///
int latex(odocstream &, OutputParams const &) const;
///
int plaintext(odocstream &, OutputParams const &) const;
///
void doDispatch(Cursor & cur, FuncRequest & cmd);
///
+ docstring getCaptionText(OutputParams const &) const;
+ ///
docstring name() const;
///
Inset * clone() const { return new InsetWrap(*this); }