/*
* File: formula.h
* Purpose: Declaration of formula inset
- * Author: Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
+ * Author: Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
* Created: January 1996
- * Description: Allows the edition of math paragraphs inside Lyx.
+ * Description: Allows the edition of math paragraphs inside Lyx.
*
* Copyright: 1996, Alejandro Aguilar Sierra
*
* the GNU General Public Licence version 2 or later.
*/
-#ifndef INSET_FORMULA_H
+#ifndef INSET_FORMULA_H
#define INSET_FORMULA_H
#ifdef __GNUG__
#pragma interface
#endif
-#include "mathed/formulabase.h"
+#include "formulabase.h"
#include "math_defs.h"
+#include "math_atom.h"
-class MathMatrixInset;
+class MathHullInset;
///
class InsetFormula : public InsetFormulaBase {
///
InsetFormula();
///
- InsetFormula(InsetFormula const &);
- ///
explicit InsetFormula(MathInsetTypes);
///
explicit InsetFormula(string const &);
///
- ~InsetFormula();
- ///
- void operator=(InsetFormula const &);
- ///
int ascent(BufferView *, LyXFont const &) const;
///
int descent(BufferView *, LyXFont const &) const;
int width(BufferView *, LyXFont const &) const;
///
void draw(BufferView *, LyXFont const &, int, float &, bool) const;
- ///
- void metrics() const;
///
- void write(std::ostream &) const;
+ void write(Buffer const *, std::ostream &) const;
///
- void read(LyXLex & lex);
+ void read(Buffer const *, LyXLex & lex);
///
- int latex(std::ostream &,
- bool fragile, bool free_spc) const;
+ int latex(Buffer const *, std::ostream &, bool fragile, bool free_spc) const;
///
- int ascii(std::ostream &, int linelen) const;
+ int ascii(Buffer const *, std::ostream &, int linelen) const;
///
- int linuxdoc(std::ostream &) const;
+ int linuxdoc(Buffer const *, std::ostream &) const;
///
- int docbook(std::ostream &) const;
+ int docbook(Buffer const *, std::ostream &) const;
///
Inset * clone(Buffer const &, bool same_id = false) const;
///
std::vector<string> const getLabelList() const;
///
- void handleExtern(string const & arg, BufferView * bv);
+ MathInsetTypes getType() const;
///
- MathInset const * par() const;
+ MathAtom const & par() const { return par_; }
///
+ MathAtom & par() { return par_; }
+
+private:
+ /// Is this a displayed environment?
bool display() const;
- ///
+ /// available in AMS only?
bool ams() const;
+ /// access to hull
+ MathHullInset * hull();
+ /// access to hull
+ MathHullInset const * hull() const;
///
- MathInsetTypes getType() const;
-private:
- /// Safe setting of contents
- void par(MathMatrixInset *);
+ void handleExtern(string const & arg);
+
///
- MathMatrixInset * par_;
+ MathAtom par_;
};
#endif