]> git.lyx.org Git - lyx.git/blobdiff - src/lyxtext.h
remove noload/don't typeset
[lyx.git] / src / lyxtext.h
index 6b89751d3359206e668560b8f10e536fb6cc4529..92893fa1b6afd2144b5f022af431995f14e21f2c 100644 (file)
@@ -21,7 +21,6 @@
 #include "layout.h"
 #include "LColor.h"
 #include "insets/inset.h"
-#include "WordLangTuple.h"
 
 class Buffer;
 class BufferParams;
@@ -32,6 +31,7 @@ class Row;
 class Spacing;
 class UpdatableInset;
 class VSpace;
+class WordLangTuple;
 
 
 /**
@@ -67,7 +67,7 @@ public:
 
        /// Constructor
        LyXText(BufferView *);
-       ///
+       /// sets inset as owner
        LyXText(InsetText *);
 
        /// Destructor
@@ -75,8 +75,6 @@ public:
 
        void init(BufferView *, bool reinit = false);
        ///
-       mutable int number_of_rows;
-       ///
        mutable int height;
        ///
        mutable unsigned int width;
@@ -131,8 +129,7 @@ public:
          paragraphs */
        void decDepth(BufferView *);
 
-       /** Get the depth at current cursor position
-        */
+       /// get the depth at current cursor position
        int getDepth() const;
 
        /** set font over selection and make a total rebreak of those
@@ -170,7 +167,7 @@ public:
        ///
        void insertInset(BufferView *, Inset * inset);
 
-       /** Completes the insertion with a full rebreak. */
+       /// Completes the insertion with a full rebreak
        void fullRebreak(BufferView *);
 
        ///
@@ -178,8 +175,6 @@ public:
        ///
        mutable int refresh_y;
        ///
-       int refresh_height;
-       ///
        int refresh_width;
        ///
        int refresh_x;
@@ -193,6 +188,9 @@ public:
        ///
        void status(BufferView *, text_status) const;
 
+       ///
+       Inset::RESULT dispatch(FuncRequest const & cmd);
+
 private:
        /** wether the screen needs a refresh,
           starting with refresh_y
@@ -215,8 +213,7 @@ public:
        /** returns a pointer to a specified row. y is set to the beginning
         of the row
         */
-       Row * getRow(Paragraph * par,
-                    lyx::pos_type pos, int & y) const;
+       Row * getRow(Paragraph * par, lyx::pos_type pos, int & y) const;
        /** returns the firstrow, this could be done with the above too but
            IMO it's stupid to have to allocate a dummy y all the time I need
            the first row
@@ -295,7 +292,7 @@ public:
         to the beginning of this word.
         With SelectSelectedWord can this be highlighted really
         */
-       WordLangTuple selectNextWordToSpellcheck(BufferView *, float & value) const;
+       WordLangTuple const selectNextWordToSpellcheck(BufferView *, float & value) const;
        ///
        void selectSelectedWord(BufferView *);
        /// returns true if par was empty and was removed
@@ -339,8 +336,6 @@ public:
        ///
        void cursorLeftOneWord(BufferView *) const;
        ///
-       void cursorLeftOneWord(LyXCursor &) const;
-       ///
        void cursorRightOneWord(BufferView *) const;
        ///
        void cursorUpParagraph(BufferView *) const;
@@ -361,12 +356,6 @@ public:
        ///
        void backspace(BufferView *);
        ///
-       void deleteWordForward(BufferView *);
-       ///
-       void deleteWordBackward(BufferView *);
-       ///
-       void deleteLineForward(BufferView *);
-       ///
        bool selectWordWhenUnderCursor(BufferView *,
                                       word_location const);
        ///
@@ -440,6 +429,11 @@ public:
        bool gotoNextInset(BufferView *, std::vector<Inset::Code> const & codes,
                           string const & contents = string()) const;
        ///
+       void gotoInset(BufferView * bv, std::vector<Inset::Code> const & codes,
+                                               bool same_content);
+       ///
+       void gotoInset(BufferView * bv, Inset::Code code, bool same_content);
+       ///
 
        /* for the greater insets */
 
@@ -448,8 +442,6 @@ public:
        ///
        void checkParagraph(BufferView *, Paragraph * par, lyx::pos_type pos);
        ///
-       void toggleAppendix(BufferView *);
-       ///
        int workWidth(BufferView *) const;
        ///
        int workWidth(BufferView *, Inset * inset) const;
@@ -490,15 +482,21 @@ public:
 private:
        ///
        mutable Row * firstrow;
-
        ///
        mutable Row * lastrow;
 
+       ///
+       void cursorLeftOneWord(LyXCursor &) const;
+       ///
+       void cursorPrevious(BufferView * bv);
+       ///
+       void cursorNext(BufferView * bv);
        ///
        float getCursorX(BufferView *, Row *, lyx::pos_type pos,
                                         lyx::pos_type last, bool boundary) const;
        ///
-       void changeRegionCase(BufferView * bview,
+       void changeRegionCase(BufferView * bv,
                                       LyXCursor const & from,
                                       LyXCursor const & to,
                                       LyXText::TextCase action);
@@ -515,16 +513,17 @@ private:
          Lgb has learned that 'char' is a lousy type for non-characters
          */
        string copylayouttype;
+
        /** inserts a new row behind the specified row, increments
            the touched counters */
        void insertRow(Row * row, Paragraph * par, lyx::pos_type pos) const;
-       /** removes the row and reset the touched counters */
+       /// removes the row and reset the touched counters 
        void removeRow(Row * row) const;
 
-       /** remove all following rows of the paragraph of the specified row. */
+       /// remove all following rows of the paragraph of the specified row.
        void removeParagraph(Row * row) const;
 
-       /** insert the specified paragraph behind the specified row */
+       /// insert the specified paragraph behind the specified row 
        void insertParagraph(BufferView *,
                             Paragraph * par, Row * row) const;
 
@@ -608,7 +607,7 @@ private:
 
        // fix the cursor `cur' after a characters has been deleted at `where'
        // position. Called by deleteEmptyParagraphMechanism
-       void fixCursorAfterDelete(BufferView * bview,
+       void fixCursorAfterDelete(BufferView * bv,
                                  LyXCursor & cur,
                                  LyXCursor const & where) const;
 
@@ -619,10 +618,24 @@ private:
 public:
        /** Updates all counters starting BEHIND the row. Changed paragraphs
         * with a dynamic left margin will be rebroken. */
-       void updateCounters(BufferView *, Row * row) const;
+       void updateCounters(BufferView *) const;
+       /// 
+       void update(BufferView * bv, bool changed = true);
+       /**
+        * Returns an inset if inset was hit, or 0 if not.
+        * If hit, the coordinates are changed relative to the inset.
+        */
+       Inset * checkInsetHit(BufferView * bv, int & x, int & y) const;
+
 private:
        ///
        void setCounter(Buffer const *, Paragraph * par) const;
+       ///
+       void deleteWordForward(BufferView *);
+       ///
+       void deleteWordBackward(BufferView *);
+       ///
+       void deleteLineForward(BufferView *);
 
        /*
         * some low level functions