#include <XObjectPath.h>
Classes | |
| struct | TypeToken |
Public Types | |
| enum | ETokenValue { etValueEnd = '\0', etValuePoint = '.', etValueSeperator = '/', etValueOpenBracket = '[', etValueCloseBracket = ']', etValueEquals = '=', etValueAttribute = '@', etValueSmi = '\'' } |
| enum | ETokenType { etTokenUnknown, etTokenRoot, etTokenParent, etTokenRecursive, etTokenObject } |
Public Member Functions | |
| TXObjectPath (IXObject *pObj) | |
| virtual | ~TXObjectPath () |
| Retval | getObject (const IString &rPath, IXObject *&rpObject) |
| Retval | getObjects (const IString &rPath, IXObjectCollection *&pObjects) |
Protected Member Functions | |
| Retval | findObject (IXObject &rBaseObject, IXObject *&rpResult) |
| Retval | findObjects2 (IXObject &rBaseObject, TStack< TypeToken > &rTokens, TXObjectCollection &rResults) |
Protected Attributes | |
| TQueue< TypeToken > | m_lstTokens |
| Token Queue. | |
Die Klasse TMOMPath dient als Navigationsklasse zum suchen von Module mittels des Pfad-Syntax von StuderWIN. Es kann absoltut (vom Root aus) gesucht werden, oder aber relativ zu dem im Konstruktor angegebenen Modul. Dabei gilt:
[/] ist die Bezeichnung fuer Root
[..] ist die Bezeichnung fuer den Parent
[Bezeichner] bezeichne das Modul
[/] ist das Trennzeichen zwischen den Bezeichner und [..] bzw [//]
Root::= "/"
Parent::= ".."
Bezeichner:= ASCII-Zeichen ohne "." und "/"
Bezeichners:= Bezeichners "/" | Bezeichner
Parents::= Parents "/" | Parent
AbsString::= Root Bezeichners | Root
RelString::= Bezeichners | Parents | Parents Bezeichners
Pfad:== AbsString | RelString
| TXObjectPath::TXObjectPath | ( | IXObject * | pObj ) |
Creates the XObject Path
| TXObjectPath::~TXObjectPath | ( | ) | [virtual] |
Destroys the object path
This method searches for a single object which was selected by the xobject path.
| rBaseObject | : base object for further search |
| rpResult | : return parameter contains the selected object |
| RET_NOERROR,: | object found |
| RET_REQUEST_FAILED | : Invalid xobject path |
| Retval TXObjectPath::findObjects2 | ( | IXObject & | rBaseObject, |
| TStack< TypeToken > & | rTokenList, | ||
| TXObjectCollection & | rResults | ||
| ) | [protected] |
This method searches for objects which are selectable by the xobject path It will return a collection of all objects found.
| rBaseObject | : base object for further search |
| rTokenList | : temporary token list |
| rResults | : return parameter contains the list |
| RET_NOERROR,: | Collection found |
| RET_REQUEST_FAILED | : Invalid xobject path |
Suchen nach einem Modul
| rPath | : Pfad des Moduls |
| rpObject | : Rueckgabeparameter |
| NULL | : Das Modul mit diesem Pfad existiert nicht |
| Pointer | : Zeiger auf das gefundene Modul |
| Retval TXObjectPath::getObjects | ( | const IString & | rPath, |
| IXObjectCollection *& | rpObjects | ||
| ) |
This method searches for xobject applying the path
| rPath | : Path of objects |
| rpObjects | : return parameter |
| RET_NOERROR | : Objects returned |
| RET_REQUEST_FAILED | : Could not find an object |
TQueue<TypeToken> zeus::TXObjectPath::m_lstTokens [protected] |
Token Queue.