return true;
} else
return false;
+
+ case LFUN_NEWLINE_INSERT:
+ if (params_.subfloat) {
+ flag.setEnabled(false);
+ return true;
+ }
default:
return InsetCollapsable::getStatus(cur, cmd, flag);
if (runparams_in.moving_arg)
os << "\\protect";
os << "\\subfloat";
-
+
OutputParams rp = runparams_in;
+ rp.moving_arg = true;
docstring const caption = getCaption(rp);
if (!caption.empty()) {
os << caption;
}
os << '{';
+ // The main argument is the contents of the float. This is not a moving argument.
+ rp.moving_arg = false;
rp.inFloat = OutputParams::SUBFLOAT;
InsetText::latex(os, rp);
os << "}";
-
+
return;
}
OutputParams runparams(runparams_in);
}
-int InsetFloat::plaintext(odocstream & os, OutputParams const & runparams) const
+int InsetFloat::plaintext(odocstringstream & os, OutputParams const & runparams, size_t max_length) const
{
os << '[' << buffer().B_("float") << ' '
<< floatName(params_.type) << ":\n";
- InsetText::plaintext(os, runparams);
+ InsetText::plaintext(os, runparams, max_length);
os << "\n]";
return PLAINTEXT_NEWLINE + 1; // one char on a separate line
}
+bool InsetFloat::allowsCaptionVariation(std::string const & newtype) const
+{
+ return !params_.subfloat && newtype != "LongTableNoNumber";
+}
+
+
docstring InsetFloat::getCaption(OutputParams const & runparams) const
{
if (paragraphs().empty())
TexRow texrow;
odocstringstream ods;
otexstream os(ods, texrow);
- ins->getOptArg(os, runparams);
+ ins->getArgs(os, runparams);
ods << '[';
odocstringstream odss;
otexstream oss(odss, texrow);