#include <ExpressionAction.h>
Public Member Functions | |
virtual bool | addArgument (ExpressionAction *a) |
virtual ExpressionAction * | close (Type t) |
ExpressionVariable (QString name, ExpressionContext *c) | |
virtual bool | isReadOnly () const |
virtual ExpressionAction * | parent () const |
virtual void | replaceArgument (ExpressionAction *, ExpressionAction *) |
virtual void | setValue (const QVariant &val) |
virtual QVariant | value () const |
virtual const QString & | xml_tagName () const |
~ExpressionVariable () | |
Static Public Attributes | |
static const QString | xmlExpressionVariableTag = "ExpressionVariable" |
Protected Member Functions | |
virtual void | xml_writeChildren (XML_WRITECHILDREN_ARGS) const |
virtual void | xml_writeProperties (XML_WRITEPROPERTIES_ARGS) const |
QGpCoreTools::ExpressionVariable::ExpressionVariable | ( | QString | name, |
ExpressionContext * | c | ||
) |
References QGpCoreTools::ExpressionContext::addVariable(), and TRACE.
{ TRACE; _context=context; _varIndex=_context->addVariable(name, new ExpressionVariableStorage); _index=0; _open=false; }
{delete _index;}
bool QGpCoreTools::ExpressionVariable::addArgument | ( | ExpressionAction * | a | ) | [virtual] |
If argument is already set, the new argument is set as the current and the old one is set as the argument of the new argument. This mechanism is designed for cases where an operator with a higher priority is encountered during parse.
Implements QGpCoreTools::ExpressionAction.
References QGpCoreTools::ExpressionAction::addArgument(), QGpCoreTools::ExpressionAction::setParent(), and TRACE.
{ TRACE; if(!_index || a->addArgument(_index)) { a->setParent(this); _index=a; _open=true; return true; } else return false; }
Reimplemented from QGpCoreTools::ExpressionAction.
References QGpCoreTools::ExpressionAction::_parent, QGpCoreTools::ExpressionAction::CloseSquareBracket, and TRACE.
{ TRACE; if(t==CloseSquareBracket && _index && _open) { _open=false; return _parent; } else return ExpressionAction::close(t); }
bool QGpCoreTools::ExpressionVariable::isReadOnly | ( | ) | const [virtual] |
Reimplemented from QGpCoreTools::ExpressionAction.
References QGpCoreTools::ExpressionStorage::isReadOnly(), TRACE, and QGpCoreTools::ExpressionContext::variable().
{ TRACE; return _context->variable(_varIndex)->isReadOnly(); }
virtual ExpressionAction* QGpCoreTools::ExpressionVariable::parent | ( | ) | const [inline, virtual] |
Reimplemented from QGpCoreTools::ExpressionAction.
{if(_open) return 0; else return _parent;}
void QGpCoreTools::ExpressionVariable::replaceArgument | ( | ExpressionAction * | oldA, |
ExpressionAction * | newA | ||
) | [virtual] |
Implements QGpCoreTools::ExpressionAction.
References QGpCoreTools::ExpressionAction::setParent(), and TRACE.
void QGpCoreTools::ExpressionVariable::setValue | ( | const QVariant & | val | ) | [virtual] |
Reimplemented from QGpCoreTools::ExpressionAction.
References QGpCoreTools::ExpressionStorage::setValue(), TRACE, QGpCoreTools::ExpressionAction::value(), and QGpCoreTools::ExpressionContext::variable().
QVariant QGpCoreTools::ExpressionVariable::value | ( | ) | const [virtual] |
virtual const QString& QGpCoreTools::ExpressionVariable::xml_tagName | ( | ) | const [inline, virtual] |
Reimplemented from QGpCoreTools::ExpressionAction.
{return xmlExpressionVariableTag;}
void QGpCoreTools::ExpressionVariable::xml_writeChildren | ( | XML_WRITECHILDREN_ARGS | ) | const [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
References TRACE, and QGpCoreTools::XMLClass::xml_save().
void QGpCoreTools::ExpressionVariable::xml_writeProperties | ( | XML_WRITEPROPERTIES_ARGS | ) | const [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
References TRACE, and QGpCoreTools::XMLClass::writeProperty().
{ TRACE; Q_UNUSED(context); writeProperty(s, "varIndex", _varIndex); }
const QString QGpCoreTools::ExpressionVariable::xmlExpressionVariableTag = "ExpressionVariable" [static] |