X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fformulabase.h;h=cd80d0e92de163b33a3dccabd0808f3a043cc4e5;hb=8beaec704ec892cfdf060a32822fe2edb671889a;hp=a3354867aacaddbf58e86800d6d06c3afe1d914a;hpb=ec5d8718c51e86b6300de5de29732634cace81d3;p=lyx.git diff --git a/src/mathed/formulabase.h b/src/mathed/formulabase.h index a3354867aa..cd80d0e92d 100644 --- a/src/mathed/formulabase.h +++ b/src/mathed/formulabase.h @@ -20,10 +20,11 @@ #endif #include -#include - #include "insets/inset.h" +// only for getType(): +#include "math_defs.h" + class Buffer; class BufferView; class MathInset; @@ -31,12 +32,8 @@ class MathInset; /// class InsetFormulaBase : public UpdatableInset { public: - /// - InsetFormulaBase(InsetFormulaBase const & p); /// - explicit InsetFormulaBase(MathInset *); - /// - virtual ~InsetFormulaBase(); + InsetFormulaBase(); /// virtual int ascent(BufferView *, LyXFont const &) const = 0; /// @@ -60,6 +57,8 @@ public: virtual int linuxdoc(Buffer const *, std::ostream &) const; /// virtual int docBook(Buffer const *, std::ostream &) const; + /// + virtual MathInsetTypes getType() const = 0; protected: /// the actual functions don't use the Buffer * parameter @@ -80,15 +79,14 @@ public: /// virtual void validate(LaTeXFeatures &) const; /// - virtual Inset * clone(Buffer const &) const = 0; + virtual Inset * clone(Buffer const &, bool same_id = false) const = 0; /// virtual Inset::Code lyxCode() const; - /// - virtual LyXFont const convertFont(LyXFont const & f) const; /// what appears in the minibuffer when opening virtual string const editMessage() const; /// virtual void edit(BufferView *, int x, int y, unsigned int button); + virtual void edit(BufferView *, bool front = true); /// virtual void toggleInsetCursor(BufferView *); /// @@ -116,13 +114,15 @@ public: /// virtual std::vector const getLabelList() const; /// - MathInset * par() const; -protected: + virtual MathInset const * par() const = 0; /// - virtual void updateLocal(BufferView * bv); - + virtual void metrics() const = 0; +protected: /// - MathInset * par_; + virtual void updateLocal(BufferView * bv, bool mark_dirty); +private: + /// unimplemented + void operator=(const InsetFormulaBase &); }; // We don't really mess want around with mathed stuff outside mathed.