X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FWorkArea.h;h=eb1bf551ff0a1855a6d8ef1124381d81ece880ac;hb=77866d9e88cbbd1f5f580a7daf15751352792e12;hp=b57f3e713dc218ae9d37844dabe291c94f8489ce;hpb=6bba977f42b0cde753ac2ffd26f3f9c6b32ba0b6;p=lyx.git diff --git a/src/WorkArea.h b/src/WorkArea.h index b57f3e713d..eb1bf551ff 100644 --- a/src/WorkArea.h +++ b/src/WorkArea.h @@ -5,7 +5,7 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ======================================================*/ @@ -18,16 +18,16 @@ #include +#include + #include FORMS_H_LOCATION #include "Painter.h" -class BufferView; - - +/// class WorkArea { public: /// - WorkArea(BufferView *, int xpos, int ypos, int width, int height); + WorkArea(int xpos, int ypos, int width, int height); /// ~WorkArea(); /// @@ -36,12 +36,16 @@ public: int workWidth() const { return work_area->w; } /// unsigned int width() const { return work_area->w + scrollbar->w; } + //unsigned int width() const { return backgroundbox->w + 15; } /// unsigned int height() const { return work_area->h; } + //unsigned int height() const { return backgroundbox->h; } /// int xpos() const { return work_area->x; } + //int xpos() const { return backgroundbox->x; } /// int ypos() const { return work_area->y; } + //int ypos() const { return backgroundbox->y; } /// void resize(int xpos, int ypos, int width, int height); /// @@ -78,7 +82,7 @@ public: return fl_get_scrollbar_value(scrollbar); } /// - std::pair getScrollbarBounds() const { + std::pair const getScrollbarBounds() const { std::pair p; fl_get_scrollbar_bounds(scrollbar, &p.first, &p.second); return p; @@ -91,16 +95,48 @@ public: int /*key*/, void * xev); /// xforms callback static void scroll_cb(FL_OBJECT *, long); + /// a selection exists + void haveSelection(bool) const; /// - string getClipboard() const; + string const getClipboard() const; /// void putClipboard(string const &) const; + // Signals /// - BufferView * owner() const { return owner_; } - + SigC::Signal0 workAreaExpose; + /// + SigC::Signal1 scrollCB; + /// + SigC::Signal2 workAreaKeyPress; + /// + SigC::Signal3 workAreaButtonPress; + /// + SigC::Signal3 workAreaButtonRelease; + /// + SigC::Signal3 workAreaMotionNotify; + /// + SigC::Signal0 workAreaFocus; + /// + SigC::Signal0 workAreaUnfocus; + /// + SigC::Signal0 workAreaEnter; + /// + SigC::Signal0 workAreaLeave; + /// + SigC::Signal3 workAreaDoubleClick; + /// + SigC::Signal3 workAreaTripleClick; + /// emitted when an X client has requested our selection + SigC::Signal0 selectionRequested; + /// emitted when another X client has stolen our selection + SigC::Signal0 selectionLost; + + /// handles SelectionRequest X Event, to fill the clipboard + void event_cb(XEvent * xev); private: /// void createPixmap(int, int); + /// FL_OBJECT * backgroundbox; /// @@ -108,12 +144,16 @@ private: /// FL_OBJECT * scrollbar; /// - BufferView * owner_; + mutable FL_OBJECT * splash_; + /// + mutable FL_OBJECT * splash_text_; /// The pixmap overlay on the workarea Pixmap workareapixmap; /// Painter painter_; /// FL_OBJECT * figinset_canvas; + /// if we call redraw with true needed for locking-insets + bool screen_cleared; }; #endif