mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-29 21:05:12 +00:00
Fixed poping up of Layout-Dialogs on Mouse-Button-3 press.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3225 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
d17bd7cce9
commit
bc20177045
@ -1,3 +1,21 @@
|
|||||||
|
2001-12-17 Juergen Vigna <jug@sad.it>
|
||||||
|
|
||||||
|
* insetert.C (read): removed piece of compatibility code only needed
|
||||||
|
for 1.2.0.
|
||||||
|
|
||||||
|
* insettabular.C (insetButtonRelease): fixed so that sub-dialogs
|
||||||
|
can be opened.
|
||||||
|
|
||||||
|
* insetcollapsable.C (insetButtonRelease): changed so that it can
|
||||||
|
open evetual existing popup dialogs on mousebutton==3.
|
||||||
|
|
||||||
|
* insetfloat.C (insetButtonRelease): removed not needed anymore!
|
||||||
|
|
||||||
|
* insetminipage.C (insetButtonRelease): removed not needed anymore!
|
||||||
|
|
||||||
|
* inset.C (insetButtonRelease): return a bool for telling the outer
|
||||||
|
world that we opened a dialog.
|
||||||
|
|
||||||
2001-12-07 Juergen Vigna <jug@sad.it>
|
2001-12-07 Juergen Vigna <jug@sad.it>
|
||||||
|
|
||||||
* insettext.C (paragraph): remove the deleteing of paragraphs as
|
* insettext.C (paragraph): remove the deleteing of paragraphs as
|
||||||
|
@ -164,10 +164,11 @@ void UpdatableInset::insetButtonPress(BufferView *, int x, int y, int button)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void UpdatableInset::insetButtonRelease(BufferView *, int x, int y, int button)
|
bool UpdatableInset::insetButtonRelease(BufferView *, int x, int y, int button)
|
||||||
{
|
{
|
||||||
lyxerr[Debug::INFO] << "Inset Button Release x=" << x
|
lyxerr[Debug::INFO] << "Inset Button Release x=" << x
|
||||||
<< ", y=" << y << ", button=" << button << endl;
|
<< ", y=" << y << ", button=" << button << endl;
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -159,7 +159,12 @@ public:
|
|||||||
/// This is called when the user clicks inside an inset
|
/// This is called when the user clicks inside an inset
|
||||||
virtual void insetButtonPress(BufferView *, int, int, int) {}
|
virtual void insetButtonPress(BufferView *, int, int, int) {}
|
||||||
/// This is called when the user releases the button inside an inset
|
/// This is called when the user releases the button inside an inset
|
||||||
virtual void insetButtonRelease(BufferView *, int, int, int) {}
|
// the bool return is used to see if we opened a dialog so that we can
|
||||||
|
// check this from an outer inset and open the dialog of the outer inset
|
||||||
|
// if that one has one!
|
||||||
|
///
|
||||||
|
virtual bool insetButtonRelease(BufferView *, int, int, int)
|
||||||
|
{ return false; }
|
||||||
/// This is called when the user moves the mouse inside an inset
|
/// This is called when the user moves the mouse inside an inset
|
||||||
virtual void insetMotionNotify(BufferView *, int , int , int) {}
|
virtual void insetMotionNotify(BufferView *, int , int , int) {}
|
||||||
///
|
///
|
||||||
@ -430,8 +435,12 @@ public:
|
|||||||
///
|
///
|
||||||
virtual void insetButtonPress(BufferView *, int x, int y, int button);
|
virtual void insetButtonPress(BufferView *, int x, int y, int button);
|
||||||
///
|
///
|
||||||
virtual void insetButtonRelease(BufferView *,
|
// the bool return is used to see if we opened a dialog so that we can
|
||||||
int x, int y, int button);
|
// check this from an outer inset and open the dialog of the outer inset
|
||||||
|
// if that one has one!
|
||||||
|
///
|
||||||
|
virtual bool insetButtonRelease(BufferView *,
|
||||||
|
int x, int y, int button);
|
||||||
///
|
///
|
||||||
virtual void insetKeyPress(XKeyEvent * ev);
|
virtual void insetKeyPress(XKeyEvent * ev);
|
||||||
///
|
///
|
||||||
|
@ -322,10 +322,11 @@ void InsetCollapsable::insetButtonPress(BufferView * bv,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetCollapsable::insetButtonRelease(BufferView * bv,
|
bool InsetCollapsable::insetButtonRelease(BufferView * bv,
|
||||||
int x, int y, int button)
|
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))
|
(y >= button_top_y) && (y <= button_bottom_y))
|
||||||
{
|
{
|
||||||
if (collapsed_) {
|
if (collapsed_) {
|
||||||
@ -345,8 +346,12 @@ void InsetCollapsable::insetButtonRelease(BufferView * bv,
|
|||||||
(ascent_collapsed() +
|
(ascent_collapsed() +
|
||||||
descent_collapsed() +
|
descent_collapsed() +
|
||||||
inset.ascent(bv, font));
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ public:
|
|||||||
///
|
///
|
||||||
unsigned int insetInInsetY();
|
unsigned int insetInInsetY();
|
||||||
///
|
///
|
||||||
void insetButtonRelease(BufferView *, int, int, int);
|
bool insetButtonRelease(BufferView *, int, int, int);
|
||||||
///
|
///
|
||||||
void insetButtonPress(BufferView *, int, int, int);
|
void insetButtonPress(BufferView *, int, int, int);
|
||||||
///
|
///
|
||||||
|
@ -126,6 +126,7 @@ void InsetERT::read(Buffer const * buf, LyXLex & lex)
|
|||||||
lex.pushToken(token);
|
lex.pushToken(token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
#warning this should be really short lived only for compatibility to
|
#warning this should be really short lived only for compatibility to
|
||||||
#warning files written 07/08/2001 so this has to go before 1.2.0! (Jug)
|
#warning files written 07/08/2001 so this has to go before 1.2.0! (Jug)
|
||||||
if (lex.isOK()) {
|
if (lex.isOK()) {
|
||||||
@ -139,6 +140,7 @@ void InsetERT::read(Buffer const * buf, LyXLex & lex)
|
|||||||
lex.pushToken(token);
|
lex.pushToken(token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
inset.read(buf, lex);
|
inset.read(buf, lex);
|
||||||
|
|
||||||
#ifndef INHERIT_LANG
|
#ifndef INHERIT_LANG
|
||||||
@ -299,11 +301,11 @@ void InsetERT::insetButtonPress(BufferView * bv,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetERT::insetButtonRelease(BufferView * bv, int x, int y, int button)
|
bool InsetERT::insetButtonRelease(BufferView * bv, int x, int y, int button)
|
||||||
{
|
{
|
||||||
if (button == 3) {
|
if (button == 3) {
|
||||||
showInsetDialog(bv);
|
showInsetDialog(bv);
|
||||||
return;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status_ != Inlined && (x >= 0) && (x < button_length) &&
|
if (status_ != Inlined && (x >= 0) && (x < button_length) &&
|
||||||
@ -322,6 +324,7 @@ void InsetERT::insetButtonRelease(BufferView * bv, int x, int y, int button)
|
|||||||
inset.insetButtonRelease(bv, x, yy, button);
|
inset.insetButtonRelease(bv, x, yy, button);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ public:
|
|||||||
///
|
///
|
||||||
void insetButtonPress(BufferView *, int x, int y, int button);
|
void insetButtonPress(BufferView *, int x, int y, int button);
|
||||||
///
|
///
|
||||||
void insetButtonRelease(BufferView * bv, int x, int y, int button);
|
bool insetButtonRelease(BufferView * bv, int x, int y, int button);
|
||||||
///
|
///
|
||||||
void insetMotionNotify(BufferView *, int x, int y, int state);
|
void insetMotionNotify(BufferView *, int x, int y, int state);
|
||||||
///
|
///
|
||||||
|
@ -271,26 +271,6 @@ bool InsetFloat::showInsetDialog(BufferView * bv) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetFloat::insetButtonRelease(BufferView * bv, int x, int y, int button)
|
|
||||||
{
|
|
||||||
#if 1
|
|
||||||
if ((x >= 0) && (x < button_length) &&
|
|
||||||
(y >= button_top_y) && (y <= button_bottom_y) &&
|
|
||||||
(button == 3))
|
|
||||||
{
|
|
||||||
showInsetDialog(bv);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
if (button == 3) {
|
|
||||||
showInsetDialog(bv);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
InsetCollapsable::insetButtonRelease(bv, x, y, button);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
string const & InsetFloat::type() const
|
string const & InsetFloat::type() const
|
||||||
{
|
{
|
||||||
return floatType_;
|
return floatType_;
|
||||||
|
@ -51,8 +51,6 @@ public:
|
|||||||
///
|
///
|
||||||
bool insetAllowed(Inset::Code) const;
|
bool insetAllowed(Inset::Code) const;
|
||||||
///
|
///
|
||||||
void insetButtonRelease(BufferView * bv, int x, int y, int button);
|
|
||||||
///
|
|
||||||
string const & type() const;
|
string const & type() const;
|
||||||
///
|
///
|
||||||
void placement(string const & p);
|
void placement(string const & p);
|
||||||
|
@ -324,17 +324,6 @@ bool InsetMinipage::showInsetDialog(BufferView * bv) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetMinipage::insetButtonRelease(BufferView * bv, int x, int y,
|
|
||||||
int button)
|
|
||||||
{
|
|
||||||
if (button == 3) {
|
|
||||||
showInsetDialog(bv);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
InsetCollapsable::insetButtonRelease(bv, x, y, button);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int InsetMinipage::getMaxWidth(BufferView * bv, UpdatableInset const * inset)
|
int InsetMinipage::getMaxWidth(BufferView * bv, UpdatableInset const * inset)
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
|
@ -81,8 +81,6 @@ public:
|
|||||||
///
|
///
|
||||||
SigC::Signal0<void> hideDialog;
|
SigC::Signal0<void> hideDialog;
|
||||||
///
|
///
|
||||||
void insetButtonRelease(BufferView * bv, int x, int y, int button);
|
|
||||||
///
|
|
||||||
int getMaxWidth(BufferView *, UpdatableInset const *) const;
|
int getMaxWidth(BufferView *, UpdatableInset const *) const;
|
||||||
///
|
///
|
||||||
bool needFullRow() const { return false; }
|
bool needFullRow() const { return false; }
|
||||||
|
@ -745,6 +745,7 @@ void InsetTabular::insetButtonPress(BufferView * bv, int x, int y, int button)
|
|||||||
if (actrow != orow)
|
if (actrow != orow)
|
||||||
updateLocal(bv, NONE, false);
|
updateLocal(bv, NONE, false);
|
||||||
clearSelection();
|
clearSelection();
|
||||||
|
#if 0
|
||||||
if (button == 3) {
|
if (button == 3) {
|
||||||
if ((ocell != actcell) && the_locking_inset) {
|
if ((ocell != actcell) && the_locking_inset) {
|
||||||
the_locking_inset->insetUnlock(bv);
|
the_locking_inset->insetUnlock(bv);
|
||||||
@ -753,6 +754,7 @@ void InsetTabular::insetButtonPress(BufferView * bv, int x, int y, int button)
|
|||||||
showInsetCursor(bv);
|
showInsetCursor(bv);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool const inset_hit = insetHit(bv, x, y);
|
bool const inset_hit = insetHit(bv, x, y);
|
||||||
|
|
||||||
@ -782,26 +784,17 @@ void InsetTabular::insetButtonPress(BufferView * bv, int x, int y, int button)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetTabular::insetButtonRelease(BufferView * bv,
|
bool InsetTabular::insetButtonRelease(BufferView * bv,
|
||||||
int x, int y, int button)
|
int x, int y, int button)
|
||||||
{
|
{
|
||||||
if (button == 3) {
|
bool ret = false;
|
||||||
if (the_locking_inset) {
|
if (the_locking_inset)
|
||||||
UpdatableInset * i;
|
ret = the_locking_inset->insetButtonRelease(bv, x, y, button);
|
||||||
if ((i = the_locking_inset->getFirstLockingInsetOfType(TABULAR_CODE))) {
|
if (button == 3 && !ret) {
|
||||||
i->insetButtonRelease(bv, x, y, button);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
bv->owner()->getDialogs()->showTabular(this);
|
bv->owner()->getDialogs()->showTabular(this);
|
||||||
return;
|
return true;
|
||||||
}
|
|
||||||
if (the_locking_inset) {
|
|
||||||
the_locking_inset->insetButtonRelease(bv,
|
|
||||||
x - inset_x, y - inset_y,
|
|
||||||
button);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ public:
|
|||||||
///
|
///
|
||||||
bool display() const { return tabular->IsLongTabular(); }
|
bool display() const { return tabular->IsLongTabular(); }
|
||||||
///
|
///
|
||||||
void insetButtonRelease(BufferView *, int, int, int);
|
bool insetButtonRelease(BufferView *, int, int, int);
|
||||||
///
|
///
|
||||||
void insetButtonPress(BufferView *, int, int, int);
|
void insetButtonPress(BufferView *, int, int, int);
|
||||||
///
|
///
|
||||||
|
@ -995,34 +995,32 @@ void InsetText::insetButtonPress(BufferView * bv, int x, int y, int button)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetText::insetButtonRelease(BufferView * bv, int x, int y, int button)
|
bool InsetText::insetButtonRelease(BufferView * bv, int x, int y, int button)
|
||||||
{
|
{
|
||||||
UpdatableInset * inset = 0;
|
|
||||||
|
|
||||||
if (the_locking_inset) {
|
if (the_locking_inset) {
|
||||||
the_locking_inset->insetButtonRelease(bv,
|
return the_locking_inset->insetButtonRelease(bv,
|
||||||
x - inset_x, y - inset_y,
|
x - inset_x, y - inset_y,
|
||||||
button);
|
button);
|
||||||
} else {
|
|
||||||
if (cpar(bv)->isInset(cpos(bv))) {
|
|
||||||
inset = static_cast<UpdatableInset*>(cpar(bv)->getInset(cpos(bv)));
|
|
||||||
if (isHighlyEditableInset(inset)) {
|
|
||||||
inset->insetButtonRelease(bv,
|
|
||||||
x - inset_x,
|
|
||||||
y - inset_y, button);
|
|
||||||
} else {
|
|
||||||
inset_x = cx(bv) - top_x + drawTextXOffset;
|
|
||||||
inset_y = cy(bv) + drawTextYOffset;
|
|
||||||
inset->insetButtonRelease(bv,
|
|
||||||
x - inset_x,
|
|
||||||
y - inset_y, button);
|
|
||||||
inset->edit(bv,
|
|
||||||
x - inset_x, y - inset_y, button);
|
|
||||||
}
|
|
||||||
updateLocal(bv, CURSOR_PAR, false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
no_selection = false;
|
int tmp_x = x - drawTextXOffset;
|
||||||
|
int tmp_y = y + insetAscent - getLyXText(bv)->first;
|
||||||
|
Inset * inset = bv->checkInsetHit(getLyXText(bv), tmp_x, tmp_y, button);
|
||||||
|
bool ret = false;
|
||||||
|
if (inset) {
|
||||||
|
if (isHighlyEditableInset(inset)) {
|
||||||
|
ret = inset->insetButtonRelease(bv, x - inset_x,
|
||||||
|
y - inset_y, button);
|
||||||
|
} else {
|
||||||
|
inset_x = cx(bv) - top_x + drawTextXOffset;
|
||||||
|
inset_y = cy(bv) + drawTextYOffset;
|
||||||
|
ret = inset->insetButtonRelease(bv, x - inset_x,
|
||||||
|
y - inset_y, button);
|
||||||
|
inset->edit(bv, x - inset_x,
|
||||||
|
y - inset_y, button);
|
||||||
|
}
|
||||||
|
updateLocal(bv, CURSOR_PAR, false);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ public:
|
|||||||
///
|
///
|
||||||
bool updateInsetInInset(BufferView *, Inset *);
|
bool updateInsetInInset(BufferView *, Inset *);
|
||||||
///
|
///
|
||||||
void insetButtonRelease(BufferView *, int, int, int);
|
bool insetButtonRelease(BufferView *, int, int, int);
|
||||||
///
|
///
|
||||||
void insetButtonPress(BufferView *, int, int, int);
|
void insetButtonPress(BufferView *, int, int, int);
|
||||||
///
|
///
|
||||||
|
@ -252,15 +252,16 @@ void InsetFormulaBase::updateLocal(BufferView * bv, bool dirty)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetFormulaBase::insetButtonRelease(BufferView * bv,
|
bool InsetFormulaBase::insetButtonRelease(BufferView * bv,
|
||||||
int /*x*/, int /*y*/, int /*button*/)
|
int /*x*/, int /*y*/, int /*button*/)
|
||||||
{
|
{
|
||||||
if (!mathcursor)
|
if (!mathcursor)
|
||||||
return;
|
return false;
|
||||||
//lyxerr << "insetButtonRelease: " << x << " " << y << "\n";
|
//lyxerr << "insetButtonRelease: " << x << " " << y << "\n";
|
||||||
hideInsetCursor(bv);
|
hideInsetCursor(bv);
|
||||||
showInsetCursor(bv);
|
showInsetCursor(bv);
|
||||||
bv->updateInset(this, false);
|
bv->updateInset(this, false);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ public:
|
|||||||
///
|
///
|
||||||
virtual void insetButtonPress(BufferView *, int x, int y, int button);
|
virtual void insetButtonPress(BufferView *, int x, int y, int button);
|
||||||
///
|
///
|
||||||
virtual void insetButtonRelease(BufferView *, int x, int y, int button);
|
virtual bool insetButtonRelease(BufferView *, int x, int y, int button);
|
||||||
///
|
///
|
||||||
virtual void insetKeyPress(XKeyEvent * ev);
|
virtual void insetKeyPress(XKeyEvent * ev);
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user