]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetTabular.h
Fix a number of other uninitialized members.
[lyx.git] / src / insets / InsetTabular.h
index f27df2ae3a040470e06713e3facf45a0942f8ddd..f57cbaea13df60710909c94207480ae4ffc6c695 100644 (file)
 #include "InsetText.h"
 #include "Length.h"
 
-#include "support/shared_ptr.h"
-
 #include <climits>
 #include <iosfwd>
+#include <memory>
 #include <vector>
 
+
+using std::shared_ptr;
+
 namespace lyx {
 
 class Buffer;
@@ -71,7 +73,8 @@ public:
        ///
        docstring xhtml(XHTMLStream &, OutputParams const &) const;
        ///
-       void addToToc(DocIterator const & di, bool output_active) const;
+       void addToToc(DocIterator const & di, bool output_active,
+                                 UpdateType utype) const;
 private:
        /// unimplemented
        InsetTableCell();
@@ -218,6 +221,8 @@ public:
                ///
                UNSET_ALL_LINES,
                ///
+               TOGGLE_LONGTABULAR,
+               ///
                SET_LONGTABULAR,
                ///
                UNSET_LONGTABULAR,
@@ -265,6 +270,8 @@ public:
                ///
                SET_SPECIAL_MULTICOLUMN,
                ///
+               TOGGLE_BOOKTABS,
+               ///
                SET_BOOKTABS,
                ///
                UNSET_BOOKTABS,
@@ -876,6 +883,8 @@ public:
        bool inheritFont() const { return false; }
        ///
        bool allowsCaptionVariation(std::string const &) const;
+       //
+       bool isTable() const { return true; }
        ///
        DisplayType display() const;
        ///
@@ -898,9 +907,9 @@ public:
        /// get offset of this cursor slice relative to our upper left corner
        void cursorPos(BufferView const & bv, CursorSlice const & sl,
                bool boundary, int & x, int & y) const;
-       ///
-       bool tabularFeatures(Cursor & cur, std::string const & what);
-       ///
+       /// Executes a space-separated sequence of tabular-features requests
+       void tabularFeatures(Cursor & cur, std::string const & what);
+       /// Change a single tabular feature; does not handle undo.
        void tabularFeatures(Cursor & cur, Tabular::Feature feature,
                             std::string const & val = std::string());
        /// number of cells
@@ -942,7 +951,8 @@ public:
        /// Update the counters of this inset and of its contents
        void updateBuffer(ParIterator const &, UpdateType);
        ///
-       void addToToc(DocIterator const & di, bool output_active) const;
+       void addToToc(DocIterator const & di, bool output_active,
+                                 UpdateType utype) const;
 
        ///
        bool completionSupported(Cursor const &) const;
@@ -990,10 +1000,20 @@ private:
        ///
        void doDispatch(Cursor & cur, FuncRequest & cmd);
        ///
+       bool getFeatureStatus(Cursor & cur, std::string const & s,
+                        std::string const & argument, FuncStatus & status) const;
+       ///
        bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const;
        ///
        Inset * clone() const { return new InsetTabular(*this); }
 
+       ///
+       bool hitSelectRow(BufferView const & bv, int x) const;
+       ///
+       bool hitSelectColumn(BufferView const & bv, int y) const;
+       /// Returns true if coordinates are on row/column selection zones
+       bool clickable(BufferView const &, int x, int y) const;
+
        ///
        void drawCellLines(PainterInfo &, int x, int y, row_type row,
                           idx_type cell) const;