#include <ExpressionAction.h>
Public Member Functions | |
virtual bool | addArgument (ExpressionAction *) |
virtual ExpressionAction * | close (Type t) |
ExpressionBracket () | |
virtual bool | isReadOnly () const |
virtual ExpressionAction * | parent () const |
virtual void | replaceArgument (ExpressionAction *oldA, ExpressionAction *newA) |
virtual QVariant | value () const |
virtual const QString & | xml_tagName () const |
~ExpressionBracket () | |
Static Public Attributes | |
static const QString | xmlExpressionBracketTag = "ExpressionBracket" |
Protected Member Functions | |
virtual void | xml_writeChildren (XML_WRITECHILDREN_ARGS) const |
virtual void | xml_writeProperties (XML_WRITEPROPERTIES_ARGS) const |
QGpCoreTools::ExpressionBracket::ExpressionBracket | ( | ) | [inline] |
{_open=true; _arg=0;}
QGpCoreTools::ExpressionBracket::~ExpressionBracket | ( | ) | [inline] |
{delete _arg;}
bool QGpCoreTools::ExpressionBracket::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(!_arg || a->addArgument(_arg)) { a->setParent(this); _arg=a; return true; } else return false; }
ExpressionAction * QGpCoreTools::ExpressionBracket::close | ( | ExpressionAction::Type | t | ) | [virtual] |
Reimplemented from QGpCoreTools::ExpressionAction.
References QGpCoreTools::ExpressionAction::_parent, QGpCoreTools::ExpressionAction::CloseBracket, and TRACE.
{ TRACE; if(t==CloseBracket && _open) { _open=false; return _parent; } else return ExpressionAction::close(t); }
virtual bool QGpCoreTools::ExpressionBracket::isReadOnly | ( | ) | const [inline, virtual] |
Reimplemented from QGpCoreTools::ExpressionAction.
{return _arg->isReadOnly();}
virtual ExpressionAction* QGpCoreTools::ExpressionBracket::parent | ( | ) | const [inline, virtual] |
Reimplemented from QGpCoreTools::ExpressionAction.
{if(_open) return 0; else return _parent;}
void QGpCoreTools::ExpressionBracket::replaceArgument | ( | ExpressionAction * | oldA, |
ExpressionAction * | newA | ||
) | [virtual] |
Implements QGpCoreTools::ExpressionAction.
References QGpCoreTools::ExpressionAction::setParent(), and TRACE.
virtual QVariant QGpCoreTools::ExpressionBracket::value | ( | ) | const [inline, virtual] |
Implements QGpCoreTools::ExpressionAction.
{return _arg ? _arg->value() : QVariant();}
virtual const QString& QGpCoreTools::ExpressionBracket::xml_tagName | ( | ) | const [inline, virtual] |
Reimplemented from QGpCoreTools::ExpressionAction.
{return xmlExpressionBracketTag;}
void QGpCoreTools::ExpressionBracket::xml_writeChildren | ( | XML_WRITECHILDREN_ARGS | ) | const [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
References TRACE, and QGpCoreTools::XMLClass::xml_save().
void QGpCoreTools::ExpressionBracket::xml_writeProperties | ( | XML_WRITEPROPERTIES_ARGS | ) | const [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
References TRACE, and QGpCoreTools::XMLClass::writeProperty().
{ TRACE; Q_UNUSED(context); writeProperty(s, "open", _open); }
const QString QGpCoreTools::ExpressionBracket::xmlExpressionBracketTag = "ExpressionBracket" [static] |