]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_nestinset.h
split inset -> inset + updatableinset
[lyx.git] / src / mathed / math_nestinset.h
index 3ca195bab95b2efbf047a943f53529f672fd203f..42dad7d97757bdef22a9dc84b87a581e95348b2d 100644 (file)
@@ -1,9 +1,6 @@
 #ifndef MATH_NESTINSET_H
 #define MATH_NESTINSET_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
 
 #include "math_diminset.h"
 
@@ -38,6 +35,8 @@ public:
        void substitute(MathMacro const & macro);
        /// identifies NestInsets
        MathNestInset * asNestInset() { return this; }
+       /// identifies NestInsets
+       MathNestInset const * asNestInset() const { return this; }
        /// get cursor position
        void getPos(idx_type idx, pos_type pos, int & x, int & y) const;
 
@@ -68,7 +67,7 @@ public:
        /// access to the lock
        void lock(bool);
        /// get notification when the cursor leaves this inset
-       void notifyCursorLeaves();
+       void notifyCursorLeaves(idx_type);
 
        /// direct access to the cell
        MathArray & cell(idx_type);
@@ -81,11 +80,11 @@ public:
        void validate(LaTeXFeatures & features) const;
 
        /// match in all cells
-       bool match(MathInset *) const;
+       bool match(MathAtom const &) const;
        /// replace in all cells
        void replace(ReplaceData &);
        /// do we contain a given pattern?
-       bool contains(MathArray const &);
+       bool contains(MathArray const &) const;
        /// glue everything to a single cell
        MathArray glue() const;
 
@@ -96,9 +95,13 @@ public:
 
        /// writes \\, name(), and args in braces and '\\lyxlock' if necessary
        void write(WriteStream & os) const;
-       /// writes [, name(), and args in [] 
+       /// writes [, name(), and args in []
        void normalize(NormalStream & os) const;
 
+       /// local dispatcher
+       dispatch_result
+               dispatch(FuncRequest const & cmd, idx_type & idx, pos_type & pos);
+
 protected:
        /// we store the cells in a vector
        typedef std::vector<MathArray> cells_type;