: InsetText(buf, ltype), status_(Inset::Open),
openinlined_(false), mouse_hover_(false)
{
- setLayout(&buf.params().documentClass());
setAutoBreakRows(true);
setDrawFrame(true);
setFrameColor(Color_collapsableframe);
InsetCollapsable::InsetCollapsable(InsetCollapsable const & rhs)
: InsetText(rhs),
status_(rhs.status_),
- layout_(rhs.layout_),
labelstring_(rhs.labelstring_),
button_dim(rhs.button_dim),
openinlined_(rhs.openinlined_),
}
-void InsetCollapsable::setLayout()
-{
- setLayout(buffer().params().documentClassPtr());
-}
-
-
-void InsetCollapsable::setLayout(DocumentClass const * const dc)
-{
- if (dc) {
- layout_ = &(dc->insetLayout(name()));
- labelstring_ = translateIfPossible(getLayout().labelstring());
- } else {
- layout_ = &DocumentClass::plainInsetLayout();
- labelstring_ = _("UNDEFINED");
- }
-
- setButtonLabel();
-}
-
-
void InsetCollapsable::write(ostream & os) const
{
os << "status ";
status_ = Open;
// this must be set before we enter InsetText::read()
- setLayout();
InsetText::read(lex);
- // set button label again as the inset contents was not read yet at
- // setLayout() time.
setButtonLabel();
// Force default font, if so requested
Dimension InsetCollapsable::dimensionCollapsed(BufferView const & bv) const
{
- LASSERT(layout_, /**/);
Dimension dim;
theFontMetrics(getLayout().labelfont()).buttonText(
buttonLabel(bv), dim.wid, dim.asc, dim.des);