EventsSystem::Interfaces::ComplexElement Class Reference

ComplexElement, unlike SimpleElement is a class that must have child nodes. More...

#include <ComplexElement.hpp>

Inherits EventsSystem::Interfaces::SimpleElement< false >.

Inherited by EventsSystem::Events::Event< ConstructionPolicy, DestructionPolicy >, and EventsSystem::Interfaces::BaseSignal.

Inheritance diagram for EventsSystem::Interfaces::ComplexElement:

Inheritance graph
[legend]
Collaboration diagram for EventsSystem::Interfaces::ComplexElement:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void addComponent (Element *eNewElement)
 This function adds a new component to the nodes list.
void removeLastComponent ()
 This function removes a component from the nodes list.
ElementgetCurrentComponent ()
 This function gets the current element that the iterator is pointing on.
ElementgetFront ()
 This function gets the current element that the iterator is pointing on.
bool isFinished ()
 This function checks if the iterator is at the end of the nodes list.
void cloneElemenetsQueue (const ComplexElement &ceClone)
 This function clones the nodes list.
virtual void runComponent ()=0
 The function does the specific job that the element preforms.

Protected Member Functions

 ComplexElement ()
 The constructor of ComplexElement.
 ComplexElement (const ComplexElement &ceCopy)
virtual ~ComplexElement ()
 The destructor of ComplexElement.

Protected Attributes

std::queue< Element * > qElementsList

Detailed Description

ComplexElement, unlike SimpleElement is a class that must have child nodes.

ComplexElement itrates through the nodes and runs them. ComplexElement is used as a father object to all of the complex elements.

Author:
Omer Katz
Date:
06/10/2005
Since:
1.0.5

Definition at line 22 of file ComplexElement.hpp.


Constructor & Destructor Documentation

EventsSystem::Interfaces::ComplexElement::ComplexElement  )  [inline, protected]
 

The constructor of ComplexElement.

It is protected so the only classes that can use it are the driven classes.

Author:
Omer Katz
Date:
06/10/2005
Since:
1.0.5
See also:
Event

Definition at line 37 of file ComplexElement.hpp.

EventsSystem::Interfaces::ComplexElement::ComplexElement const ComplexElement ceCopy  )  [inline, protected]
 

Definition at line 39 of file ComplexElement.hpp.

virtual EventsSystem::Interfaces::ComplexElement::~ComplexElement  )  [inline, protected, virtual]
 

The destructor of ComplexElement.

Author:
Omer Katz
Date:
06/10/2005
Since:
1.0.0 Revision

Definition at line 50 of file ComplexElement.hpp.


Member Function Documentation

void EventsSystem::Interfaces::ComplexElement::addComponent Element eNewElement  )  [inline]
 

This function adds a new component to the nodes list.

Author:
Omer Katz
Date:
06/10/2005
Since:
1.0.5

Definition at line 58 of file ComplexElement.hpp.

References qElementsList.

Referenced by getCurrentComponent().

void EventsSystem::Interfaces::ComplexElement::cloneElemenetsQueue const ComplexElement ceClone  )  [inline]
 

This function clones the nodes list.

Author:
Omer Katz
Date:
06/10/2005
Since:
1.2.0

Definition at line 109 of file ComplexElement.hpp.

References qElementsList.

Element * ComplexElement::getCurrentComponent  ) 
 

This function gets the current element that the iterator is pointing on.

The function also moves the iterator to the next element.

Returns:
The current element.
Author:
Omer Katz
Date:
06/10/2005
Since:
1.0.5

Definition at line 6 of file ComplexElement.cpp.

References addComponent(), getFront(), and removeLastComponent().

Here is the call graph for this function:

Element* EventsSystem::Interfaces::ComplexElement::getFront  )  [inline]
 

This function gets the current element that the iterator is pointing on.

The function does not move the iterator to the next element. This is sometimes useful to do actions on the current element without changing the iterator.

Returns:
The current element.
Author:
Omer Katz
Date:
06/10/2005
Since:
1.0 Revision

Definition at line 91 of file ComplexElement.hpp.

References qElementsList.

Referenced by getCurrentComponent(), and EventsSystem::Policies::EventDestructionPolicy::operator()().

bool EventsSystem::Interfaces::ComplexElement::isFinished  )  [inline]
 

This function checks if the iterator is at the end of the nodes list.

Returns:
Returns true if the iterator is at the end of the nodes list.
Author:
Omer Katz
Date:
06/10/2005
Since:
1.2.0

Definition at line 101 of file ComplexElement.hpp.

References qElementsList.

Referenced by EventsSystem::Policies::EventDestructionPolicy::operator()().

void EventsSystem::Interfaces::ComplexElement::removeLastComponent  )  [inline]
 

This function removes a component from the nodes list.

Author:
Omer Katz
Date:
06/10/2005
Since:
1.0.5

Definition at line 66 of file ComplexElement.hpp.

References qElementsList.

Referenced by getCurrentComponent(), and EventsSystem::Policies::EventDestructionPolicy::operator()().

virtual void EventsSystem::Interfaces::ComplexElement::runComponent  )  [pure virtual]
 

The function does the specific job that the element preforms.

Every tree object must define it.

Author:
Omer Katz
Date:
06/10/2005
Since:
1.0.5

Implements EventsSystem::Interfaces::SimpleElement< false >.

Implemented in EventsSystem::Events::Event< ConstructionPolicy, DestructionPolicy >.

Referenced by EventsSystem::InvokerImpl::getRootElement().


Member Data Documentation

std::queue<Element *> EventsSystem::Interfaces::ComplexElement::qElementsList [protected]
 

Definition at line 25 of file ComplexElement.hpp.

Referenced by addComponent(), cloneElemenetsQueue(), getFront(), isFinished(), and removeLastComponent().


The documentation for this class was generated from the following files:
Generated on Thu Apr 13 12:15:18 2006 for Events System by  doxygen 1.4.6-NO