]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView_pimpl.h
Applied Angus patch to compile on DEC C++ and to avoid name clashes
[lyx.git] / src / BufferView_pimpl.h
index 58228577dbc192a22d8761a354bf457f78deaf78..e7a9c8ba750b0108d3bd656c8ba707e28131b513 100644 (file)
@@ -3,9 +3,13 @@
 #ifndef BUFFERVIEW_PIMPL_H
 #define BUFFERVIEW_PIMPL_H
 
+#include <boost/smart_ptr.hpp>
+
 #include "BufferView.h"
 #include "UpdateInset.h"
+#include "commandtags.h"
 #include "frontends/Timeout.h"
+#include "WorkArea.h"
 
 #ifdef __GNUG__
 #pragma interface
@@ -15,12 +19,8 @@ class LyXView;
 class WorkArea;
 class LyXScreen;
 
-#ifdef SIGC_CXX_NAMESPACES
-using SigC::Object;
-#endif
-
 ///
-struct BufferView::Pimpl : public Object {
+struct BufferView::Pimpl : public SigC::Object {
        ///
        Pimpl(BufferView * i, LyXView * o,
              int xpos, int ypos, int width, int height);
@@ -117,6 +117,12 @@ struct BufferView::Pimpl : public Object {
        void toggleToggle();
        ///
        void center();
+       ///
+       bool Dispatch(kb_action action, string const & argument);
+private:
+       ///
+       friend class BufferView;
+       
        ///
        BufferView * bv_;
        ///
@@ -124,7 +130,7 @@ struct BufferView::Pimpl : public Object {
        ///
        Buffer * buffer_;
        ///
-       LyXScreen * screen_;
+       boost::scoped_ptr<LyXScreen> screen_;
        ///
        long current_scrollbar_value;
        ///
@@ -136,17 +142,16 @@ struct BufferView::Pimpl : public Object {
        ///
        int last_click_y;
        ///
-       WorkArea workarea_;
+       WorkArea workarea_;
        ///
        UpdateInset updatelist;
        ///
        void pasteClipboard(bool asPara);
        ///
        void stuffClipboard(string const &) const;
-private:
        ///
        bool using_xterm_cursor;
-
+       ///
        struct Position {
                /// Filename
                 string filename;
@@ -160,6 +165,13 @@ private:
                Position(string const & f, int id, LyXParagraph::size_type pos)
                         : filename(f), par_id(id), par_pos(pos) {}
        };
+       ///
        std::vector<Position> saved_positions;
+       ///
+       void moveCursorUpdate(bool selecting);
+        /// Get next inset of this class from current cursor position  
+       Inset * getInsetByCode(Inset::Code code);
+       ///
+       void MenuInsertLyXFile(string const & filen);
 };
 #endif