- if (status_ == Collapsed) {
- setStatus(Open);
- } else {
- if (y <= button_dim.y2)
- y = 0;
- else
- y += inset.ascent() - height_collapsed();
- }
- inset.edit(cur, x, y);
-}
-
-
-DispatchResult
-InsetCollapsable::priv_dispatch(LCursor & cur, FuncRequest const & cmd)
-{
- lyxerr << "\nInsetCollapsable::priv_dispatch (begin): cmd: " << cmd
- << " button y: " << button_dim.y2 << endl;
- switch (cmd.action) {
- case LFUN_MOUSE_PRESS:
- if (status_ == Inlined)
- inset.dispatch(cur, cmd);
- else if (status_ == Open && cmd.y > button_dim.y2)
- inset.dispatch(cur, cmd);
- return DispatchResult(true, true);
-
- case LFUN_MOUSE_MOTION:
- if (status_ == Inlined)
- inset.dispatch(cur, cmd);
- else if (status_ == Open && cmd.y > button_dim.y2)
- inset.dispatch(cur, cmd);
- return DispatchResult(true, true);
-
- case LFUN_MOUSE_RELEASE:
- return lfunMouseRelease(cur, cmd);
-
- case LFUN_INSET_TOGGLE:
- if (inset.text_.toggleInset())
- return DispatchResult(true, true);
- if (status_ == Open) {
- setStatus(Inlined);
- return DispatchResult(true, true);
- } else {
- setStatus(Collapsed);
- return DispatchResult(false, FINISHED_RIGHT);
- }
-
- default:
- return inset.dispatch(cur, cmd);
- }
-}
-
-
-void InsetCollapsable::validate(LaTeXFeatures & features) const
-{
- inset.validate(features);
-}
-
-
-void InsetCollapsable::getCursorPos(CursorSlice const & cur,
- int & x, int & y) const
-{
- inset.getCursorPos(cur, x, y);