]> git.lyx.org Git - lyx.git/blobdiff - src/insets/Inset.h
Fix bug #6280: Wrong context menu is opened in an auto-opened inset.
[lyx.git] / src / insets / Inset.h
index 820102a257d54ce9cd740d901b041b1ffb8761d3..10e1f4a28c940b68aa3c35fd11963db8f405da94 100644 (file)
@@ -96,8 +96,9 @@ public:
        virtual ~Inset() {}
 
        /// change associated Buffer
-       /// FIXME this should go.
        virtual void setBuffer(Buffer & buffer);
+       /// remove the buffer reference
+       void resetBuffer() { setBuffer( *static_cast<Buffer *>(0)); }
        /// retrieve associated Buffer
        virtual Buffer & buffer();
        virtual Buffer const & buffer() const;
@@ -120,6 +121,8 @@ public:
 
        /// identification as math inset
        virtual InsetMath * asInsetMath() { return 0; }
+       /// identification as math inset
+       virtual InsetMath const * asInsetMath() const { return 0; }
        /// true for 'math' math inset, but not for e.g. mbox
        virtual bool inMathed() const { return false; }
        /// is this inset based on the InsetText class?
@@ -205,12 +208,12 @@ public:
        virtual void cursorPos(BufferView const & bv,
                CursorSlice const & sl, bool boundary, int & x, int & y) const;
 
-       ///
-       virtual bool isFreeSpacing() const { return false; }
-       ///
-       virtual bool allowEmpty() const { return false; }
+       /// Allow multiple blanks
+       virtual bool isFreeSpacing() const;
+       /// Don't eliminate empty paragraphs
+       virtual bool allowEmpty() const;
        /// Force inset into LTR environment if surroundings are RTL?
-       virtual bool forceLTR() const { return false; }
+       virtual bool forceLTR() const;
 
        /// Where should we go when we press the up or down cursor key?
        virtual bool idxUpDown(Cursor & cur, bool up) const;
@@ -299,8 +302,6 @@ public:
        /// the string that is passed to the TOC
        virtual void tocString(odocstream &) const {}
 
-       /// what appears in the minibuffer when opening
-       virtual docstring editMessage() const;
        /// can the contents of the inset be edited on screen ?
        // true for InsetCollapsables (not ButtonOnly) (not InsetInfo), InsetText
        virtual bool editable() const;
@@ -308,7 +309,7 @@ public:
        virtual bool hasSettings() const;
        /// can we go further down on mouse click?
        // true for InsetCaption, InsetCollapsables (not ButtonOnly), InsetTabular
-       virtual bool descendable() const { return false; }
+       virtual bool descendable(BufferView const &) const { return false; }
        /// is this an inset that can be moved into?
        /// FIXME: merge with editable()
        // true for InsetTabular & InsetText
@@ -385,6 +386,8 @@ public:
        virtual docstring name() const;
        ///
        virtual InsetLayout const & getLayout() const;
+       /// Is this inset's layout defined in the document's textclass?
+       bool undefined() const;
        /// used to toggle insets
        /// is the inset open?
        /// should this inset be handled like a normal charater