#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 {
///
explicit InsetFormula(MathInsetTypes);
///
+ explicit InsetFormula(string 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 write(Buffer const *, std::ostream &) const;
///
void read(Buffer const *, LyXLex & lex);
///
- int latex(Buffer const *, std::ostream &,
- bool fragile, bool free_spc) const;
+ int latex(Buffer const *, std::ostream &, bool fragile, bool free_spc) const;
///
int ascii(Buffer const *, std::ostream &, int linelen) const;
///
int linuxdoc(Buffer const *, std::ostream &) const;
///
- int docBook(Buffer const *, std::ostream &) const;
+ int docbook(Buffer const *, std::ostream &) const;
+
///
- Inset * clone(Buffer const &) const;
+ Inset * clone(Buffer const &, bool same_id = false) const;
///
void validate(LaTeXFeatures & features) 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;
+ /// access to hull
+ MathHullInset * hull();
+ /// access to hull
+ MathHullInset const * hull() const;
+ ///
+ void handleExtern(string const & arg);
+
+ ///
+ MathAtom par_;
};
#endif