]> git.lyx.org Git - lyx.git/blobdiff - src/lyxtext.h
more ws
[lyx.git] / src / lyxtext.h
index 646f736ffa41fe01a6f04a3917197b0633064486..7a42c27739931696ccfd2d4fd3bc2aaeefba357b 100644 (file)
@@ -31,6 +31,7 @@ class Row;
 class Spacing;
 class UpdatableInset;
 class VSpace;
+class WordLangTuple;
 
 
 /**
@@ -121,9 +122,6 @@ public:
        ///
        void setLayout(BufferView *, string const & layout);
 
-       /// used in setlayout
-       void makeFontEntriesLayoutSpecific(Buffer const *, Paragraph * par);
-
        /** increment depth over selection and make a total rebreak of those
          paragraphs
          */
@@ -133,8 +131,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
@@ -165,11 +162,6 @@ public:
            */
        void redoHeightOfParagraph(BufferView *, LyXCursor const & cursor);
 
-       /** forces the redrawing of a paragraph. Needed when manipulating a
-           right address box
-           */
-       void redoDrawingOfParagraph(BufferView *, LyXCursor const & cursor);
-
        /** insert a character, moves all the following breaks in the
          same Paragraph one to the right and make a little rebreak
          */
@@ -177,17 +169,14 @@ public:
        ///
        void insertInset(BufferView *, Inset * inset);
 
-       /** Completes the insertion with a full rebreak.
-           Returns true if something was broken. */
-       bool fullRebreak(BufferView *);
+       /// Completes the insertion with a full rebreak
+       void fullRebreak(BufferView *);
 
        ///
        mutable Row * need_break_row;
        ///
        mutable int refresh_y;
        ///
-       int refresh_height;
-       ///
        int refresh_width;
        ///
        int refresh_x;
@@ -201,6 +190,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
@@ -303,7 +295,7 @@ public:
         to the beginning of this word.
         With SelectSelectedWord can this be highlighted really
         */
-       string const selectNextWordToSpellcheck(BufferView *, float & value) const;
+       WordLangTuple const selectNextWordToSpellcheck(BufferView *, float & value) const;
        ///
        void selectSelectedWord(BufferView *);
        /// returns true if par was empty and was removed
@@ -337,9 +329,9 @@ public:
        void setCursorFromCoordinates(BufferView *, LyXCursor &,
                                      int x, int y) const;
        ///
-       void cursorUp(BufferView *) const;
+       void cursorUp(BufferView *, bool selecting = false) const;
        ///
-       void cursorDown(BufferView *) const;
+       void cursorDown(BufferView *, bool selecting = false) const;
        ///
        void cursorLeft(BufferView *, bool internal = true) const;
        ///
@@ -347,8 +339,6 @@ public:
        ///
        void cursorLeftOneWord(BufferView *) const;
        ///
-       void cursorLeftOneWord(LyXCursor &) const;
-       ///
        void cursorRightOneWord(BufferView *) const;
        ///
        void cursorUpParagraph(BufferView *) const;
@@ -369,12 +359,6 @@ public:
        ///
        void backspace(BufferView *);
        ///
-       void deleteWordForward(BufferView *);
-       ///
-       void deleteWordBackward(BufferView *);
-       ///
-       void deleteLineForward(BufferView *);
-       ///
        bool selectWordWhenUnderCursor(BufferView *,
                                       word_location const);
        ///
@@ -389,11 +373,6 @@ public:
        /// Change the case of the word at cursor position.
        void changeCase(BufferView *, TextCase action);
        ///
-       void changeRegionCase(BufferView * bview,
-                                      LyXCursor const & from,
-                                      LyXCursor const & to,
-                                      LyXText::TextCase action);
-       ///
        void transposeChars(BufferView &);
 
        /** returns a printed row in a pixmap. The y value is needed to
@@ -461,14 +440,6 @@ public:
        ///
        void checkParagraph(BufferView *, Paragraph * par, lyx::pos_type pos);
        ///
-       int numberOfCell(Paragraph * par, lyx::pos_type pos) const;
-       ///
-       void removeTableRow(LyXCursor & cursor) const;
-       ///
-       bool isEmptyTableCell() const;
-       ///
-       void toggleAppendix(BufferView *);
-       ///
        int workWidth(BufferView *) const;
        ///
        int workWidth(BufferView *, Inset * inset) const;
@@ -513,21 +484,41 @@ private:
        ///
        mutable Row * lastrow;
 
+       ///
+       void cursorLeftOneWord(LyXCursor &) const;
+       ///
+       float getCursorX(BufferView *, Row *, lyx::pos_type pos,
+                                        lyx::pos_type last, bool boundary) const;
+       ///
+       void changeRegionCase(BufferView * bview,
+                                      LyXCursor const & from,
+                                      LyXCursor const & to,
+                                      LyXText::TextCase action);
+       /// used in setlayout
+       void makeFontEntriesLayoutSpecific(Buffer const *, Paragraph * par);
+
+       /** forces the redrawing of a paragraph. Needed when manipulating a
+           right address box
+           */
+       void redoDrawingOfParagraph(BufferView *, LyXCursor const & cursor);
+
        /** Copybuffer for copy environment type.
          Asger has learned that this should be a buffer-property instead
          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;
 
@@ -587,6 +578,9 @@ private:
        /// paint appendix marker
        void paintRowAppendix(DrawRowParams & p);
 
+       /// paint page break marker. Returns its height.
+       int paintPageBreak(string const & label, int y, DrawRowParams & p);
        /// paint env depth bar
        void paintRowDepthBar(DrawRowParams & p);
 
@@ -619,10 +613,18 @@ 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);
 private:
        ///
        void setCounter(Buffer const *, Paragraph * par) const;
+       ///
+       void deleteWordForward(BufferView *);
+       ///
+       void deleteWordBackward(BufferView *);
+       ///
+       void deleteLineForward(BufferView *);
 
        /*
         * some low level functions
@@ -646,11 +648,11 @@ private:
        /// draw a mark for foreign language, starting from orig_x
        void drawForeignMark(DrawRowParams & p, float const orig_x, LyXFont const & orig_font);
        /// draw an inset
-       void drawInset(DrawRowParams & p, lyx::pos_type const pos);
+       bool drawInset(DrawRowParams & p, lyx::pos_type const pos);
        /// draw new line marker
        void drawNewline(DrawRowParams & p, lyx::pos_type const pos);
        /// draw text
-       void draw(DrawRowParams & p, lyx::pos_type & vpos);
+       bool draw(DrawRowParams & p, lyx::pos_type & vpos);
 
        /// get the next breakpoint in a given paragraph
        lyx::pos_type nextBreakPoint(BufferView *, Row const * row, int width) const;
@@ -664,11 +666,12 @@ private:
        ///
        lyx::pos_type beginningOfMainBody(Buffer const *, Paragraph const * par) const;
 
-       /** Returns the left beginning of the text.
-         This information cannot be taken from the layouts-objekt, because
-         in LaTeX the beginning of the text fits in some cases
-         (for example sections) exactly the label-width.
-         */
+       /** 
+        * Returns the left beginning of the text.
+        * This information cannot be taken from the layout object, because
+        * in LaTeX the beginning of the text fits in some cases
+        * (for example sections) exactly the label-width.
+        */
        int leftMargin(BufferView *, Row const * row) const;
        ///
        int rightMargin(Buffer const *, Row const * row) const;