switch (cmd.action()) {
case LFUN_INSET_MODIFY:
- if (cmd.getArg(0) == "changetype")
- flag.setOnOff(cmd.getArg(1) == params_.type);
- flag.setEnabled(true);
- return true;
+ if (cmd.getArg(0) == "changetype") {
+ string const type = cmd.getArg(1);
+ flag.setOnOff(type == params_.type);
+ flag.setEnabled(!params_.inner_box || type != "Framed");
+ return true;
+ }
+ return InsetCollapsable::getStatus(cur, cmd, flag);
case LFUN_INSET_DIALOG_UPDATE:
flag.setEnabled(true);
os << "\\shadowbox{";
break;
case Shaded:
- // later
+ // must be set later because e.g. the width settings only work when
+ // it is inside a minipage or parbox
break;
case Doublebox:
os << "\\doublebox{";
// construct attributes
string attrs = "class='" + params_.type + "'";
string style;
- if (!params_.width.empty())
- style += ("width: " + params_.width.asHTMLString() + "; ");
+ if (!params_.width.empty()) {
+ string w = params_.width.asHTMLString();
+ if (w != "100%")
+ style += ("width: " + params_.width.asHTMLString() + "; ");
+ }
// The special heights don't really mean anything for us.
if (!params_.height.empty() && params_.height_special == "none")
style += ("height: " + params_.height.asHTMLString() + "; ");
}
-docstring InsetBox::contextMenuName() const
+string InsetBox::contextMenuName() const
{
- return from_ascii("context-box");
+ return "context-box";
}
void InsetBox::string2params(string const & in, InsetBoxParams & params)
{
- params = InsetBoxParams(string());
if (in.empty())
return;
"Expected arg 2 to be \"Box\"\n");
}
+ params = InsetBoxParams(string());
params.read(lex);
}