zeus::TXObjectPath Class Reference

#include <XObjectPath.h>

Inheritance diagram for zeus::TXObjectPath:

zeus::TZObject zeus::IZUnknown

List of all members.

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< RToken > &rTokens, TXObjectCollection &rResults)

Protected Attributes

TQueue< RTokenm_lstTokens
 Token Queue.

Classes

struct  RToken


Detailed Description

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

Member Enumeration Documentation

Enumerator:
etValueEnd 
etValuePoint 
etValueSeperator 
etValueOpenBracket 
etValueCloseBracket 
etValueEquals 
etValueAttribute 
etValueSmi 

Enumerator:
etTokenUnknown  Unknown token
etTokenRoot  Root object must be found
etTokenParent  Parent object must be found
etTokenRecursive  Find all objects with apply to the path recursivly
etTokenObject  object must be found


Constructor & Destructor Documentation

TXObjectPath::TXObjectPath ( IXObject pObj  ) 

Creates the XObject Path

TXObjectPath::~TXObjectPath (  )  [virtual]

Destroys the object path


Member Function Documentation

Retval TXObjectPath::getObject ( const IString rPath,
IXObject *&  rpObject 
)

Suchen nach einem Modul

Parameters:
rPath : Pfad des Moduls
rpObject : Rueckgabeparameter
Return values:
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

Parameters:
rPath : Path of objects
pObjects : return parameter
Return values:
RET_NOERROR : Objects returned
RET_REQUEST_FAILED : Could not find an object

Retval TXObjectPath::findObject ( IXObject rBaseObject,
IXObject *&  rpResult 
) [protected]

This method searches for a single object which was selected by the xobject path.

Parameters:
rBaseObject : base object for further search
rpResult : return parameter contains the selected object
Return values:
RET_NOERROR,: object found
RET_REQUEST_FAILED : Invalid xobject path

Retval TXObjectPath::findObjects2 ( IXObject rBaseObject,
TStack< RToken > &  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.

Parameters:
rBaseObject : base object for further search
rTokenList : temporary token list
rResults : return parameter contains the list
Return values:
RET_NOERROR,: Collection found
RET_REQUEST_FAILED : Invalid xobject path


Member Data Documentation

Token Queue.


The documentation for this class was generated from the following files:


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Wed Oct 28 21:42:36 2009