X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FWorkArea.h;h=cb54cff3c442dee817d9eebb588554ad08f4436e;hb=c5058bffd88b5eb000ffd11d5729fbec0f34fb0f;hp=091318b0d6a45a3b6a79c3e871e1a3b753df6060;hpb=f1c24d100985c6df2eb5ec390017b69c78fe49c7;p=lyx.git diff --git a/src/frontends/WorkArea.h b/src/frontends/WorkArea.h index 091318b0d6..cb54cff3c4 100644 --- a/src/frontends/WorkArea.h +++ b/src/frontends/WorkArea.h @@ -1,24 +1,21 @@ // -*- C++ -*- /** * \file WorkArea.h - * Copyright 1995-2002 the LyX Team - * Read the file COPYING + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * * \author unknown - * \author John Levon + * \author John Levon + * + * Full author contact details are available in file CREDITS */ #ifndef WORKAREA_H #define WORKAREA_H -#ifdef __GNUG__ -#pragma interface -#endif - -#include "frontends/Painter.h" -#include "frontends/mouse_state.h" #include "frontends/key_state.h" #include "frontends/LyXKeySym.h" +#include "funcrequest.h" #include #include @@ -27,72 +24,58 @@ #include -/// +class Painter; + +/** + * The work area class represents the widget that provides the + * view onto a document. It is owned by the BufferView, and + * is responsible for handing events back to its owning BufferView. + * It works in concert with the LyXScreen class to update the + * widget view of a document. + */ class WorkArea { public: - /// + WorkArea() {} - /// + virtual ~WorkArea() {} - /// + + /// return the painter object for this work area virtual Painter & getPainter() = 0; - /// + + /// return the width of the work area in pixels virtual int workWidth() const = 0; - /// + /// return the height of the work area in pixels virtual int workHeight() const = 0; - /// - virtual unsigned int width() const = 0; - - /// - virtual int xpos() const = 0; - /// - virtual int ypos() const = 0; - /// - virtual void resize(int xpos, int ypos, int width, int height) = 0; - /// - virtual void redraw() const = 0; - /// - virtual void setFocus() const = 0; - /// - virtual bool hasFocus() const = 0; - /// - virtual bool visible() const = 0; - /// - virtual void greyOut() const = 0; - /// - virtual void setScrollbarParams(int height, int pos, int line_height) = 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; + + // FIXME: this is an odd place to have it, but xforms needs it here ... /// a selection exists virtual void haveSelection(bool) const = 0; - /// + /// get the X clipboard contents virtual string const getClipboard() const = 0; - /// + /// fill the clipboard virtual void putClipboard(string const &) const = 0; - // Signals - /// - boost::signal0 workAreaExpose; - /// + + /// work area dimensions have changed + boost::signal0 workAreaResize; + /// the scrollbar has changed boost::signal1 scrollDocView; - /// + /// a key combination has been pressed boost::signal2 workAreaKeyPress; - /// - boost::signal3 workAreaButtonPress; - /// - boost::signal3 workAreaButtonRelease; - /// - boost::signal3 workAreaMotionNotify; - /// - boost::signal0 workAreaFocus; - /// - boost::signal0 workAreaUnfocus; - /// - boost::signal3 workAreaDoubleClick; - /// - boost::signal3 workAreaTripleClick; + /// some mouse event + boost::signal1 dispatch; /// emitted when an X client has requested our selection boost::signal0 selectionRequested; /// emitted when another X client has stolen our selection boost::signal0 selectionLost; }; - + #endif // WORKAREA_H