-// -*- C++ -*-
#ifndef MATH_PARINSET_H
#define MATH_PARINSET_H
-#include "array.h"
-#include "math_inset.h"
-#include "math_defs.h"
-
-class MathedRowSt;
-class MathedArray;
+#ifdef __GNUG__
+#pragma interface
+#endif
+#include "math_hullinset.h"
-/** The math paragraph base class, base to all editable math objects
- \author Alejandro Aguilar Sierra
- */
-class MathParInset: public MathedInset {
-public:
- ///
- MathParInset(short st = LM_ST_TEXT, string const & nm = string(),
- short ot = LM_OT_MIN);
- ///
- explicit
- MathParInset(MathParInset *);
- ///
- virtual ~MathParInset();
- ///
- virtual MathedInset * Clone();
- /// Draw the object on a drawable
- virtual void draw(Painter &, int x, int baseline);
- /// Write LaTeX code
- virtual void Write(std::ostream &, bool fragile);
- ///
- virtual void Metrics();
- ///
- virtual void UserSetSize(short);
- /// Data is stored in a LyXArray
- virtual void setData(MathedArray *);
- ///
- virtual MathedArray * GetData();
- /// Paragraph position
- virtual void GetXY(int &, int &) const;
- ///
- virtual void setXY(int x, int y);
- ///
- virtual void SetFocus(int, int) {}
- ///
- virtual bool Inside(int, int);
- // Tab stuff used by Matrix.
+class MathParInset : public MathHullInset {
+public:
///
- virtual void SetAlign(char, string const &) {}
+ MathParInset() {}
///
- virtual int GetColumns() const { return 1; }
+ MathParInset(MathArray const & ar);
///
- virtual int GetRows() const { return 1; }
+ mode_type currentMode() const { return TEXT_MODE; }
///
- virtual bool isMatrix() const { return false; }
- // Vertical switching
+ void metrics(MathMetricsInfo & mi) const;
///
- virtual bool setArgumentIdx(int i) { return (i == 0); }
+ void draw(MathPainterInfo &, int x, int y) const;
///
- virtual bool setNextArgIdx() { return false; }
+ void infoize(std::ostream & os) const;
///
- virtual int getArgumentIdx() const { return 0; }
- ///
- virtual int getMaxArgumentIdx() const { return 0; }
- ///
- virtual void SetStyle(short);
- ///
- virtual MathedRowSt * getRowSt() const;
- ///
- virtual void setRowSt(MathedRowSt *) {}
- ///
- virtual bool Permit(short f) const;
- ///
- int xo() const {
- return xo_;
- }
- ///
- int yo() const {
- return yo_;
- }
-protected:
- /// Paragraph data is stored here
- MathedArray array;
- ///
- short flag;
- ///
- void xo(int tx) {
- xo_ = tx;
- }
- ///
- void yo(int ty) {
- yo_ = ty;
- }
-private:
- /// Cursor start position
- int xo_;
- ///
- int yo_;
+ void write(WriteStream & os) const;
};
+
#endif