]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_parboxinset.h
Add In nsetOld * argument to updateInset to rebreak the correct par.
[lyx.git] / src / mathed / math_parboxinset.h
index 842779a6883ba5269fee247a15ac9495d1b3f6a4..6800cadf2150361013facfcfda7e5366bc68afbe 100644 (file)
@@ -1,24 +1,36 @@
+// -*- C++ -*-
+/**
+ * \file math_parboxinset.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_PARBOXINSET_H
 #define MATH_PARBOXINSET_H
 
-#include "math_nestinset.h"
 
-class MathParboxInset : public MathNestInset {
+#include "math_textinset.h"
+
+// implements support for \parbox
+
+class MathParboxInset : public MathTextInset {
 public:
        ///
        MathParboxInset();
        ///
        MathParboxInset * asParboxInset() { return this; }
        ///
-       MathInset * clone() const;
+       virtual std::auto_ptr<InsetBase> clone() const;
        ///
        mode_type currentMode() const { return TEXT_MODE; }
-       /// get cursor position
-       void getPos(idx_type idx, pos_type pos, int & x, int & y) const;
        ///
-       void metrics(MathMetricsInfo & mi) const;
+       void metrics(MetricsInfo & mi, Dimension & dim) const;
        ///
-       void draw(MathPainterInfo &, int x, int y) const;
+       void draw(PainterInfo &, int x, int y) const;
        ///
        void infoize(std::ostream & os) const;
        ///
@@ -28,16 +40,12 @@ public:
        ///
        void setPosition(string const & pos);
 private:
-       /// row corresponding to given position 
-       int pos2row(pos_type pos) const;
        /// width on screen
        int lyx_width_;
        /// width for TeX
        string tex_width_;
-       /// htb
+       /// one of htb
        char position_;
-       /// cached metrics
-       mutable std::vector<MathXArray::Row> rows_;
 };
 
 #endif