]> 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 25f4715165dcde89c39cd020956bd4e1b90f9d62..7eaef53b6d3cffeb37ef0492aaed15112641377c 100644 (file)
@@ -6,6 +6,7 @@
 #include "BufferView.h"
 #include "UpdateInset.h"
 #include "BackStack.h"
+#include "Timeout.h"
 
 #ifdef __GNUG__
 #pragma interface
@@ -15,63 +16,140 @@ 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);
-       
+       ///
+       Painter & painter();
+       ///
+       void buffer(Buffer *);
+       ///
+       void resize(int xpos, int ypos, int width, int height);
+       ///
+       void resize();
+       ///
+       void redraw();
+       /// Return true if the cursor was fitted.
+       bool fitCursor(LyXText *);
+       ///
+       void redoCurrentBuffer();
+       ///
+       int resizeCurrentBuffer();
+       ///
+       void update();
+       //
+       void update(BufferView::UpdateCodes);
+       ///
+       void gotoError();
        /// Update pixmap of screen
        void updateScreen();
        ///
        void workAreaExpose();
        ///
-       void scrollUpOnePage();
-       ///
-       void scrollDownOnePage();
+       void updateScrollbar();
        ///
-       void create_view();
+       void scrollCB(double value);
        ///
-       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);
        ///
+       void enterView();
+       ///
+       void leaveView();
+       ///
+       void cursorToggle();
+       ///
+       void cursorPrevious(LyXText *);
+       ///
+       void cursorNext(LyXText *);
+       ///
+       bool available() const;
+       ///
+       void beforeChange();
+       ///
+       void savePosition();
+       ///
+       void restorePosition();
+       ///
+       bool NoSavedPositions();
+       ///
+       void setState();
+       ///
+       void insetSleep();
+       ///
+       void insetWakeup();
+       ///
+       void insetUnlock();
+       ///
+       bool focus() const;
+       ///
+       void focus(bool);
+       ///
+       bool active() const;
+       ///
+       bool belowMouse() const;
+       ///
+       void showCursor();
+       ///
+       void hideCursor();
+       ///
+       void toggleSelection(bool = true);
+       ///
+       void toggleToggle();
+       ///
+       void center();
+       ///
        BufferView * bv_;
        ///
        LyXView * owner_;
        ///
        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;
+       ///
+       int last_click_y;
        ///
-       WorkArea * workarea;
+       WorkArea * workarea_;
        ///
        UpdateInset updatelist;
+       ///
+       void pasteClipboard(bool asPara);
+       ///
+       void stuffClipboard(string const &) const;
+private:
+       ///
+       bool using_xterm_cursor;
 };
 #endif