]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView_pimpl.h
More fixes to insettabular/text (and some missing features added).
[lyx.git] / src / BufferView_pimpl.h
index 60ae84c7438c40577e48e245fc3e296bb8c6c92a..7eaef53b6d3cffeb37ef0492aaed15112641377c 100644 (file)
@@ -6,6 +6,7 @@
 #include "BufferView.h"
 #include "UpdateInset.h"
 #include "BackStack.h"
+#include "Timeout.h"
 
 #ifdef __GNUG__
 #pragma interface
@@ -15,7 +16,13 @@ class LyXView;
 class WorkArea;
 class LyXScreen;
 
-struct BufferView::Pimpl {
+#ifdef SIGC_CXX_NAMESPACES
+using SigC::Object;
+#endif
+
+///
+struct BufferView::Pimpl : public Object {
+       ///
        Pimpl(BufferView * i, LyXView * o,
              int xpos, int ypos, int width, int height);
        ///
@@ -28,18 +35,16 @@ struct BufferView::Pimpl {
        void resize();
        ///
        void redraw();
-       ///
-       void fitCursor();
+       /// Return true if the cursor was fitted.
+       bool fitCursor(LyXText *);
        ///
        void redoCurrentBuffer();
        ///
        int resizeCurrentBuffer();
        ///
        void update();
-       ///
-       void update(signed char f);
-       ///
-       void smallUpdate(signed char f);
+       //
+       void update(BufferView::UpdateCodes);
        ///
        void gotoError();
        /// Update pixmap of screen
@@ -51,28 +56,21 @@ struct BufferView::Pimpl {
        ///
        void scrollCB(double value);
        ///
-       void downCB(long time, int button);
-       ///
-       void scrollUpOnePage();
-       ///
-       void scrollDownOnePage();
-       ///
-       void create_view();
-       ///
-       Inset * checkInsetHit(int & x, int & y, unsigned int button);
+       Inset * checkInsetHit(LyXText *, int & x, int & y,
+                             unsigned int button);
        /// 
        int scrollUp(long time);
        ///
        int scrollDown(long time);
        ///
+       void workAreaKeyPress(KeySym, unsigned int state);
+       ///
        void workAreaMotionNotify(int x, int y, unsigned int state);
        ///
        void workAreaButtonPress(int x, int y, unsigned int button);
        ///
        void workAreaButtonRelease(int x, int y, unsigned int button);
        ///
-       void workAreaSelectionNotify(Window win, XEvent * event);
-       ///
        void doubleClick(int x, int y, unsigned int button);
        ///
        void tripleClick(int x, int y, unsigned int button);
@@ -83,9 +81,9 @@ struct BufferView::Pimpl {
        ///
        void cursorToggle();
        ///
-       void cursorPrevious();
+       void cursorPrevious(LyXText *);
        ///
-       void cursorNext();
+       void cursorNext(LyXText *);
        ///
        bool available() const;
        ///
@@ -95,6 +93,8 @@ struct BufferView::Pimpl {
        ///
        void restorePosition();
        ///
+       bool NoSavedPositions();
+       ///
        void setState();
        ///
        void insetSleep();
@@ -127,26 +127,29 @@ struct BufferView::Pimpl {
        ///
        Buffer * buffer_;
        ///
-       LyXScreen * screen;
+       LyXScreen * screen_;
        ///
        long current_scrollbar_value;
        ///
-       bool lyx_focus;
-       ///
-       bool work_area_focus;
-       ///
        FL_OBJECT * figinset_canvas;
        ///
-       FL_OBJECT * timer_cursor;
+       Timeout cursor_timeout;
         ///
         BackStack backstack;
        ///
-       int last_click_x, last_click_y;
+       int last_click_x;
        ///
-       WorkArea * workarea;
+       int last_click_y;
+       ///
+       WorkArea * workarea_;
        ///
        UpdateInset updatelist;
+       ///
+       void pasteClipboard(bool asPara);
+       ///
+       void stuffClipboard(string const &) const;
 private:
+       ///
        bool using_xterm_cursor;
 };
 #endif