]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insettabular.h
remove Inset::deletable() as it returns always 'true'
[lyx.git] / src / insets / insettabular.h
index 6e653b9aadf971328f28ccd801fe748d39a2dde6..99da476657885f3b937fe8aa95e679cfdd46a7a0 100644 (file)
@@ -1,12 +1,12 @@
 // -*- C++ -*-
-/* This file is part of
- * ======================================================
+/**
+ * \file insettabular.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- *           LyX, The Document Processor
+ * \author Jürgen Vigna
  *
- *           Copyright 1995-2001 The LyX Team.
- *
- *======================================================
+ * Full author contact details are available in file CREDITS
  */
 // This is the rewrite of the tabular (table) support.
 
@@ -45,9 +45,6 @@
 #ifndef INSETTABULAR_H
 #define INSETTABULAR_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
 
 #include "inset.h"
 #include "tabular.h"
@@ -63,6 +60,7 @@ class LyXLex;
 class Painter;
 class BufferView;
 class Buffer;
+class BufferParams;
 class Paragraph;
 
 class InsetTabular : public UpdatableInset {
@@ -130,19 +128,13 @@ public:
        ///
        bool isTextInset() const { return true; }
        /** returns true if, when outputing LaTeX, font changes should
-            be closed before generating this inset. This is needed for
-            insets that may contain several paragraphs */
+           be closed before generating this inset. This is needed for
+           insets that may contain several paragraphs */
        bool noFontChange() const { return true; }
        ///
        bool display() const { return tabular->IsLongTabular(); }
        ///
-       bool insetButtonRelease(BufferView *, int, int, mouse_button::state);
-       ///
-       void insetButtonPress(BufferView *, int, int, mouse_button::state);
-       ///
-       void insetMotionNotify(BufferView *, int, int, mouse_button::state);
-       ///
-       UpdatableInset::RESULT localDispatch(BufferView *, FuncRequest const &);
+       RESULT localDispatch(FuncRequest const &);
        ///
        int latex(Buffer const *, std::ostream &, bool, bool) const;
        ///
@@ -204,8 +196,6 @@ public:
                UpdatableInset::scroll(bv, offset);
        }
        ///
-       Paragraph * getParFromID(int id) const;
-       ///
        Inset * getInsetFromID(int id) const;
        ///
        Paragraph * firstParagraph() const;
@@ -214,10 +204,19 @@ public:
        ///
        LyXCursor const & cursor(BufferView *) const;
        ///
-       bool allowSpellcheck() { return true; }
-       WordLangTuple selectNextWordToSpellcheck(BufferView *, float & value) const;
+       bool allowSpellcheck() const { return true; }
+       ///
+       WordLangTuple const
+       selectNextWordToSpellcheck(BufferView *, float & value) const;
+       ///
        void selectSelectedWord(BufferView *);
+       ///
        void toggleSelection(BufferView *, bool kill_selection);
+
+       void markErased();
+
+       /// find next change
+       bool nextChange(BufferView *, lyx::pos_type & length);
        ///
        bool searchForward(BufferView *, string const &,
                           bool = true, bool = false);
@@ -238,7 +237,21 @@ public:
        ///
        boost::signal0<void> hideDialog;
 
+       /// are some cells selected ?
+       bool hasSelection() const {
+               return has_selection;
+       }
 private:
+       ///
+       void lfunMousePress(FuncRequest const &);
+       ///
+       // the bool return is used to see if we opened a dialog so that we can
+       // check this from an outer inset and open the dialog of the outer inset
+       // if that one has one!
+       ///
+       bool lfunMouseRelease(FuncRequest const &);
+       ///
+       void lfunMouseMotion(FuncRequest const &);
        ///
        bool calculate_dimensions_of_cells(BufferView *, LyXFont const &,
                                           bool = false) const;
@@ -257,30 +270,24 @@ private:
        ///
        void setPos(BufferView *, int x, int y) const;
        ///
-       UpdatableInset::RESULT moveRight(BufferView *, bool lock = true);
+       RESULT moveRight(BufferView *, bool lock = true);
        ///
-       UpdatableInset::RESULT moveLeft(BufferView *, bool lock = true);
+       RESULT moveLeft(BufferView *, bool lock = true);
        ///
-       UpdatableInset::RESULT moveUp(BufferView *, bool lock = true);
+       RESULT moveUp(BufferView *, bool lock = true);
        ///
-       UpdatableInset::RESULT moveDown(BufferView *, bool lock = true);
+       RESULT moveDown(BufferView *, bool lock = true);
        ///
        bool moveNextCell(BufferView *, bool lock = false);
        ///
        bool movePrevCell(BufferView *, bool lock = false);
        ///
-       bool deletable() const;
-       ///
        int getCellXPos(int cell) const;
        ///
        void resetPos(BufferView *) const;
        ///
        void removeTabularRow();
        ///
-       bool hasSelection() const {
-               return has_selection;
-       }
-       ///
        void clearSelection() const {
                sel_cell_start = sel_cell_end = 0;
                has_selection = false;
@@ -308,7 +315,7 @@ private:
        ///
        bool pasteSelection(BufferView *);
        ///
-       bool cutSelection();
+       bool cutSelection(BufferParams const & bp);
        ///
        bool isRightToLeft(BufferView *);
        ///