X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FDispatchResult.h;h=687e55c8fded3a02ec562a846b97e66d73269dc3;hb=952853eb2358472644e45f3fe3a6f3a68fac3556;hp=560fc0d1bc4952b16dbc667d614ee89b60cf7f24;hpb=f630be890494c849981e4fb52ea4740506e92bed;p=lyx.git diff --git a/src/DispatchResult.h b/src/DispatchResult.h index 560fc0d1bc..687e55c8fd 100644 --- a/src/DispatchResult.h +++ b/src/DispatchResult.h @@ -4,8 +4,8 @@ * 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 + * \author Peter Kümmel + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -13,30 +13,76 @@ #ifndef DISPATCH_RESULT_H #define DISPATCH_RESULT_H -#include "UpdateFlags.h" +#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; } + /// + bool needMessageUpdate() const { return need_msg_update_; } + /// Force the buffer to be updated + void forceMessageUpdate() { need_msg_update_ = true; } + /// Clear the flag indicating we need an update + void suppressMessageUpdate() { 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_; };