X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FWorkArea.h;h=8e459ca37524f3aa11240b1947f81ca1d4d00591;hb=161f7b7f62cb33dab681add6c5b5b68a887e2ea1;hp=9ae7c497a8177cb8806fe579029f1f60cd0c6120;hpb=721497d5e5f43bbfe3d2e6a491388c9c16059df8;p=lyx.git diff --git a/src/frontends/WorkArea.h b/src/frontends/WorkArea.h index 9ae7c497a8..8e459ca375 100644 --- a/src/frontends/WorkArea.h +++ b/src/frontends/WorkArea.h @@ -14,18 +14,15 @@ #ifndef BASE_WORKAREA_H #define BASE_WORKAREA_H -#include "frontends/GuiCursor.h" +#include "frontends/KeyModifier.h" -#include "frontends/key_state.h" -#include "frontends/LyXKeySym.h" +namespace lyx { class BufferView; +class KeySymbol; -namespace lyx { namespace frontend { -class Painter; - /** * The work area class represents the widget that provides the * view onto a document. It is owned by the BufferView, and @@ -33,64 +30,21 @@ class Painter; * It works in concert with the BaseScreen class to update the * widget view of a document. */ -class WorkArea { +class WorkArea +{ public: - WorkArea(BufferView * buffer_view = 0); - - virtual ~WorkArea() {} - - void setBufferView(BufferView * buffer_view); - - /// - BufferView & bufferView(); /// - BufferView const & bufferView() const; - - /// return the painter object for this work area - virtual Painter & getPainter() = 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 ~WorkArea() {} /// redraw the screen, without using existing pixmap - virtual void redraw(); - - /// - void processKeySym(LyXKeySymPtr key, key_modifier::state state); - - /// grey out (no buffer) - void greyOut(); - - /// paint the cursor and store the background - virtual void showCursor(int x, int y, int h, CursorShape shape) = 0; - - /// hide the cursor - virtual void removeCursor() = 0; + virtual void redraw(bool update_metrics) = 0; -protected: - /// cause the display of the given area of the work area - virtual void expose(int x, int y, int w, int h) = 0; + /// close this work area. + /// Slot for Buffer::closing signal. + virtual void close() = 0; - /// - BufferView * buffer_view_; - -private: - /// - void checkAndGreyOut(); - - /// - bool greyed_out_; + /// Update window titles of all users. + virtual void updateWindowTitle() = 0; }; } // namespace frontend