X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FDispatchResult.h;h=21dfa4f92bd018dcb44d45e3f9be3b71da36a50f;hb=f7be88ce4c2bbc10c4691e614a54fca427a2e8fb;hp=8cfdc3313d5a763593674f1043e689701be6ed8f;hpb=f1cba8ff64b369792fd49f5ddf90e8126ab476ac;p=lyx.git diff --git a/src/DispatchResult.h b/src/DispatchResult.h index 8cfdc3313d..21dfa4f92b 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. @@ -15,28 +15,74 @@ #include "update_flags.h" +#include "support/docstring.h" + 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) + {} + /// + DispatchResult(bool dispatched, Update::flags f) : + dispatched_(dispatched), + error_(false), + update_(f), + need_buf_update_(false), + need_msg_update_(true) + {} /// - DispatchResult(bool disp, Update::flags f) : dispatched_(disp), update_(f) {} - // bool dispatched() const { return dispatched_; } /// void dispatched(bool disp) { dispatched_ = disp; } /// - Update::flags update() const { return update_; } + bool error() const { return error_; } + /// + void setError(bool e) { error_ = e; } + /// + docstring message() { return message_; } + /// + void setMessage(docstring const & m) { message_ = m; } /// - void update(Update::flags f) { update_ = f; } + void setMessage(std::string const & m) { message_ = from_utf8(m); } + /// + Update::flags screenUpdate() const { return update_; } + /// + 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; } + 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_; + /// + bool need_msg_update_; };