mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-03 14:13:58 +00:00
Extended tooltips for floats:
* 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
This commit is contained in:
parent
adc11fcc84
commit
1c33b77bec
@ -270,6 +270,14 @@ int InsetCaption::getOptArg(odocstream & os,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int InsetCaption::getCaptionText(odocstream & os,
|
||||||
|
OutputParams const & runparams) const
|
||||||
|
{
|
||||||
|
os << full_label_ << ' ';
|
||||||
|
return InsetText::plaintext(os, runparams);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetCaption::updateLabels(ParIterator const & it)
|
void InsetCaption::updateLabels(ParIterator const & it)
|
||||||
{
|
{
|
||||||
DocumentClass const & tclass = buffer().params().documentClass();
|
DocumentClass const & tclass = buffer().params().documentClass();
|
||||||
|
@ -28,6 +28,8 @@ public:
|
|||||||
int getArgument(odocstream & os, OutputParams const &) const;
|
int getArgument(odocstream & os, OutputParams const &) const;
|
||||||
/// return the optional argument(s) only
|
/// return the optional argument(s) only
|
||||||
int getOptArg(odocstream & os, OutputParams const &) const;
|
int getOptArg(odocstream & os, OutputParams const &) const;
|
||||||
|
/// return the caption text
|
||||||
|
int getCaptionText(odocstream & os, OutputParams const &) const;
|
||||||
private:
|
private:
|
||||||
///
|
///
|
||||||
void write(std::ostream & os) const;
|
void write(std::ostream & os) const;
|
||||||
|
@ -127,6 +127,17 @@ InsetFloat::~InsetFloat()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
void InsetFloat::doDispatch(Cursor & cur, FuncRequest & cmd)
|
||||||
{
|
{
|
||||||
switch (cmd.action) {
|
switch (cmd.action) {
|
||||||
@ -424,6 +435,29 @@ docstring InsetFloat::getCaption(OutputParams const & runparams) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
void InsetFloat::string2params(string const & in, InsetFloatParams & params)
|
||||||
{
|
{
|
||||||
params = InsetFloatParams();
|
params = InsetFloatParams();
|
||||||
|
@ -71,6 +71,8 @@ private:
|
|||||||
///
|
///
|
||||||
docstring name() const { return name_; }
|
docstring name() const { return name_; }
|
||||||
///
|
///
|
||||||
|
docstring toolTip(BufferView const & bv, int x, int y) const;
|
||||||
|
///
|
||||||
void write(std::ostream & os) const;
|
void write(std::ostream & os) const;
|
||||||
///
|
///
|
||||||
void read(Lexer & lex);
|
void read(Lexer & lex);
|
||||||
@ -105,6 +107,8 @@ private:
|
|||||||
///
|
///
|
||||||
docstring getCaption(OutputParams const &) const;
|
docstring getCaption(OutputParams const &) const;
|
||||||
///
|
///
|
||||||
|
docstring getCaptionText(OutputParams const &) const;
|
||||||
|
///
|
||||||
InsetFloatParams params_;
|
InsetFloatParams params_;
|
||||||
///
|
///
|
||||||
docstring name_;
|
docstring name_;
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include "InsetWrap.h"
|
#include "InsetWrap.h"
|
||||||
|
#include "InsetCaption.h"
|
||||||
|
|
||||||
#include "Buffer.h"
|
#include "Buffer.h"
|
||||||
#include "BufferParams.h"
|
#include "BufferParams.h"
|
||||||
@ -23,6 +24,7 @@
|
|||||||
#include "FloatList.h"
|
#include "FloatList.h"
|
||||||
#include "FuncRequest.h"
|
#include "FuncRequest.h"
|
||||||
#include "FuncStatus.h"
|
#include "FuncStatus.h"
|
||||||
|
#include "InsetList.h"
|
||||||
#include "LaTeXFeatures.h"
|
#include "LaTeXFeatures.h"
|
||||||
#include "Lexer.h"
|
#include "Lexer.h"
|
||||||
#include "TextClass.h"
|
#include "TextClass.h"
|
||||||
@ -64,6 +66,17 @@ docstring InsetWrap::name() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
void InsetWrap::doDispatch(Cursor & cur, FuncRequest & cmd)
|
||||||
{
|
{
|
||||||
switch (cmd.action) {
|
switch (cmd.action) {
|
||||||
@ -227,6 +240,29 @@ bool InsetWrap::showInsetDialog(BufferView * bv) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
void InsetWrap::string2params(string const & in, InsetWrapParams & params)
|
||||||
{
|
{
|
||||||
params = InsetWrapParams();
|
params = InsetWrapParams();
|
||||||
|
@ -63,6 +63,8 @@ private:
|
|||||||
///
|
///
|
||||||
InsetCode lyxCode() const { return WRAP_CODE; }
|
InsetCode lyxCode() const { return WRAP_CODE; }
|
||||||
///
|
///
|
||||||
|
docstring toolTip(BufferView const & bv, int x, int y) const;
|
||||||
|
///
|
||||||
int latex(odocstream &, OutputParams const &) const;
|
int latex(odocstream &, OutputParams const &) const;
|
||||||
///
|
///
|
||||||
int plaintext(odocstream &, OutputParams const &) const;
|
int plaintext(odocstream &, OutputParams const &) const;
|
||||||
@ -81,6 +83,8 @@ private:
|
|||||||
///
|
///
|
||||||
void doDispatch(Cursor & cur, FuncRequest & cmd);
|
void doDispatch(Cursor & cur, FuncRequest & cmd);
|
||||||
///
|
///
|
||||||
|
docstring getCaptionText(OutputParams const &) const;
|
||||||
|
///
|
||||||
docstring name() const;
|
docstring name() const;
|
||||||
///
|
///
|
||||||
Inset * clone() const { return new InsetWrap(*this); }
|
Inset * clone() const { return new InsetWrap(*this); }
|
||||||
|
Loading…
Reference in New Issue
Block a user