mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 18:08:10 +00:00
Some more cursor/redraw problems fixe (hopefully the last ones ;)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1194 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
70b7660933
commit
a6b2d503fb
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
2000-11-03 Juergen Vigna <jug@sad.it>
|
||||||
|
|
||||||
|
* src/insets/insettabular.h: added fixed number to update codes so
|
||||||
|
that update is only in one direction.
|
||||||
|
|
||||||
|
* src/insets/insettabular.C (UpdateLocal): modified a bit don't think
|
||||||
|
it matters.
|
||||||
|
|
||||||
|
* src/insets/insettext.C (InsetButtonPress): set the_locking_inset
|
||||||
|
before call to edit because of redraw.
|
||||||
|
|
||||||
|
* src/insets/insetcollapsable.C (draw): fixed clearing too much.
|
||||||
|
|
||||||
2000-11-03 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
2000-11-03 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
||||||
|
|
||||||
* lib/ui/default.ui: Populate "edit_float" menu
|
* lib/ui/default.ui: Populate "edit_float" menu
|
||||||
|
@ -187,6 +187,8 @@ void InsetCollapsable::draw(BufferView * bv, LyXFont const & f,
|
|||||||
h = pain.paperHeight();
|
h = pain.paperHeight();
|
||||||
if ((top_x + w) > pain.paperWidth())
|
if ((top_x + w) > pain.paperWidth())
|
||||||
w = pain.paperWidth();
|
w = pain.paperWidth();
|
||||||
|
if (baseline < 0)
|
||||||
|
h += (baseline - ascent(bv, f));
|
||||||
pain.fillRectangle(tx, ty - 1, w, h + 2);
|
pain.fillRectangle(tx, ty - 1, w, h + 2);
|
||||||
cleared = true;
|
cleared = true;
|
||||||
}
|
}
|
||||||
|
@ -444,7 +444,7 @@ void InsetTabular::Edit(BufferView * bv, int x, int y, unsigned int button)
|
|||||||
if (InsetHit(bv, x, y)) {
|
if (InsetHit(bv, x, y)) {
|
||||||
ActivateCellInset(bv, x, y, button);
|
ActivateCellInset(bv, x, y, button);
|
||||||
}
|
}
|
||||||
UpdateLocal(bv, NONE, false);
|
// UpdateLocal(bv, NONE, false);
|
||||||
// bv->getOwner()->getPopups().updateFormTabular();
|
// bv->getOwner()->getPopups().updateFormTabular();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -474,11 +474,14 @@ void InsetTabular::InsetUnlock(BufferView * bv)
|
|||||||
void InsetTabular::UpdateLocal(BufferView * bv, UpdateCodes what,
|
void InsetTabular::UpdateLocal(BufferView * bv, UpdateCodes what,
|
||||||
bool mark_dirty) const
|
bool mark_dirty) const
|
||||||
{
|
{
|
||||||
need_update = what;
|
if (need_update < what) // only set this if it has greater update
|
||||||
|
need_update = what;
|
||||||
// Dirty Cast! (Lgb)
|
// Dirty Cast! (Lgb)
|
||||||
bv->updateInset(const_cast<InsetTabular *>(this), mark_dirty);
|
if (need_update != NONE) {
|
||||||
if (locked && (what != NONE))
|
bv->updateInset(const_cast<InsetTabular *>(this), mark_dirty);
|
||||||
resetPos(bv);
|
if (locked) // && (what != NONE))
|
||||||
|
resetPos(bv);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,11 +70,11 @@ public:
|
|||||||
///
|
///
|
||||||
enum UpdateCodes {
|
enum UpdateCodes {
|
||||||
NONE = 0,
|
NONE = 0,
|
||||||
INIT,
|
CURSOR = 1,
|
||||||
FULL,
|
CELL = 2,
|
||||||
CELL,
|
SELECTION = 3,
|
||||||
CURSOR,
|
FULL = 4,
|
||||||
SELECTION
|
INIT = 5
|
||||||
};
|
};
|
||||||
///
|
///
|
||||||
InsetTabular(Buffer const &, int rows = 1, int columns = 1);
|
InsetTabular(Buffer const &, int rows = 1, int columns = 1);
|
||||||
|
@ -608,6 +608,7 @@ void InsetText::InsetButtonPress(BufferView * bv, int x, int y, int button)
|
|||||||
the_locking_inset->InsetUnlock(bv);
|
the_locking_inset->InsetUnlock(bv);
|
||||||
inset_x = cx(bv) - top_x + drawTextXOffset;
|
inset_x = cx(bv) - top_x + drawTextXOffset;
|
||||||
inset_y = cy(bv) + drawTextYOffset;
|
inset_y = cy(bv) + drawTextYOffset;
|
||||||
|
the_locking_inset = static_cast<UpdatableInset*>(inset);
|
||||||
inset->InsetButtonPress(bv, x - inset_x, y - inset_y, button);
|
inset->InsetButtonPress(bv, x - inset_x, y - inset_y, button);
|
||||||
inset->Edit(bv, x - inset_x, y - inset_y, button);
|
inset->Edit(bv, x - inset_x, y - inset_y, button);
|
||||||
if (the_locking_inset) {
|
if (the_locking_inset) {
|
||||||
@ -626,6 +627,7 @@ void InsetText::InsetButtonPress(BufferView * bv, int x, int y, int button)
|
|||||||
inset_y = cy(bv) + drawTextYOffset;
|
inset_y = cy(bv) + drawTextYOffset;
|
||||||
inset_pos = cpos(bv);
|
inset_pos = cpos(bv);
|
||||||
inset_par = cpar(bv);
|
inset_par = cpar(bv);
|
||||||
|
the_locking_inset = uinset;
|
||||||
uinset->InsetButtonPress(bv, x - inset_x, y - inset_y, button);
|
uinset->InsetButtonPress(bv, x - inset_x, y - inset_y, button);
|
||||||
uinset->Edit(bv, x - inset_x, y - inset_y, 0);
|
uinset->Edit(bv, x - inset_x, y - inset_y, 0);
|
||||||
// TEXT(bv)->ClearSelection();
|
// TEXT(bv)->ClearSelection();
|
||||||
|
Loading…
Reference in New Issue
Block a user