]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_exfuncinset.C
several smallish changes/bugfixes/left overs from Porto
[lyx.git] / src / mathed / math_exfuncinset.C
index 162792e320cc1d84db60853bcc8e91aec41626dd..0238540a821183d8212424758035a9b11a644928 100644 (file)
@@ -1,10 +1,9 @@
-#include "math_exfuncinset.h"
-#include "support.h"
-#include "debug.h"
-#include "support/LOstream.h"
-
+#include <config.h>
 
-using std::ostream;
+#include "math_exfuncinset.h"
+#include "math_support.h"
+#include "math_mathmlstream.h"
+#include "math_streamstr.h"
 
 
 MathExFuncInset::MathExFuncInset(string const & name)
@@ -12,44 +11,56 @@ MathExFuncInset::MathExFuncInset(string const & name)
 {}
 
 
+MathExFuncInset::MathExFuncInset(string const & name, MathArray const & ar)
+       : MathNestInset(1), name_(name)
+{
+       cell(0) = ar;
+}
+
+
 MathInset * MathExFuncInset::clone() const
 {
        return new MathExFuncInset(*this);
 }
 
 
-void MathExFuncInset::write(MathWriteInfo & os) const
+void MathExFuncInset::metrics(MathMetricsInfo & mi) const
 {
-       os << '\\' << name_ << '{';
-       cell(0).write(os);
-       os << '}';
+       mathed_string_dim(mi.base.font, name_, ascent_, descent_, width_);
 }
 
 
-void MathExFuncInset::writeNormal(ostream & os) const
+void MathExFuncInset::draw(MathPainterInfo & pi, int x, int y) const
 {
-       os << "[" << name_ << ' ';
-       cell(0).writeNormal(os);
-       os << "] ";
+       drawStrBlack(pi, x, y, name_);
 }
 
 
-void MathExFuncInset::metrics(MathMetricsInfo const & mi) const
+void MathExFuncInset::normalize(NormalStream & os) const
 {
-       mi_ = mi;
-       mathed_string_dim(LM_TC_TEXTRM, mi_, name_, ascent_, descent_, width_);
-       lyxerr << "should not happen\n";
+       os << '[' << name_ << ' ' << cell(0) << ']';
 }
 
 
-void MathExFuncInset::draw(Painter & pain, int x, int y) const
-{  
-       drawStr(pain, LM_TC_TEXTRM, mi_, x, y, name_);
-       lyxerr << "should not happen\n";
+void MathExFuncInset::maplize(MapleStream & os) const
+{
+       os << name_ << '(' << cell(0) << ')';
+}
+
+
+void MathExFuncInset::mathmlize(MathMLStream & os) const
+{
+       os << MTag(name_.c_str()) << cell(0) << ETag(name_.c_str());
+}
+
+
+void MathExFuncInset::octavize(OctaveStream & os) const
+{
+       os << name_ << '(' << cell(0) << ')';
 }
 
 
-string MathExFuncInset::octavize() const
+void MathExFuncInset::write(WriteStream & os) const
 {
-       return name_ + '(' + cell(0).octavize() + ')';
+       os << '\\' << name_ << '{' << cell(0) << '}';
 }