]> 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 ddbb5ac3f0bb9ebebce460515e9470b145194098..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?
@@ -306,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
@@ -383,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