X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FWorkArea.h;h=8e459ca37524f3aa11240b1947f81ca1d4d00591;hb=2b0969c31cf1fcb524f39f664250f9e4794e2ca7;hp=21b8e8425284b9fd8385e50bde54262e4c9232a0;hpb=ace550953adea41ba500de04af6cc19444f29570;p=lyx.git diff --git a/src/frontends/WorkArea.h b/src/frontends/WorkArea.h index 21b8e84252..8e459ca375 100644 --- a/src/frontends/WorkArea.h +++ b/src/frontends/WorkArea.h @@ -1,86 +1,53 @@ // -*- 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 + * \author Abdelrazak Younes + * + * Full author contact details are available in file CREDITS. */ -#ifndef WORKAREA_H -#define WORKAREA_H +#ifndef BASE_WORKAREA_H +#define BASE_WORKAREA_H -#ifdef __GNUG__ -#pragma interface -#endif +#include "frontends/KeyModifier.h" -#include "frontends/Painter.h" -#include "frontends/mouse_state.h" -#include "frontends/key_state.h" -#include "frontends/LyXKeySym.h" +namespace lyx { -#include -#include -#include -#include +class BufferView; +class KeySymbol; -#include +namespace frontend { -/// -class WorkArea { +/** + * 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 BaseScreen class to update the + * widget view of a document. + */ +class WorkArea +{ public: - /// - WorkArea() {} /// virtual ~WorkArea() {} - /// - virtual Painter & getPainter() = 0; - /// - virtual int workWidth() const = 0; - /// - virtual int workHeight() 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 void greyOut() const = 0; - /// - virtual void setScrollbarParams(int height, int pos, int line_height) = 0; - - /// a selection exists - virtual void haveSelection(bool) const = 0; - /// - virtual string const getClipboard() const = 0; - /// - virtual void putClipboard(string const &) const = 0; - // Signals - /// - boost::signal0 workAreaExpose; - /// - boost::signal1 scrollDocView; - /// - boost::signal2 workAreaKeyPress; - /// - boost::signal3 workAreaButtonPress; - /// - boost::signal3 workAreaButtonRelease; - /// - boost::signal3 workAreaMotionNotify; - /// - boost::signal3 workAreaDoubleClick; - /// - boost::signal3 workAreaTripleClick; - /// emitted when an X client has requested our selection - boost::signal0 selectionRequested; - /// emitted when another X client has stolen our selection - boost::signal0 selectionLost; + + /// redraw the screen, without using existing pixmap + virtual void redraw(bool update_metrics) = 0; + + /// close this work area. + /// Slot for Buffer::closing signal. + virtual void close() = 0; + + /// Update window titles of all users. + virtual void updateWindowTitle() = 0; }; - -#endif // WORKAREA_H + +} // namespace frontend +} // namespace lyx + +#endif // BASE_WORKAREA_H