#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"
#include "TocBackend.h"
#include "support/convert.h"
-#include "support/docstream.h"
#include "support/debug.h"
+#include "support/docstream.h"
#include "support/gettext.h"
#include "frontends/Application.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) {
switch (cmd.action) {
case LFUN_INSET_MODIFY:
case LFUN_INSET_DIALOG_UPDATE:
- flag.enabled(true);
+ flag.setEnabled(true);
return true;
default:
bool InsetWrap::insetAllowed(InsetCode code) const
{
switch(code) {
- case FLOAT_CODE:
+ case WRAP_CODE:
case FOOT_CODE:
case MARGIN_CODE:
return false;
}
+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();