]> 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 bf66462773640890e5176e84f1d133932728db86..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, int width, int height);
-       ///
-       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,28 +55,26 @@ 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();
+       void workAreaResize(int width, int height);
        ///
        void updateScrollbar();
        ///
+       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();
@@ -112,46 +96,36 @@ 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
+       /**
+       This is set externally by the workAreaResize method.
+       */
+       int width() const;
+       /// Height of the BufferView in Pixels
+       /**
+       This is set externally by the workAreaResize method.
+       */
+       int height() const;
+
+       ///
+       ViewMetricsInfo const & viewMetricsInfo();
+       ///
+       void updateMetrics(bool singlepar = false);
 
 private:
-       /// 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();
+       ///
+       int width_;
+       ///
+       int height_;
+       ///
+       ScrollbarParameters scrollbarParameters_;
+
        /// track changes for the document
        void trackChanges();
-       /// notify readonly status
-       void showReadonly(bool);
 
+       ///
+       ViewMetricsInfo metrics_info_;
 
        ///
        friend class BufferView;
@@ -166,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
@@ -191,9 +159,6 @@ private:
        ///
        void menuInsertLyXFile(std::string const & filen);
 
-       lyx::frontend::WorkArea * workArea_;
-       int workAreaId_;
-
        /// this is used to handle XSelection events in the right manner
        struct {
                CursorSlice cursor;
@@ -208,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