]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_funcinset.h
enable direct input of #1...#9; some whitespace changes
[lyx.git] / src / mathed / math_funcinset.h
index bbc78d93852dee79f9d9d58e0bb0704db7fd6775..98786403d30e4c979a8824f054d571c08bccd68a 100644 (file)
@@ -1,35 +1,50 @@
+// -*- C++ -*-
 #ifndef MATH_FUNCINSET_H
 #define MATH_FUNCINSET_H
 
-#include "math_inset.h"
+#include "math_diminset.h"
+#include "math_defs.h"
+
+#ifdef __GNUG__
+#pragma interface
+#endif
 
 /**
  Functions or LaTeX names for objects that I don't know how to draw.
  */
-class MathFuncInset: public MathedInset  {
+class MathFuncInset : public MathDimInset {
 public:
        ///
-       explicit
-       MathFuncInset(string const & nm,
-                     short ot = LM_OT_FUNC, short st = LM_ST_TEXT);
+       explicit MathFuncInset(string const & nm);
+       ///
+       MathInset * clone() const;
+       ///
+       void metrics(MathMetricsInfo const & st) const;
        ///
-       ~MathFuncInset();
+       void draw(Painter &, int x, int y) const;
        ///
-       MathedInset * Clone();
+       string const & name() const;
+       /// identifies FuncInsets
+       MathFuncInset * asFuncInset() { return this; }
+       ///
+       void setName(string const &);
+       ///
+       bool match(MathInset * p) const;
+
        ///
-       void draw(Painter &, int, int);
+       void normalize(NormalStream &) const;
        ///
-       void Write(std::ostream &, bool fragile);
+       void maplize(MapleStream &) const;
        ///
-       void Metrics();
+       void mathmlize(MathMLStream &) const;
        ///
-       inline bool GetLimits() const;
-protected:
+       void octavize(OctaveStream &) const;
        ///
-       int ln;
+       void write(WriteStream &) const;
+private:
        ///
-       bool lims;
+       string name_;
        ///
-       string fname;
+       mutable MathMetricsInfo mi_;
 };
 #endif