}
+InsetCollapsable::Geometry InsetCollapsable::geometry() const
+{
+ switch (decoration()) {
+ case InsetLayout::CLASSIC:
+ if (status_ == Open)
+ return openinlined_ ? LeftButton : TopButton;
+ return ButtonOnly;
+
+ case InsetLayout::MINIMALISTIC:
+ return status_ == Open ? NoButton : ButtonOnly ;
+
+ case InsetLayout::CONGLOMERATE:
+ return status_ == Open ? SubLabel : Corners ;
+
+ case InsetLayout::DEFAULT:
+ break; // this shouldn't happen
+ }
+
+ // dummy return value to shut down a warning,
+ // this is dead code.
+ return NoButton;
+}
+
+
InsetCollapsable::InsetCollapsable(Buffer const & buf)
: InsetText(buf), status_(Inset::Open),
openinlined_(false), mouse_hover_(false)
}
-Inset::EDITABLE InsetCollapsable::editable(BufferView const & bv) const
+Inset::EDITABLE InsetCollapsable::editable() const
{
- return geometry(bv) != ButtonOnly ? HIGHLY_EDITABLE : IS_EDITABLE;
+ return geometry() != ButtonOnly ? HIGHLY_EDITABLE : IS_EDITABLE;
}
-bool InsetCollapsable::descendable(BufferView const & bv) const
+bool InsetCollapsable::descendable() const
{
- return geometry(bv) != ButtonOnly;
+ return geometry() != ButtonOnly;
}
///
docstring const getNewLabel(docstring const & l) const;
///
- EDITABLE editable(BufferView const & bv) const;
+ EDITABLE editable() const;
/// can we go further down on mouse click?
- bool descendable(BufferView const & bv) const;
+ bool descendable() const;
///
void setLabel(docstring const & l);
///
* Conglomerate | SubLabel Corners
* ---------------------------------------------
* *) toggled by openinlined_
- * x) toggled by autoOpen_
+ * x) toggled by auto_open_
*/
/// Default looks
Corners
};
/// Returns the geometry based on CollapseStatus
- /// (status_), autoOpen_ and openinlined_, and of
- /// course decoration().
+ /// (status_), auto_open_[BufferView] and openinlined_,
+ /// and of course decoration().
Geometry geometry(BufferView const & bv) const;
+ /// Returns the geometry disregarding auto_open_
+ Geometry geometry() const;
/// Allow spellchecking, except for insets with latex_language
bool allowSpellCheck() const { return !forceLTR(); }
///