]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView.h
some refactoring
[lyx.git] / src / BufferView.h
index 8899edd1aa36761f0b7616f5e8f4a974e9c6b5f2..192742b8c42ebfd7ae74301fe1a3d7cb37431d9f 100644 (file)
@@ -23,9 +23,7 @@
 
 #include "support/types.h"
 
-#include <boost/tuple/tuple.hpp>
 #include <boost/noncopyable.hpp>
-#include <boost/signal.hpp>
 
 #include <utility>
 #include <string>
@@ -36,6 +34,7 @@ namespace lyx {
 namespace support { class FileName; }
 
 namespace frontend { class Painter; }
+namespace frontend { class GuiBufferViewDelegate; }
 
 class Buffer;
 class Change;
@@ -89,7 +88,7 @@ class BufferView : boost::noncopyable {
 public:
        ///
        BufferView(Buffer & buffer);
-
+       ///
        ~BufferView();
 
        /// return the buffer being viewed.
@@ -171,8 +170,7 @@ public:
 
        /// dispatch method helper for \c WorkArea
        /// \sa WorkArea
-       /// \retval true if a redraw is needed
-       bool workAreaDispatch(FuncRequest const & ev);
+       void mouseEventDispatch(FuncRequest const & ev);
 
        /// access to anchor.
        pit_type anchor_ref() const;
@@ -234,25 +232,33 @@ public:
        ///
        Intl const & getIntl() const { return *intl_.get(); }
 
+       //
+       // Messages to the GUI
+       //
        /// This signal is emitted when some message shows up.
-       boost::signal<void(docstring)> message;
+       void message(docstring const & msg);
 
        /// This signal is emitted when some dialog needs to be shown.
-       boost::signal<void(std::string name)> showDialog;
+       void showDialog(std::string const & name);
 
        /// This signal is emitted when some dialog needs to be shown with
        /// some data.
-       boost::signal<void(std::string name,
-               std::string data)> showDialogWithData;
+       void showDialogWithData(std::string const & name, std::string const & data);
 
        /// This signal is emitted when some inset dialogs needs to be shown.
-       boost::signal<void(std::string name, std::string data,
-               Inset * inset)> showInsetDialog;
+       void showInsetDialog(std::string const & name, std::string const & data,
+               Inset * inset);
 
        /// This signal is emitted when some dialogs needs to be updated.
-       boost::signal<void(std::string name,
-               std::string data)> updateDialog;
+       void updateDialog(std::string const & name, std::string const & data);
+
+       ///
+       void setGuiDelegate(frontend::GuiBufferViewDelegate *);
 
+       ///
+       docstring contentsOfPlaintextFile(std::string const & f, bool asParagraph);
+       // Insert plain text file (if filename is empty, prompt for one)
+       void insertPlaintextFile(std::string const & fileName, bool asParagraph);
 private:
        // the position relative to (0, baseline) of outermost paragraph
        Point coordOffset(DocIterator const & dit, bool boundary) const;
@@ -317,6 +323,9 @@ private:
        /// A map from a Text to the associated text metrics
        typedef std::map<Text const *, TextMetrics> TextMetricsCache;
        mutable TextMetricsCache text_metrics_;
+
+       // Whom to notify. Not owned, so don't delete.
+       frontend::GuiBufferViewDelegate * gui_;
 };
 
 /// some space for drawing the 'nested' markers (in pixel)