]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetTabular.h
* possibility to disable the completion cursor in text. All those
[lyx.git] / src / insets / InsetTabular.h
index d40b9c6ba119b30a3c74703925138157437e93b4..a4ec860ba4a73ef275c12c7c0d90eb95a559f37d 100644 (file)
@@ -55,6 +55,7 @@ class BufferView;
 class Buffer;
 class BufferParams;
 class Paragraph;
+class CompletionList;
 class CursorSlice;
 
 namespace frontend { class Painter; }
@@ -459,16 +460,16 @@ public:
        ///
 //private:
        ///
-       class cellstruct {
+       class CellData {
        public:
                ///
-               cellstruct(Buffer const &);
+               CellData(Buffer const &);
                ///
-               cellstruct(cellstruct const &);
+               CellData(CellData const &);
                ///
-               cellstruct & operator=(cellstruct);
+               CellData & operator=(CellData);
                ///
-               void swap(cellstruct & rhs);
+               void swap(CellData & rhs);
                ///
                idx_type cellno;
                ///
@@ -498,17 +499,17 @@ public:
                ///
                boost::shared_ptr<InsetText> inset;
        };
-       cellstruct & cellinfo_of_cell(idx_type cell) const;
+       CellData & cellinfo_of_cell(idx_type cell) const;
        ///
-       typedef std::vector<cellstruct> cell_vector;
+       typedef std::vector<CellData> cell_vector;
        ///
        typedef std::vector<cell_vector> cell_vvector;
 
        ///
-       class rowstruct {
+       class RowData {
        public:
                ///
-               rowstruct();
+               RowData();
                ///
                int ascent;
                ///
@@ -542,13 +543,13 @@ public:
                bool newpage;
        };
        ///
-       typedef std::vector<rowstruct> row_vector;
+       typedef std::vector<RowData> row_vector;
 
        ///
-       class columnstruct {
+       class ColumnData {
                public:
                ///
-               columnstruct();
+               ColumnData();
                ///
                LyXAlignment alignment;
                ///
@@ -565,7 +566,7 @@ public:
                docstring align_special;
        };
        ///
-       typedef std::vector<columnstruct> column_vector;
+       typedef std::vector<ColumnData> column_vector;
 
        ///
        idx_type numberofcells;
@@ -750,23 +751,41 @@ public:
        // Update the counters of this inset and of its contents
        void updateLabels(ParIterator const &);
 
+       ///
+       bool completionSupported(Cursor const &) const;
+       ///
+       bool inlineCompletionSupported(Cursor const & cur) const;
+       ///
+       bool automaticInlineCompletion() const;
+       ///
+       bool automaticPopupCompletion() const;
+       ///
+       bool showCompletionCursor() const;
+       ///
+       CompletionList const * createCompletionList(Cursor const & cur) const;
+       ///
+       docstring completionPrefix(Cursor const & cur) const;
+       ///
+       bool insertCompletion(Cursor & cur, docstring const & s, bool finished);
+       ///
+       void completionPosAndDim(Cursor const &, int & x, int & y, Dimension & dim) const;
+
        //
        // Public structures and variables
        ///
        mutable Tabular tabular;
 
-protected:
+private:
        ///
        InsetTabular(InsetTabular const &);
        ///
-       virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
+       void doDispatch(Cursor & cur, FuncRequest & cmd);
        ///
        bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const;
        ///
        int scroll() const { return scx_; }
-
-private:
-       Inset * clone() const;
+       ///
+       Inset * clone() const { return new InsetTabular(*this); }
 
        ///
        void drawCellLines(frontend::Painter &, int x, int y, row_type row,