]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_inset.h
fix #1073
[lyx.git] / src / mathed / math_inset.h
index 2b0719621c782973324ad9d4d0164eaaf0eed7ba..2bd1a232330fc5fb0d8be22a503b3805e9b37116 100644 (file)
@@ -62,7 +62,7 @@ class MathSpaceInset;
 class MathSymbolInset;
 class MathUnknownInset;
 
-class InsetRef;
+class RefInset;
 
 class NormalStream;
 class OctaveStream;
@@ -97,13 +97,9 @@ public:
        typedef size_type                   row_type;
        /// type for column numbers
        typedef size_type                   col_type;
-       ///
-       typedef InsetBase::dispatch_result  result_type;
 
        /// our members behave nicely...
        MathInset() {}
-       /// the virtual base destructor
-       virtual ~MathInset() {}
 
        /// reproduce itself
        virtual MathInset * clone() const = 0;
@@ -111,11 +107,11 @@ public:
        virtual void substitute(MathMacro const & macro);
        /// compute the size of the object, sets ascend_, descend_ and width_
        // updates the (xo,yo)-caches of all contained cells
-       virtual void metrics(MathMetricsInfo & mi) const;
+       virtual void metrics(MetricsInfo & mi) const;
        /// draw the object
-       virtual void draw(MathPainterInfo & pi, int x, int y) const;
+       virtual void draw(PainterInfo & pi, int x, int y) const;
        /// draw selection between two positions
-       virtual void drawSelection(MathPainterInfo & pi,
+       virtual void drawSelection(PainterInfo & pi,
                idx_type idx1, pos_type pos1, idx_type idx2, pos_type pos2) const;
        /// the ascent of the inset above the baseline
        /// compute the size of the object for text based drawing
@@ -136,6 +132,9 @@ public:
        /// Where should we go when we press the up or down cursor key?
        virtual bool idxUpDown(idx_type & idx, pos_type & pos, bool up,
                int targetx) const;
+       /// Where should we go when we press the up or down cursor key?
+       virtual bool idxUpDown2(idx_type & idx, pos_type & pos, bool up,
+               int targetx) const;
        /// The left key
        virtual bool idxLeft(idx_type & idx, pos_type & pos) const;
        /// The right key
@@ -222,7 +221,7 @@ public:
        virtual MathSymbolInset const   * asSymbolInset() const   { return 0; }
        virtual MathUnknownInset        * asUnknownInset()        { return 0; }
        virtual MathUnknownInset const  * asUnknownInset() const  { return 0; }
-       virtual InsetRef                * asInsetRef()            { return 0; }
+       virtual RefInset                * asRefInset()            { return 0; }
 
        /// identifies things that can get scripts
        virtual bool isScriptable() const { return false; }
@@ -289,9 +288,6 @@ public:
 
        /// dump content to stderr for debugging
        virtual void dump() const;
-       /// local dispatcher
-       virtual result_type dispatch
-               (FuncRequest const & cmd, idx_type & idx, pos_type & pos);
 
        /// LyXInset stuff
        /// write labels into a list
@@ -306,6 +302,10 @@ public:
        virtual string fileInsetLabel() const { return "Formula"; }
        /// usually the latex name
        virtual string name() const;
+
+protected:
+       /// a dirty hack
+       BufferView * view() const;
 };
 
 std::ostream & operator<<(std::ostream &, MathAtom const &);
@@ -318,8 +318,4 @@ MathArray asArray(string const & str);
 // initialize math
 void initMath();
 
-/// here to ssave a few includes in the insets
-class Dialogs;
-Dialogs & getDialogs();
-
 #endif