X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetcollapsable.C;h=e4015dd1cf24a5d968aec31aeb854c53e016e80d;hb=4a5b7a5952ad2381fcdf4830511293e184c7c5a1;hp=01e0d11abf8143d840fe59de3fdb12b4431d42be;hpb=fcb37cc69357d839ede582145c0538886d040e70;p=lyx.git diff --git a/src/insets/insetcollapsable.C b/src/insets/insetcollapsable.C index 01e0d11abf..e4015dd1cf 100644 --- a/src/insets/insetcollapsable.C +++ b/src/insets/insetcollapsable.C @@ -19,21 +19,25 @@ #include "lyxfont.h" #include "BufferView.h" #include "Painter.h" -#include "insets/insettext.h" -#include "support/LOstream.h" -#include "support/lstrings.h" #include "debug.h" #include "lyxtext.h" #include "font.h" #include "lyxlex.h" -class LyXText; +#include "insets/insettext.h" +#include "support/LOstream.h" +#include "support/lstrings.h" + +using std::vector; using std::ostream; using std::endl; using std::max; +class LyXText; + + InsetCollapsable::InsetCollapsable(bool collapsed) : UpdatableInset(), collapsed_(collapsed), button_length(0), button_top_y(0), button_bottom_y(0), @@ -322,10 +326,11 @@ void InsetCollapsable::insetButtonPress(BufferView * bv, } -void InsetCollapsable::insetButtonRelease(BufferView * bv, +bool InsetCollapsable::insetButtonRelease(BufferView * bv, int x, int y, int button) { - if ((x >= 0) && (x < button_length) && + bool ret = false; + if ((button != 3) && (x >= 0) && (x < button_length) && (y >= button_top_y) && (y <= button_bottom_y)) { if (collapsed_) { @@ -345,8 +350,12 @@ void InsetCollapsable::insetButtonRelease(BufferView * bv, (ascent_collapsed() + descent_collapsed() + inset.ascent(bv, font)); - inset.insetButtonRelease(bv, x, yy, button); + ret = inset.insetButtonRelease(bv, x, yy, button); + } + if ((button == 3) && !ret) { + return showInsetDialog(bv); } + return false; } @@ -376,6 +385,24 @@ int InsetCollapsable::latex(Buffer const * buf, ostream & os, return inset.latex(buf, os, fragile, free_spc); } + +int InsetCollapsable::ascii(Buffer const * buf, ostream & os, int ll) const +{ + return inset.ascii(buf, os, ll); +} + + +int InsetCollapsable::linuxdoc(Buffer const * buf, ostream & os) const +{ + return inset.linuxdoc(buf, os); +} + + +int InsetCollapsable::docbook(Buffer const * buf, ostream & os) const +{ + return inset.docbook(buf, os); +} + #if 0 int InsetCollapsable::getMaxWidth(BufferView * bv, UpdatableInset const * in) const @@ -448,7 +475,7 @@ bool InsetCollapsable::unlockInsetInInset(BufferView * bv, UpdatableInset * in, bool InsetCollapsable::updateInsetInInset(BufferView * bv, Inset *in) { - if (&inset == in) + if (in == this) return true; return inset.updateInsetInInset(bv, in); } @@ -541,7 +568,7 @@ void InsetCollapsable::resizeLyXText(BufferView * bv, bool force) const } -std::vector const InsetCollapsable::getLabelList() const +vector const InsetCollapsable::getLabelList() const { return inset.getLabelList(); } @@ -623,7 +650,7 @@ void InsetCollapsable::setLabel(string const & l) const bool InsetCollapsable::searchForward(BufferView * bv, string const & str, - bool const & cs, bool const & mw) + bool cs, bool mw) { bool found = inset.searchForward(bv, str, cs, mw); if (first_after_edit && !found) @@ -634,7 +661,7 @@ bool InsetCollapsable::searchForward(BufferView * bv, string const & str, bool InsetCollapsable::searchBackward(BufferView * bv, string const & str, - bool const & cs, bool const & mw) + bool cs, bool mw) { bool found = inset.searchBackward(bv, str, cs, mw); if (first_after_edit && !found)