Used for resolving a RelativeCoordinate expression in the context of a component. More...
Inherits Expression::Scope.
Public Member Functions | |
| ComponentScope (Component &component_) | |
| Expression | getSymbolValue (const String &symbol) const |
| Returns the value of a symbol. | |
| void | visitRelativeScope (const String &scopeName, Visitor &visitor) const |
| Creates a Scope object for a named scope, and then calls a visitor to do some kind of processing with this new scope. | |
| String | getScopeUID () const |
| Returns some kind of globally unique ID that identifies this scope. | |
Protected Member Functions | |
| Component * | findSiblingComponent (const String &componentID) const |
Protected Attributes | |
| Component & | component |
Used for resolving a RelativeCoordinate expression in the context of a component.
| Expression RelativeCoordinatePositionerBase::ComponentScope::getSymbolValue | ( | const String & | symbol | ) | const [virtual] |
Returns the value of a symbol.
If the symbol is unknown, this can throw an Expression::EvaluationError exception. The member value is set to the part of the symbol that followed the dot, if there is one, e.g. for "foo.bar", symbol = "foo" and member = "bar".
| Expression::EvaluationError |
Reimplemented from Expression::Scope.
| void RelativeCoordinatePositionerBase::ComponentScope::visitRelativeScope | ( | const String & | scopeName, |
| Visitor & | visitor | ||
| ) | const [virtual] |
Creates a Scope object for a named scope, and then calls a visitor to do some kind of processing with this new scope.
If the name is valid, this method must create a suitable (temporary) Scope object to represent it, and must call the Visitor::visit() method with this new scope.
Reimplemented from Expression::Scope.
| String RelativeCoordinatePositionerBase::ComponentScope::getScopeUID | ( | ) | const [virtual] |
Returns some kind of globally unique ID that identifies this scope.
Reimplemented from Expression::Scope.
| Component* RelativeCoordinatePositionerBase::ComponentScope::findSiblingComponent | ( | const String & | componentID | ) | const [protected] |