]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView_pimpl.h
revert recent change to development/FORMAT (don't change history)
[lyx.git] / src / BufferView_pimpl.h
index c5c74862f8450ceeb45ffaefc980cda8cfb91f6f..14c4d52ba5740b6f6ccddcfd99264f071f1b951b 100644 (file)
 
 #include "BufferView.h"
 #include "cursor.h"
-#include "errorlist.h"
+#include "metricsinfo.h"
 
-#include "insets/inset.h"
-
-#include "frontends/key_state.h"
 #include "frontends/LyXKeySym.h"
-#include "frontends/Timeout.h"
 
 #include "support/types.h"
 
-#include <boost/scoped_ptr.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/signals/trackable.hpp>
-
 class Change;
-class LyXKeySym;
 class LyXView;
 
 class FuncRequest;
 class FuncStatus;
-class ViewMetricsInfo;
 
 namespace lyx {
 namespace frontend {
 class Gui;
-class WorkArea;
-class Clipboard;
-class Painter;
-class GuiCursor;
 }
 }
 
 
 ///
-class BufferView::Pimpl : public boost::signals::trackable {
+class BufferView::Pimpl {
 public:
        ///
-       Pimpl(BufferView & bv, LyXView * owner, lyx::frontend::WorkArea * workArea);
-       ///
-       lyx::frontend::Painter & painter() const;
+       Pimpl(BufferView & bv, LyXView * owner);
        ///
        void setBuffer(Buffer * buf);
+       /// return the first layout of the Buffer.
+       std::string firstLayout();
        ///
        void resizeCurrentBuffer();
        //
@@ -69,10 +55,8 @@ public:
        //
        bool multiParSel();
        ///
-       void update(Update::flags flags = Update::Force);
-       ///
-       void newFile(std::string const &, std::string const &, bool);
-       ///
+       bool update(Update::flags flags = Update::Force);
+       /// load a buffer into the view
        bool loadLyXFile(std::string const &, bool);
        ///
        void workAreaResize(int width, int height);
@@ -82,17 +66,15 @@ public:
        ScrollbarParameters const & scrollbarParameters() const;
        ///
        void scrollDocView(int value);
+       ///
+       void setCursorFromScrollbar();
        /// Wheel mouse scroll, move by multiples of text->defaultRowHeight().
        void scroll(int lines);
        ///
-       void workAreaKeyPress(LyXKeySymPtr key, key_modifier::state state);
-       ///
        void selectionRequested();
        ///
        void selectionLost();
        ///
-       void cursorToggle();
-       ///
        bool available() const;
        /// get the change at the cursor position
        Change const getCurrentChange();
@@ -114,17 +96,6 @@ public:
        FuncStatus getStatus(FuncRequest const & cmd);
        /// a function should be executed
        bool dispatch(FuncRequest const & ev);
-       /// Flag: do a full redraw of inside text of inset
-       bool repaintAll() { return refresh_inside_; }
-       ///
-       void repaintAll(bool r) {refresh_inside_ = r; }
-
-       /// the frontend
-       lyx::frontend::Gui & gui() const;
-       /// our workarea
-       lyx::frontend::WorkArea & workarea() const;
-       /// the clipboard
-       lyx::frontend::Clipboard & clipboard() const;
 
        /// Width and height of the BufferView in Pixels
        /**
@@ -137,6 +108,11 @@ public:
        */
        int height() const;
 
+       ///
+       ViewMetricsInfo const & viewMetricsInfo();
+       ///
+       void updateMetrics(bool singlepar = false);
+
 private:
        ///
        int width_;
@@ -145,33 +121,11 @@ private:
        ///
        ScrollbarParameters scrollbarParameters_;
 
-       /// An error list (replaces the error insets)
-       ErrorList errorlist_;
-       /// add an error to the list
-       void addError(ErrorItem const &);
-       /// buffer errors signal connection
-       boost::signals::connection errorConnection_;
-       /// buffer messages signal connection
-       boost::signals::connection messageConnection_;
-       /// buffer busy status signal connection
-       boost::signals::connection busyConnection_;
-       /// buffer title changed signal connection
-       boost::signals::connection titleConnection_;
-       /// buffer reset timers signal connection
-       boost::signals::connection timerConnection_;
-       /// buffer readonly status changed signal connection
-       boost::signals::connection readonlyConnection_;
-       /// buffer closing signal connection
-       boost::signals::connection closingConnection_;
-       /// connect to signals in the given buffer
-       void connectBuffer(Buffer & buf);
-       /// disconnect from signals in the given buffer
-       void disconnectBuffer();
        /// track changes for the document
        void trackChanges();
-       /// notify readonly status
-       void showReadonly(bool);
 
+       ///
+       ViewMetricsInfo metrics_info_;
 
        ///
        friend class BufferView;
@@ -186,12 +140,6 @@ private:
        /// Estimated average par height for scrollbar
        int wh_;
        ///
-       Timeout cursor_timeout;
-       ///
-       void stuffClipboard(std::string const &) const;
-       ///
-       bool using_xterm_cursor;
-       ///
        class Position {
        public:
                /// Filename
@@ -211,8 +159,6 @@ private:
        ///
        void menuInsertLyXFile(std::string const & filen);
 
-       lyx::frontend::WorkArea * workArea_;
-
        /// this is used to handle XSelection events in the right manner
        struct {
                CursorSlice cursor;
@@ -227,10 +173,6 @@ private:
        lyx::pit_type anchor_ref_;
        ///
        int offset_ref_;
-       ///
-       ViewMetricsInfo metrics(bool singlepar = false);
-       /// Working variable indicating a full screen refresh
-       mutable bool refresh_inside_;
 
 };
 #endif // BUFFERVIEW_PIMPL_H