mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-30 05:12:40 +00:00
5577e877bb
DispatchResult to store a flag that tells us whether we need a buffer update or not. So: If you find a missing one, go to an appropriate place in the dispatch and call cur.forceBufferUpdate() or, if you don't have a cursor but do have a DispatchResult, call dr.forceBufferUpdate(). There is one remaining call I could not move, in TextMetrics::redoParagraph. But this looks like an emergency call when the macro context has not been set. There are also a couple calls that are connected with buffer creation that I commented out, since the same call is done again almost immediately. But I'm not positive about those. Now the nice thing would be to do the same for updateMacros(). git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34826 a592a061-630c-0410-9148-cb99ea01b6c8
70 lines
1.6 KiB
C++
70 lines
1.6 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file DispatchResult.h
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author none
|
|
* \author Lars Gullik Bjønnes
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#ifndef DISPATCH_RESULT_H
|
|
#define DISPATCH_RESULT_H
|
|
|
|
#include "update_flags.h"
|
|
|
|
#include "support/docstring.h"
|
|
|
|
namespace lyx {
|
|
|
|
/// Maybe this can go entirely
|
|
class DispatchResult {
|
|
public:
|
|
///
|
|
DispatchResult() : dispatched_(false), error_(false),
|
|
update_(Update::None), need_buf_update_(false) {}
|
|
///
|
|
DispatchResult(bool disp, Update::flags f)
|
|
: dispatched_(disp), error_(false), update_(f) {}
|
|
///
|
|
bool dispatched() const { return dispatched_; }
|
|
///
|
|
void dispatched(bool disp) { dispatched_ = disp; }
|
|
///
|
|
bool error() const { return error_; }
|
|
///
|
|
void setError(bool e) { error_ = e; }
|
|
///
|
|
docstring message() { return message_; }
|
|
///
|
|
void setMessage(docstring m) { message_ = m; }
|
|
///
|
|
Update::flags update() const { return update_; }
|
|
///
|
|
void update(Update::flags f) { update_ = f; }
|
|
/// Does the buffer need updating?
|
|
bool needBufferUpdate() const { return need_buf_update_; }
|
|
/// Force the buffer to be updated
|
|
void forceBufferUpdate() { need_buf_update_ = true; }
|
|
/// Clear the flag indicating we need an update
|
|
void clearBufferUpdate() { need_buf_update_ = false; }
|
|
private:
|
|
/// was the event fully dispatched?
|
|
bool dispatched_;
|
|
/// was there an error?
|
|
bool error_;
|
|
/// do we need to redraw the screen afterwards?
|
|
Update::flags update_;
|
|
///
|
|
docstring message_;
|
|
///
|
|
bool need_buf_update_;
|
|
};
|
|
|
|
|
|
} // namespace lyx
|
|
|
|
#endif // DISPATCH_RESULT_H
|