* BufferView.h: new message boost signal.
* BufferView_pimpl.C: replace Buffer::message() with BufferView::message() signal emission.
* lyxfind.C: ditto.
* WorkArea:
- displayMessage(): new private method that calls LyXView::message().
- messageConnection_: new signal connection.
- setBufferView(): handle BufferView connection/disconnection.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14831
a592a061-630c-0410-9148-
cb99ea01b6c8
#include "support/types.h"
#include <boost/utility.hpp>
+#include <boost/signal.hpp>
#include <string>
///
void updateMetrics(bool singlepar = false);
+ /// This signal is emitted when some message shows up.
+ boost::signal<void(std::string)> message;
+
private:
///
class Pimpl;
cursor_.pos());
if (i > 0)
// emit message signal.
- buffer_->message(bformat(_("Saved bookmark %1$d"), i));
+ bv_->message(bformat(_("Saved bookmark %1$d"), i));
}
if (i > 0)
// emit message signal.
- buffer_->message(bformat(_("Moved to bookmark %1$d"), i));
+ bv_->message(bformat(_("Moved to bookmark %1$d"), i));
}
// check selected filename
if (filename.empty()) {
// emit message signal.
- buffer_->message(_("Canceled."));
+ bv_->message(_("Canceled."));
return;
}
}
string const disp_fn = makeDisplayPath(filename);
// emit message signal.
- buffer_->message(bformat(_("Inserting document %1$s..."), disp_fn));
+ bv_->message(bformat(_("Inserting document %1$s..."), disp_fn));
string res;
Buffer buf("", false);
res = _("Could not insert document %1$s");
// emit message signal.
- buffer_->message(bformat(res, disp_fn));
+ bv_->message(bformat(res, disp_fn));
buffer_->errors("Parse");
resizeCurrentBuffer();
}
#include <boost/utility.hpp>
#include <boost/bind.hpp>
#include <boost/current_function.hpp>
-#include <boost/signals/trackable.hpp>
using lyx::support::libFileSearch;
using lyx::support::ForkedcallsController;
void WorkArea::setBufferView(BufferView * buffer_view)
{
+ if (buffer_view_)
+ message_connection_.disconnect();
+
hideCursor();
buffer_view_ = buffer_view;
toggleCursor();
+
+ message_connection_ = buffer_view_->message.connect(
+ boost::bind(&WorkArea::displayMessage, this, _1));
}
cursor_timeout_.restart();
}
+
+void WorkArea::displayMessage(std::string const & message)
+{
+ lyx_view_.message(message);
+}
+
} // namespace frontend
} // namespace lyx
#include "frontends/LyXKeySym.h"
#include "frontends/Timeout.h"
+#include <boost/signals/trackable.hpp>
class BufferView;
class FuncRequest;
* It works in concert with the BaseScreen class to update the
* widget view of a document.
*/
-class WorkArea {
+class WorkArea : public boost::signals::trackable {
public:
WorkArea(LyXView & lyx_view);
void updateScrollbar();
///
void checkAndGreyOut();
+ ///
+ void displayMessage(std::string const &);
+ /// buffer messages signal connection
+ boost::signals::connection message_connection_;
///
bool greyed_out_;
if (!found)
// emit message signal.
- bv->buffer()->message(_("String not found!"));
+ bv->message(_("String not found!"));
}