mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-26 11:16:55 +00:00
removing update calls
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8076 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
49cbe77634
commit
faa37a30d4
@ -616,8 +616,6 @@ void BufferView::Pimpl::update()
|
|||||||
|
|
||||||
// check needed to survive LyX startup
|
// check needed to survive LyX startup
|
||||||
if (bv_->getLyXText()) {
|
if (bv_->getLyXText()) {
|
||||||
bv_->getLyXText()->redoCursor();
|
|
||||||
|
|
||||||
// update all 'visible' paragraphs
|
// update all 'visible' paragraphs
|
||||||
ParagraphList::iterator beg;
|
ParagraphList::iterator beg;
|
||||||
ParagraphList::iterator end;
|
ParagraphList::iterator end;
|
||||||
@ -625,7 +623,7 @@ void BufferView::Pimpl::update()
|
|||||||
top_y(), top_y() + workarea().workHeight(),
|
top_y(), top_y() + workarea().workHeight(),
|
||||||
beg, end);
|
beg, end);
|
||||||
bv_->text->redoParagraphs(beg, end);
|
bv_->text->redoParagraphs(beg, end);
|
||||||
|
bv_->getLyXText()->redoCursor();
|
||||||
updateScrollbar();
|
updateScrollbar();
|
||||||
}
|
}
|
||||||
screen().redraw(*bv_);
|
screen().redraw(*bv_);
|
||||||
@ -962,8 +960,10 @@ bool BufferView::Pimpl::workAreaDispatch(FuncRequest const & cmd)
|
|||||||
cmd2.x -= inset->x();
|
cmd2.x -= inset->x();
|
||||||
cmd2.y -= inset->y();
|
cmd2.y -= inset->y();
|
||||||
res = inset->dispatch(cmd2);
|
res = inset->dispatch(cmd2);
|
||||||
if (res.update())
|
if (res.update()) {
|
||||||
bv_->update();
|
bv_->update();
|
||||||
|
bv_->cursor().updatePos();
|
||||||
|
}
|
||||||
res.update(false);
|
res.update(false);
|
||||||
switch (res.val()) {
|
switch (res.val()) {
|
||||||
case FINISHED:
|
case FINISHED:
|
||||||
@ -973,6 +973,7 @@ bool BufferView::Pimpl::workAreaDispatch(FuncRequest const & cmd)
|
|||||||
theTempCursor.pop();
|
theTempCursor.pop();
|
||||||
bv_->cursor() = theTempCursor;
|
bv_->cursor() = theTempCursor;
|
||||||
bv_->cursor().innerText()->setCursorFromCoordinates(cmd.x, top_y() + cmd.y);
|
bv_->cursor().innerText()->setCursorFromCoordinates(cmd.x, top_y() + cmd.y);
|
||||||
|
bv_->cursor().updatePos();
|
||||||
bv_->fitCursor();
|
bv_->fitCursor();
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
@ -987,12 +988,12 @@ bool BufferView::Pimpl::workAreaDispatch(FuncRequest const & cmd)
|
|||||||
lyxerr << "dispatching " << cmd1
|
lyxerr << "dispatching " << cmd1
|
||||||
<< " to surrounding LyXText "
|
<< " to surrounding LyXText "
|
||||||
<< bv_->cursor().innerText() << endl;
|
<< bv_->cursor().innerText() << endl;
|
||||||
cursor_ = theTempCursor;
|
bv_->cursor() = theTempCursor;
|
||||||
theTempCursor.dispatch(cmd1);
|
theTempCursor.dispatch(cmd1);
|
||||||
|
bv_->update();
|
||||||
|
bv_->cursor().updatePos();
|
||||||
//return DispatchResult(true, true);
|
//return DispatchResult(true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bv_->update();
|
|
||||||
// see workAreaKeyPress
|
// see workAreaKeyPress
|
||||||
cursor_timeout.restart();
|
cursor_timeout.restart();
|
||||||
screen().showCursor(*bv_);
|
screen().showCursor(*bv_);
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2003-11-11 Alfredo Braunstein <abraunst@lyx.org>
|
||||||
|
|
||||||
|
* cursor.[Ch] (updatePos): new function for updating the y
|
||||||
|
position of the tip inset
|
||||||
|
* bufferview_funcs.C (put_selection_at):
|
||||||
|
* BufferView_pimpl.C (workAreaDispatch): rationalise update calls
|
||||||
|
|
||||||
2003-11-11 André Pönitz <poenitz@gmx.net>
|
2003-11-11 André Pönitz <poenitz@gmx.net>
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include "buffer.h"
|
#include "buffer.h"
|
||||||
#include "bufferparams.h"
|
#include "bufferparams.h"
|
||||||
#include "BufferView.h"
|
#include "BufferView.h"
|
||||||
|
#include "cursor.h"
|
||||||
#include "gettext.h"
|
#include "gettext.h"
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
#include "LColor.h"
|
#include "LColor.h"
|
||||||
@ -263,6 +264,20 @@ void replaceSelection(LyXText * text)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
if the fitCursor call refers to some point in never-explored-land, then we
|
||||||
|
don't have y information in insets there, then we cannot even do an update
|
||||||
|
to get it (because we need the y infomation for setting top_y first). So
|
||||||
|
this is solved in put_selection_at with:
|
||||||
|
|
||||||
|
- setting top_y to the y of the outerPar (that has good info)
|
||||||
|
- calling update
|
||||||
|
- calling cursor().updatePos()
|
||||||
|
- then call fitCursor()
|
||||||
|
|
||||||
|
Ab.
|
||||||
|
*/
|
||||||
|
|
||||||
void put_selection_at(BufferView * bv, PosIterator const & cur,
|
void put_selection_at(BufferView * bv, PosIterator const & cur,
|
||||||
int length, bool backwards)
|
int length, bool backwards)
|
||||||
{
|
{
|
||||||
@ -272,8 +287,12 @@ void put_selection_at(BufferView * bv, PosIterator const & cur,
|
|||||||
|
|
||||||
LyXText * text = par.text(bv);
|
LyXText * text = par.text(bv);
|
||||||
par.lockPath(bv);
|
par.lockPath(bv);
|
||||||
|
//hack for the chicken and egg problem
|
||||||
|
if (par.inset())
|
||||||
|
bv->top_y(par.outerPar()->y);
|
||||||
|
bv->update();
|
||||||
text->setCursor(cur.pit(), cur.pos());
|
text->setCursor(cur.pit(), cur.pos());
|
||||||
|
bv->cursor().updatePos();
|
||||||
|
|
||||||
if (length) {
|
if (length) {
|
||||||
text->setSelectionRange(length);
|
text->setSelectionRange(length);
|
||||||
@ -281,7 +300,7 @@ void put_selection_at(BufferView * bv, PosIterator const & cur,
|
|||||||
if (backwards)
|
if (backwards)
|
||||||
text->cursor = text->selection.start;
|
text->cursor = text->selection.start;
|
||||||
}
|
}
|
||||||
|
|
||||||
bv->fitCursor();
|
bv->fitCursor();
|
||||||
bv->update();
|
bv->update();
|
||||||
}
|
}
|
||||||
|
@ -113,7 +113,7 @@ void LCursor::push(UpdatableInset * inset)
|
|||||||
{
|
{
|
||||||
lyxerr << "LCursor::push() inset: " << inset << endl;
|
lyxerr << "LCursor::push() inset: " << inset << endl;
|
||||||
data_.push_back(CursorItem(inset));
|
data_.push_back(CursorItem(inset));
|
||||||
cached_y_ = bv_->top_y() + inset->y();
|
cached_y_ = bv_->top_y() + innerInset()->y();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -157,6 +157,13 @@ LyXText * LCursor::innerText() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void LCursor::updatePos()
|
||||||
|
{
|
||||||
|
if (!data_.empty())
|
||||||
|
cached_y_ = bv_->top_y() + innerInset()->y();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void LCursor::getPos(int & x, int & y) const
|
void LCursor::getPos(int & x, int & y) const
|
||||||
{
|
{
|
||||||
if (data_.empty()) {
|
if (data_.empty()) {
|
||||||
|
@ -75,6 +75,8 @@ public:
|
|||||||
LyXText * innerText() const;
|
LyXText * innerText() const;
|
||||||
/// returns x,y position
|
/// returns x,y position
|
||||||
void getPos(int & x, int & y) const;
|
void getPos(int & x, int & y) const;
|
||||||
|
/// cache the absolute coordinate from the top inset
|
||||||
|
void updatePos();
|
||||||
///
|
///
|
||||||
friend std::ostream & operator<<(std::ostream &, LCursor const &);
|
friend std::ostream & operator<<(std::ostream &, LCursor const &);
|
||||||
public:
|
public:
|
||||||
|
@ -51,9 +51,9 @@ public:
|
|||||||
DispatchResult(bool dis)
|
DispatchResult(bool dis)
|
||||||
: dispatched_(dis), update_(false), val_(NONE) {}
|
: dispatched_(dis), update_(false), val_(NONE) {}
|
||||||
DispatchResult(bool dis, bool update)
|
DispatchResult(bool dis, bool update)
|
||||||
: dispatched_(dis), update_(true), val_(NONE) {}
|
: dispatched_(dis), update_(update), val_(NONE) {}
|
||||||
DispatchResult(bool dis, dispatch_result_t val)
|
DispatchResult(bool dis, dispatch_result_t val)
|
||||||
: dispatched_(dis), update_(false), val_(val) {}
|
: dispatched_(dis), update_(true), val_(val) {}
|
||||||
dispatch_result_t val() const { return val_; }
|
dispatch_result_t val() const { return val_; }
|
||||||
void val(dispatch_result_t drt) {
|
void val(dispatch_result_t drt) {
|
||||||
val_ = drt;
|
val_ = drt;
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2003-11-11 Alfredo Braunstein <abraunst@lyx.org>
|
||||||
|
|
||||||
|
* insettext.C: remove all update calls
|
||||||
|
* insetcollapsable.C: remove all update calls
|
||||||
|
|
||||||
2003-11-11 Alfredo Braunstein <abraunst@libero.it>
|
2003-11-11 Alfredo Braunstein <abraunst@libero.it>
|
||||||
|
|
||||||
* insettext.C (updateLocal, insertInset, setFont): remove
|
* insettext.C (updateLocal, insertInset, setFont): remove
|
||||||
|
@ -205,8 +205,6 @@ DispatchResult InsetCollapsable::lfunMouseRelease(FuncRequest const & cmd)
|
|||||||
lyxerr << "InsetCollapsable::lfunMouseRelease 1" << endl;
|
lyxerr << "InsetCollapsable::lfunMouseRelease 1" << endl;
|
||||||
collapsed_ = false;
|
collapsed_ = false;
|
||||||
edit(bv, true);
|
edit(bv, true);
|
||||||
bv->buffer()->markDirty();
|
|
||||||
bv->update();
|
|
||||||
return DispatchResult(true, true);
|
return DispatchResult(true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,12 +212,9 @@ DispatchResult InsetCollapsable::lfunMouseRelease(FuncRequest const & cmd)
|
|||||||
if (!collapsed_) {
|
if (!collapsed_) {
|
||||||
collapsed_ = true;
|
collapsed_ = true;
|
||||||
lyxerr << "InsetCollapsable::lfunMouseRelease 2" << endl;
|
lyxerr << "InsetCollapsable::lfunMouseRelease 2" << endl;
|
||||||
bv->update();
|
|
||||||
return DispatchResult(false, FINISHED_RIGHT);
|
return DispatchResult(false, FINISHED_RIGHT);
|
||||||
}
|
}
|
||||||
collapsed_ = false;
|
collapsed_ = false;
|
||||||
bv->update();
|
|
||||||
bv->buffer()->markDirty();
|
|
||||||
lyxerr << "InsetCollapsable::lfunMouseRelease 3" << endl;
|
lyxerr << "InsetCollapsable::lfunMouseRelease 3" << endl;
|
||||||
} else if (!collapsed_ && cmd.y > button_dim.y2) {
|
} else if (!collapsed_ && cmd.y > button_dim.y2) {
|
||||||
lyxerr << "InsetCollapsable::lfunMouseRelease 4" << endl;
|
lyxerr << "InsetCollapsable::lfunMouseRelease 4" << endl;
|
||||||
@ -281,8 +276,6 @@ void InsetCollapsable::edit(BufferView * bv, int x, int y)
|
|||||||
collapsed_ = false;
|
collapsed_ = false;
|
||||||
// set this only here as it should be recollapsed only if
|
// set this only here as it should be recollapsed only if
|
||||||
// it was already collapsed!
|
// it was already collapsed!
|
||||||
bv->update();
|
|
||||||
bv->buffer()->markDirty();
|
|
||||||
inset.edit(bv, x, y);
|
inset.edit(bv, x, y);
|
||||||
} else {
|
} else {
|
||||||
if (y <= button_dim.y2)
|
if (y <= button_dim.y2)
|
||||||
@ -398,7 +391,6 @@ void InsetCollapsable::open(BufferView * bv)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
collapsed_ = false;
|
collapsed_ = false;
|
||||||
bv->update();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -408,7 +400,6 @@ void InsetCollapsable::close(BufferView * bv) const
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
collapsed_ = true;
|
collapsed_ = true;
|
||||||
bv->update();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -290,7 +290,6 @@ void InsetText::updateLocal(BufferView * bv, bool /*mark_dirty*/)
|
|||||||
text_.selection.cursor = text_.cursor;
|
text_.selection.cursor = text_.cursor;
|
||||||
|
|
||||||
// bv->fitCursor();
|
// bv->fitCursor();
|
||||||
bv->update();
|
|
||||||
bv->owner()->view_state_changed();
|
bv->owner()->view_state_changed();
|
||||||
bv->owner()->updateMenubar();
|
bv->owner()->updateMenubar();
|
||||||
bv->owner()->updateToolbar();
|
bv->owner()->updateToolbar();
|
||||||
|
@ -628,6 +628,6 @@ void getParsInRange(ParagraphList & pl,
|
|||||||
for (--beg; beg != begpar && beg->y > ystart; --beg)
|
for (--beg; beg != begpar && beg->y > ystart; --beg)
|
||||||
;
|
;
|
||||||
|
|
||||||
for (end = beg ; end != endpar && end->y < yend; ++end)
|
for (end = beg ; end != endpar && end->y <= yend; ++end)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user