.Functions4U: Added more functions to QtfEditor

git-svn-id: svn://ultimatepp.org/upp/trunk@5753 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
koldo 2013-02-02 16:02:38 +00:00
parent 05056226ae
commit 71f6aa7005
2 changed files with 28 additions and 0 deletions

View file

@ -51,6 +51,8 @@ private:
static Drawing Bracket(Drawing &data);
static Drawing Sqrt(Drawing &right);
static Drawing Exponent(Drawing &right);
static Drawing Der(Drawing &data);
static Drawing Abs(Drawing &data);
static Drawing Integral(Drawing &data, Drawing &sub, Drawing &sup);
static Drawing Summat(Drawing &data, Drawing &sub, Drawing &sup);
static Drawing Exp(Drawing &data, Drawing &exp);

View file

@ -196,6 +196,20 @@ Drawing EquationDraw::Exponent(Drawing &right)
return EquationDraw::Exp(left, right);
}
Drawing EquationDraw::Der(Drawing &data)
{
return EquationDraw::Function("d", data);
}
Drawing EquationDraw::Abs(Drawing &data)
{
Drawing pizq = Text("|", true, 0, 0, 1.3);
Drawing pder = Text("|");
Drawing parizq = JoinFlex(pizq, 1, data, 1);
return JoinFlex(parizq, 1, pder, 1);
}
Drawing EquationDraw::Integral(Drawing &data, Drawing &sub, Drawing &sup)
{
Drawing left = Text("");
@ -318,6 +332,18 @@ Drawing EquationDraw::Term(CParser& p, bool noBracket)
p.PassChar(')');
return EquationDraw::Exponent(x);
}
if(p.Id("der")) {
p.PassChar('(');
Drawing x = Exp(p);
p.PassChar(')');
return EquationDraw::Der(x);
}
if(p.Id("abs")) {
p.PassChar('(');
Drawing x = Exp(p);
p.PassChar(')');
return EquationDraw::Abs(x);
}
String trig = TermTrig(p);
if (!IsNull(trig)) {
p.PassChar('(');