]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/WorkArea.h
Next camel
[lyx.git] / src / frontends / WorkArea.h
index e8508d06f006279bc905c36dd51eaa44e86bcec5..dcf5fc40ba45bb4af36bcfe16ef4af94e310f5f1 100644 (file)
@@ -15,6 +15,7 @@
 #define BASE_WORKAREA_H
 
 #include "frontends/KeyModifier.h"
+#include "frontends/LyXView.h"
 
 namespace lyx {
 
@@ -23,9 +24,6 @@ class KeySymbol;
 
 namespace frontend {
 
-class LyXView;
-class Painter;
-
 /**
  * The work area class represents the widget that provides the
  * view onto a document. It is owned by the BufferView, and
@@ -37,51 +35,21 @@ class WorkArea
 {
 public:
        ///
-       WorkArea() {}
-
-       virtual ~WorkArea();
-
-       ///
-       virtual void setLyXView(LyXView & lv) = 0;
-
+       WorkArea() : lyx_view_(0) {}
        ///
-       virtual BufferView & bufferView() = 0;
-       ///
-       virtual BufferView const & bufferView() const = 0;
-
-       /// return true if has the keyboard input focus.
-       virtual bool hasFocus() const = 0;
-
-       /// return true if has this WorkArea is visible.
-       virtual bool isVisible() const = 0;
-
-       /// return the width of the work area in pixels
-       virtual int width() const = 0;
-
-       /// return the height of the work area in pixels
-       virtual int height() const = 0;
-
-       /**
-        * Update the scrollbar.
-        * @param height the total document height in pixels
-        * @param pos the current position in the document, in pixels
-        * @param line_height the line-scroll amount, in pixels
-        */
-       virtual void setScrollbarParams(int height, int pos, int line_height) = 0;
-
-       ///
-       virtual void scheduleRedraw() = 0;
+       virtual ~WorkArea() {}
 
        /// redraw the screen, without using existing pixmap
        virtual void redraw() = 0;
-       ///
-       virtual void stopBlinkingCursor() = 0;
-       virtual void startBlinkingCursor() = 0;
 
        /// Process Key pressed event.
        /// This needs to be public because it is accessed externally by GuiView.
        virtual void processKeySym(KeySymbol const & key, KeyModifier mod) = 0;
 
+       /// Return the LyXView this workArea belongs to
+       LyXView const & view() const { return *lyx_view_; }
+       LyXView & view() { return *lyx_view_; }
+
        /// close this work area.
        /// Slot for Buffer::closing signal.
        virtual void close() = 0;
@@ -90,6 +58,10 @@ public:
 
        /// Update window titles of all users.
        virtual void updateWindowTitle() = 0;
+
+private:
+
+       LyXView * lyx_view_;
 };
 
 } // namespace frontend