]> git.lyx.org Git - features.git/blobdiff - src/insets/InsetText.h
Generalise the deletion protection mechanism from math to text (#9540)
[features.git] / src / insets / InsetText.h
index be4767f159e96a5eb9c9b4fc598b81a03a0f7613..eb52bc81b66020c1e68de411a831d3f6d869a18e 100644 (file)
@@ -25,6 +25,7 @@ class Dimension;
 class ParagraphList;
 class InsetCaption;
 class InsetTabular;
+class TocBuilder;
 
 /**
  A text inset is like a TeX box to write full text
@@ -47,7 +48,7 @@ public:
        void setBuffer(Buffer &);
 
        ///
-       Dimension const dimension(BufferView const &) const;
+       Dimension const dimensionHelper(BufferView const &) const;
 
        /// empty inset to empty par
        void clear();
@@ -176,7 +177,7 @@ public:
        void forOutliner(docstring &, size_t const, bool const) const;
        ///
        void addToToc(DocIterator const & di, bool output_active,
-                                 UpdateType utype) const;
+                                 UpdateType utype, TocBackend & backend) const;
        ///
        Inset * clone() const { return new InsetText(*this); }
        ///
@@ -218,11 +219,24 @@ public:
        std::string contextMenuName() const;
        ///
        void doDispatch(Cursor & cur, FuncRequest & cmd);
+
+       ///
+       bool confirmDeletion() const { return !text().empty(); }
+
 protected:
        ///
        void iterateForToc(DocIterator const & cdit, bool output_active,
-                                          UpdateType utype) const;
+                                          UpdateType utype, TocBackend & backend) const;
 private:
+       /// Open the toc item for paragraph pit. Returns the paragraph index where
+       /// it should end.
+       pit_type openAddToTocForParagraph(pit_type pit,
+                                         DocIterator const & dit,
+                                         bool output_active,
+                                         TocBackend & backend) const;
+       /// Close a toc item opened in start and closed in end
+       void closeAddToTocForParagraph(pit_type start, pit_type end,
+                                      TocBackend & backend) const;
        ///
        bool drawFrame_;
        ///