]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView.h
Applied Angus patch to compile on DEC C++ and to avoid name clashes
[lyx.git] / src / BufferView.h
index e6bbd847c5780203b58614d3847f1939290f48ee..56cafa50c62cc0ced9f1d71d74fd92e0a7e64d0e 100644 (file)
@@ -17,7 +17,9 @@
 #endif
 
 #include FORMS_H_LOCATION
+#include "LString.h"
 #include "undo.h"
+#include "commandtags.h"
 #include <boost/utility.hpp>
 
 class LyXView;
@@ -26,9 +28,10 @@ class TeXErrors;
 class Buffer;
 class LyXScreen;
 class WorkArea;
+class Language;
 
 ///
-class BufferView : public noncopyable {
+class BufferView : public boost::noncopyable {
 public:
        ///
        enum UpdateCodes {
@@ -67,7 +70,7 @@ public:
        ///
        void update();
        //
-       void update(UpdateCodes uc);
+       void update(LyXText *, UpdateCodes uc);
        ///
        void updateScrollbar();
        ///
@@ -78,32 +81,42 @@ public:
        ///
        int resizeCurrentBuffer();
        ///
-       void gotoError();
+       void gotoInset(std::vector<Inset::Code> const & codes,
+                      bool same_content);
        ///
-       void cursorPrevious();
+       void gotoInset(Inset::Code codes, bool same_content);
        ///
-       void cursorNext();
+       void cursorPrevious(LyXText *);
+       ///
+       void cursorNext(LyXText *);
        /// 
        bool available() const;
        ///
        LyXView * owner() const;
        ///
-       void beforeChange();
+       void beforeChange(LyXText *);
         ///
-        void savePosition();
+        void savePosition(unsigned int i);
         ///
-        void restorePosition();
+        void restorePosition(unsigned int i);
        ///
-       bool NoSavedPositions();
+       bool isSavedPosition(unsigned int i);
        /** This holds the mapping between buffer paragraphs and screen rows.
            This should be private...but not yet. (Lgb)
        */
        LyXText * text;
        ///
+       LyXText * getLyXText() const;
+       ///
+       LyXText * getParentText(Inset * inset) const;
+       ///
+       Language const * getParentLanguage(Inset * inset) const;
+       ///
        int workWidth() const;
        ///
        UpdatableInset * theLockingInset() const;
-       void theLockingInset(UpdatableInset const * inset); 
+       ///
+       void theLockingInset(UpdatableInset * inset); 
        ///
        void updateInset(Inset * inset, bool mark_dirty);
        ///
@@ -129,8 +142,6 @@ public:
        ///
        void insertCorrectQuote();
        ///
-       void gotoNote();
-       ///
        bool gotoLabel(string const & label);
        ///
        void paste();
@@ -145,7 +156,7 @@ public:
        ///
        void hfill();
        ///
-       void protectedBlank();
+       void protectedBlank(LyXText *);
        ///
        void newline();
        ///
@@ -185,7 +196,7 @@ public:
        bool insertInset(Inset * inset, string const & lout = string(),
                         bool no_table = false);
        /// open and lock an updatable inset
-       bool open_new_inset(UpdatableInset * new_inset);
+       bool open_new_inset(UpdatableInset * new_inset, bool behind = false);
        /** Inserts a lyx file at cursor position.
            @return #false# if it fails.
        */
@@ -230,27 +241,18 @@ public:
        ///
        void pushIntoUpdateList(Inset * i);
        ///
-       void workAreaExpose();
-       ///
-       void workAreaButtonPress(int x, int y, unsigned int button);
+       bool ChangeInsets(Inset::Code code, string const & from, 
+                         string const & to);
        ///
-       void workAreaButtonRelease(int x, int y, unsigned int button);
+       bool ChangeRefsIfUnique(string const & from, string const & to);
        ///
-       void workAreaMotionNotify(int x, int y, unsigned int state);
-       ///
-       void doubleClick(int x, int y, unsigned int button);
-       ///
-       void tripleClick(int x, int y, unsigned int button);
-       ///
-       void enterView();
-       ///
-       void leaveView();
-       ///
-       bool ChangeRefs(string const & from, string const & to);
+       bool ChangeCitationsIfUnique(string const & from, string const & to);
        ///
        void pasteClipboard(bool asPara);
        ///
        void stuffClipboard(string const &) const;
+       ///
+       bool Dispatch(kb_action action, string const & argument);
 private:
        struct Pimpl;
        ///