]> git.lyx.org Git - features.git/blobdiff - src/mathed/math_gridinset.h
Replace LString.h with support/std_string.h,
[features.git] / src / mathed / math_gridinset.h
index cef894035a2b3da9d4f489e9511e3a77974aafa0..f331000b174673c743f8f7574dd5d5afb1d81c31 100644 (file)
@@ -1,21 +1,25 @@
 // -*- C++ -*-
+/**
+ * \file math_gridinset.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
 #ifndef MATH_GRID_H
 #define MATH_GRID_H
 
 #include "math_nestinset.h"
 #include "vspace.h"
-#include "LString.h"
+#include "support/std_string.h"
 
-#ifdef __GNUG__
-#pragma interface
-#endif
 
 /** Gridded math inset base class.
-    This is the base to all grid-like editable math objects
-    like array and eqnarray.
-    \author André Pönitz 2001
-*/
-
+ *  This is the base to all grid-like editable math objects
+ */
 class MathGridInset : public MathNestInset {
 
 public:
@@ -88,14 +92,18 @@ public:
        MathGridInset(col_type m, row_type n);
        ///
        MathGridInset(col_type m, row_type n, char valign, string const & halign);
+       /// Ensures that the dialog is closed.
+       ~MathGridInset();
        ///
-       MathInset * clone() const;
+       virtual std::auto_ptr<InsetBase> clone() const;
        ///
-       void metrics(MathMetricsInfo & mi) const;
+       void metrics(MetricsInfo & mi) const;
        ///
-       void draw(MathPainterInfo & pi, int x, int y) const;
+       void metrics(MetricsInfo & mi, Dimension &) const;
        ///
-       void metricsT(TextMetricsInfo const & mi) const;
+       void draw(PainterInfo & pi, int x, int y) const;
+       ///
+       void metricsT(TextMetricsInfo const & mi, Dimension & dim) const;
        ///
        void drawT(TextPainter & pi, int x, int y) const;
        ///
@@ -122,14 +130,14 @@ public:
        RowInfo & rowinfo(row_type row);
        ///
        const CellInfo & cellinfo(idx_type idx) const { return cellinfo_[idx]; }
-       /// 
+       ///
        CellInfo & cellinfo(idx_type idx) { return cellinfo_[idx]; }
        /// identifies GridInset
        MathGridInset * asGridInset() { return this; }
        /// identifies GridInset
        MathGridInset const * asGridInset() const { return this; }
        /// local dispatcher
-       result_type dispatch(FuncRequest const & cmd, idx_type & idx, pos_type & pos);
+       dispatch_result dispatch(FuncRequest const & cmd, idx_type & idx, pos_type & pos);
 
        ///
        col_type ncols() const;
@@ -164,17 +172,17 @@ public:
        ///
        virtual void delRow(row_type r);
        ///
-       virtual void addFancyRow(row_type r) { addRow(r); }
+       virtual void copyRow(row_type r);
        ///
-       virtual void delFancyRow(row_type r) { delRow(r); }
+       virtual void swapRow(row_type r);
        ///
        virtual void addCol(col_type c);
        ///
        virtual void delCol(col_type c);
        ///
-       virtual void addFancyCol(col_type c) { addCol(c); }
+       virtual void copyCol(col_type c);
        ///
-       virtual void delFancyCol(col_type c) { delCol(c); }
+       virtual void swapCol(col_type c);
        ///
        virtual void appendRow();
        ///
@@ -204,11 +212,11 @@ public:
        ///
        void normalize(NormalStream &) const;
        ///
-       //void maplize(MapleStream &) const;
+       //void maple(MapleStream &) const;
        ///
        void mathmlize(MathMLStream &) const;
        ///
-       //void octavize(OctaveStream &) const;
+       //void octave(OctaveStream &) const;
 
 protected:
        /// returns x offset of cell compared to inset
@@ -218,7 +226,7 @@ protected:
        /// returns proper 'end of line' code for LaTeX
        virtual string eolString(row_type row, bool fragile = false) const;
        /// returns proper 'end of column' code for LaTeX
-       virtual string eocString(col_type col) const;
+       virtual string eocString(col_type col, col_type lastcol) const;
        /// extract number of columns from alignment string
        col_type guessColumns(string const & halign) const;
        /// splits cells and shifts right part to the next cell