Update documentation for Calculator class.
--HG-- branch : develop
This commit is contained in:
parent
faa858a032
commit
bf15237296
|
@ -35,7 +35,17 @@ int Calculator::iVal = -1;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* @brief Calculator class constructor.
|
* @brief Calculator class constructor. Make easy initialization math parser.
|
||||||
|
*
|
||||||
|
* This constructor hide initialization variables, operators, character sets.
|
||||||
|
* Use this constuctor for evaluation formula. All formulas must be converted to internal look.
|
||||||
|
* Example:
|
||||||
|
*
|
||||||
|
* const QString formula = qApp->FormulaFromUser(edit->text());
|
||||||
|
* Calculator *cal = new Calculator(data);
|
||||||
|
* const qreal result = cal->EvalFormula(formula);
|
||||||
|
* delete cal;
|
||||||
|
*
|
||||||
* @param data pointer to a variable container.
|
* @param data pointer to a variable container.
|
||||||
*/
|
*/
|
||||||
Calculator::Calculator(const VContainer *data)
|
Calculator::Calculator(const VContainer *data)
|
||||||
|
@ -56,6 +66,21 @@ Calculator::Calculator(const VContainer *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* @brief Calculator class constructor. Make easy initialization math parser.
|
||||||
|
*
|
||||||
|
* This constructor hide initialization variables, operators, character sets.
|
||||||
|
* Use this constuctor to get tokens from formula. All formulas must be converted to external look.
|
||||||
|
* Example:
|
||||||
|
*
|
||||||
|
* Calculator *cal = new Calculator(formula, false);
|
||||||
|
* tokens = cal->GetTokens();
|
||||||
|
* numbers = cal->GetNumbers();
|
||||||
|
* delete cal;
|
||||||
|
*
|
||||||
|
* @param data pointer to a variable container.
|
||||||
|
* @param fromUser true if we parse formula from user
|
||||||
|
*/
|
||||||
Calculator::Calculator(const QString &formula, bool fromUser)
|
Calculator::Calculator(const QString &formula, bool fromUser)
|
||||||
:QmuParser(), vVarVal(nullptr)
|
:QmuParser(), vVarVal(nullptr)
|
||||||
{
|
{
|
||||||
|
@ -97,7 +122,8 @@ Calculator::Calculator(const QString &formula, bool fromUser)
|
||||||
}
|
}
|
||||||
|
|
||||||
SetExpr(formula);
|
SetExpr(formula);
|
||||||
Eval();//Need run for making tokens
|
//Need run for making tokens. Don't catch exception here, because it will show us in dialog that formula has error.
|
||||||
|
Eval();
|
||||||
}
|
}
|
||||||
|
|
||||||
Calculator::~Calculator()
|
Calculator::~Calculator()
|
||||||
|
@ -240,6 +266,7 @@ void Calculator::InitVariables(const VContainer *data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void Calculator::InitCharacterSets()
|
void Calculator::InitCharacterSets()
|
||||||
{
|
{
|
||||||
//String with all unique symbols for supported alpabets.
|
//String with all unique symbols for supported alpabets.
|
||||||
|
|
|
@ -34,6 +34,25 @@
|
||||||
#include "../../libs/qmuparser/qmuparser.h"
|
#include "../../libs/qmuparser/qmuparser.h"
|
||||||
using namespace qmu;
|
using namespace qmu;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief The Calculator class for calculation formula.
|
||||||
|
*
|
||||||
|
* Main purpose make easy evaluate value of formula and get tokens.
|
||||||
|
* Note. If created to many parser for different purpes in the same time parser can work wrong.
|
||||||
|
* Example:
|
||||||
|
* DialogEditWrongFormula *dialog = new DialogEditWrongFormula(data);
|
||||||
|
* dialog->setFormula(formula);
|
||||||
|
* if (dialog->exec() == QDialog::Accepted)
|
||||||
|
* {
|
||||||
|
* formula = dialog->getFormula();
|
||||||
|
* //Need delete dialog here because parser in dialog don't allow use correct separator for parsing here.
|
||||||
|
* //Don't know why.
|
||||||
|
* delete dialog;
|
||||||
|
* Calculator *cal = new Calculator(data);
|
||||||
|
* result = cal->EvalFormula(formula);
|
||||||
|
* delete cal;//Here can be memory leak, but dialog already check this formula and probability very low.
|
||||||
|
* }
|
||||||
|
*/
|
||||||
class Calculator:public QmuParser
|
class Calculator:public QmuParser
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -59,8 +59,6 @@ VDrawTool::~VDrawTool()
|
||||||
delete dialog;
|
delete dialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* @brief ShowTool highlight tool.
|
* @brief ShowTool highlight tool.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user