/*
* 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 "LString.h"
-#include "mathed/formulabase.h"
+#include "formulabase.h"
#include "math_defs.h"
+#include "math_atom.h"
-class MathMatrixInset;
+class MathHullInset;
///
class InsetFormula : public InsetFormulaBase {
void draw(BufferView *, LyXFont const &, int, float &, bool) 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;
///
Inset::Code lyxCode() const;
///
+ bool insetAllowed(Inset::Code code) const;
+ ///
virtual RESULT localDispatch(BufferView *, kb_action, string const &);
///
std::vector<string> const getLabelList() const;
///
- void handleExtern(string const & arg, BufferView * bv);
+ MathInsetTypes getType() const;
///
- MathMatrixInset * 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;
-private:
- /// Safe setting of contents
- void par(MathInset *);
+ /// access to hull
+ MathHullInset * hull();
+ /// access to hull
+ MathHullInset const * hull() const;
+ ///
+ void handleExtern(string const & arg);
+
+ ///
+ MathAtom par_;
};
#endif