]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_nestinset.h
move things around
[lyx.git] / src / mathed / math_nestinset.h
index 5ec120e7a42396d9c82be6a6ece499a05ccded52..3f8fd3e18064495dd594a61ab81cc610d76412f2 100644 (file)
@@ -9,7 +9,7 @@
 
 /** Abstract base class for all math objects that contain nested items.
     This is basically everything that is not a single character or a
-    single symbol
+    single symbol.
 */
 
 
@@ -21,11 +21,25 @@ public:
        explicit MathNestInset(idx_type ncells);
 
        /// the size is usuall some sort of convex hull of the cells
-       void metrics(MathMetricsInfo const & st) const;
+       void metrics(MathMetricsInfo const & mi) const;
+       /// add space for markers
+       void metricsMarkers(int frame = 1) const;
+       /// add space for markers
+       void metricsMarkers2(int frame = 1) const;
+       /// draw background if locked
+       void draw(MathPainterInfo & pi, int x, int y) const;
+       /// draw selection background
+       void drawSelection(MathPainterInfo & pi,
+               idx_type idx1, pos_type pos1, idx_type idx2, pos_type pos2) const;
+       void drawMarkers(MathPainterInfo & pi, int x, int y) const;
+       /// draw four angular markers
+       void drawMarkers2(MathPainterInfo & pi, int x, int y) const;
        /// appends itself with macro arguments substituted
        void substitute(MathMacro const & macro);
        /// identifies NestInsets
        MathNestInset * asNestInset() { return this; }
+       /// get cursor position
+       void getPos(idx_type idx, pos_type pos, int & x, int & y) const;
 
        /// order of movement through the cells when pressing the left key
        bool idxLeft(idx_type & idx, pos_type & pos) const;
@@ -53,6 +67,8 @@ public:
        bool lock() const;
        /// access to the lock
        void lock(bool);
+       /// get notification when the cursor leaves this inset
+       void notifyCursorLeaves();
 
        /// direct access to the cell
        MathArray & cell(idx_type);
@@ -74,10 +90,12 @@ public:
        void replace(ReplaceData &);
        /// do we contain a given pattern?
        bool contains(MathArray const &);
+       /// glue everything to a single cell
+       MathArray glue() const;
 
        /// debug helper
        void dump() const;
-       ///
+       /// is the cursor currently somewhere within this inset?
        virtual bool editing() const;
 
 protected:
@@ -85,7 +103,7 @@ protected:
        typedef std::vector<MathXArray> cells_type;
        /// thusly:
        cells_type cells_;
-       /// if the inset is locked, it can't be enter with the cursor
+       /// if the inset is locked, it can't be entered with the cursor
        bool lock_;
 };