X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FDispatchResult.h;h=4b9cbfe75757320d45ec854aea669bfa89c4e500;hb=0984e113171297e402c88ce048e9ccf1fb3d3619;hp=5b209ff8f74923d1f87d81d7d81915c19e04e66d;hpb=4daf7b5dfc3ee2372124a75437d17fe9cd5c5f08;p=lyx.git diff --git a/src/DispatchResult.h b/src/DispatchResult.h index 5b209ff8f7..4b9cbfe757 100644 --- a/src/DispatchResult.h +++ b/src/DispatchResult.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author none + * \author Peter Kümmel * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. @@ -19,13 +19,28 @@ namespace lyx { -/// Maybe this can go entirely -class DispatchResult { + +class DispatchResult +{ public: /// - DispatchResult() : dispatched_(false), update_(Update::None) {} + DispatchResult() : + dispatched_(false), + error_(false), + update_(Update::None), + need_buf_update_(false), + need_msg_update_(true), + need_changes_update_(false) + {} /// - DispatchResult(bool disp, Update::flags f) : dispatched_(disp), update_(f) {} + DispatchResult(bool dispatched, Update::flags f) : + dispatched_(dispatched), + error_(false), + update_(f), + need_buf_update_(false), + need_msg_update_(true), + need_changes_update_(false) + {} /// bool dispatched() const { return dispatched_; } /// @@ -37,11 +52,36 @@ public: /// docstring message() { return message_; } /// - void setMessage(docstring m) { message_ = m; } + void setMessage(docstring const & m) { message_ = m; } + /// + void setMessage(std::string const & m) { message_ = from_utf8(m); } /// - Update::flags update() const { return update_; } + Update::flags screenUpdate() const { return update_; } /// - void update(Update::flags f) { update_ = f; } + void screenUpdate(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; } + + /// Do we need to display a message in the status bar? + bool needMessageUpdate() const { return need_msg_update_; } + /// Force the message to be displayed + void forceMessageUpdate() { need_msg_update_ = true; } + /// Clear the flag indicating we need to display the message + void clearMessageUpdate() { need_msg_update_ = false; } + + /// Do we need to update the change tracking presence flag? + bool needChangesUpdate() { return need_changes_update_; } + /// Force the change tracking presence flag to be updated + void forceChangesUpdate() { need_changes_update_ = true; } + /// Clear the flag indicating that we need to update the change tracking + /// presence flag + void clearChangesUpdate() { need_changes_update_ = false; } + private: /// was the event fully dispatched? bool dispatched_; @@ -51,6 +91,12 @@ private: Update::flags update_; /// docstring message_; + /// + bool need_buf_update_; + /// + bool need_msg_update_; + /// + bool need_changes_update_; };