Guiliani  Version 2.4 revision 5970 (build 3)
CGUICompositeBehaviour Class Reference

Contains other behaviours and forwards events to them. More...

#include <GUICompositeBehaviour.h>

Inheritance diagram for CGUICompositeBehaviour:

Public Member Functions

 CGUICompositeBehaviour ()
 
virtual ~CGUICompositeBehaviour ()
 
void AddBehaviour (CGUIBehaviourDecorator *pBehaviour, eC_Bool bAtFront=false)
 
virtual CGUIBehaviourDecoratorClone () const
 
virtual eC_Bool Decrease ()
 
virtual eC_Bool DoButtonDown (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoButtonUp (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoChar (const eC_UInt &uiKey, const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoDoubleClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoDrag (const eC_Value &vDeltaX, const eC_Value &vDeltaY, const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoDragEnd (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoKeyDown (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoKeyUp (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
virtual eC_Bool DoLongClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoMouseEnter (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoMouseLeave (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoMouseMove (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollDown (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollLeft (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollRight (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollUp (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoUserEvent (CGUIEvent *const pEvent)
 
virtual eC_Bool FocusNext (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
 
virtual eC_Bool FocusPrevious (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
 
virtual void GetFocus ()
 
virtual eC_Bool Increase ()
 
virtual eC_Bool IsCompositeBehaviour () const
 
virtual void LoseFocus ()
 
CGUICompositeBehaviouroperator= (const CGUICompositeBehaviour &rSource)
 
virtual void ReadFromStream ()
 
void RemoveAllBehaviours ()
 Removes all behaviours from this CGUICompositeBehaviour, causing them to be deleted.
 
void RemoveBehaviour (CGUIBehaviourDecorator *pBehaviour)
 
virtual void WriteToStream (const eC_Bool bWriteClassID=false)
 
- Public Member Functions inherited from CGUIBehaviourDecorator
virtual ~CGUIBehaviourDecorator ()
 
- Public Member Functions inherited from CGUIBehaviour
virtual void OnCreate ()
 
virtual void OnDelete ()
 
virtual void OnHide ()
 
virtual void OnShow ()
 
- Public Member Functions inherited from CGUIStreamableObject
const eC_String & GetXMLTag () const
 
void SetXMLTag (const eC_String &kXMLTag)
 

Static Public Attributes

static const eC_Char XMLTAG_NUMBER_OF_BEHAVIOURS [] = "NumberOfBehaviours"
 XML tag to be used when writing the number of following behaviours into a stream.
 
- Static Public Attributes inherited from CGUIBehaviour
static const eC_Char XMLTAG_BEHAVIOURCLASSID [] = "BehaviourClassID"
 XML tag to be used when writing a behaviour class ID into a stream.
 
- Static Public Attributes inherited from CGUIStreamableObject
static const eC_Char XMLTAG_CLASSVERSION [] = "ClassVersion"
 

Protected Types

typedef eC_TListDoubleLinked< CGUIBehaviourDecorator * > BehaviourList
 A Behaviour list is a double-linked list of behaviour decorator pointers.
 

Protected Member Functions

void CopyBehaviours (const CGUICompositeBehaviour &rSource)
 
- Protected Member Functions inherited from CGUIBehaviourDecorator
 CGUIBehaviourDecorator (CGUIObject *const pObject=NULL)
 
 CGUIBehaviourDecorator (const CGUIBehaviourDecorator &kSource)
 
virtual void AssociatedObjectChanges (CGUIObject *const pNewAssociatedObject)
 
CGUIObjectGetAssociatedObject () const
 
- Protected Member Functions inherited from CGUIStreamableObject
eC_UInt ReadStreamingHeader (const eC_UInt &uiClassVersion, const eC_UInt &uiClassMinVersion=0) const
 
void WriteStreamingFooter (const eC_Bool &bWriteClassID) const
 
void WriteStreamingHeader (const eC_Bool &bWriteClassID, const eC_Char *const pkClassIDTag, const eC_Int &iClassID, const eC_UInt &uiClassVersion) const
 
- Protected Member Functions inherited from CGUIDeleteNotification
void InitDeletedFlag (eC_Bool &bDeleted)
 
void ResetDeletedFlag ()
 Resets the internal flag pointer to NULL.
 
 CGUIDeleteNotification ()
 CGUIDeleteNotification constructor.
 
virtual ~CGUIDeleteNotification ()
 

Protected Attributes

BehaviourList m_Behaviours
 List of the attached behaviours.
 

Detailed Description

Contains other behaviours and forwards events to them.

If you have implemented reusable functionalities in various behaviours and want to attach them all to the same object, you may add instances of these behaviours to a CGUICompositeBehaviour and attach this one to the object.

All event handling method calls are forwarded to the child behaviours in the order in which they have been added, until one of them returns true or the end of the list is reached. So for instance a click on an object will result in calls of the DoClick() methods of all attached behaviours.

This mechanism works for all methods declared in the CGUIBehaviour class.

Example:

// Create a composite behaviour instance.
// Add two other behaviours to the composite.
pCompositeBhvr->AddBehaviour(new MyCustomBehaviour());
pCompositeBhvr->AddBehaviour(new MyOtherBehaviour());
// Create an object and attach the composite behaviour to it.
CGUIObject* pObject = new CGUIObject(...);
pObject->SetBehaviour(pCompositeBhvr);

Constructor & Destructor Documentation

◆ CGUICompositeBehaviour()

CGUICompositeBehaviour::CGUICompositeBehaviour ( )

CGUICompositeBehaviour constructor.

◆ ~CGUICompositeBehaviour()

CGUICompositeBehaviour::~CGUICompositeBehaviour ( )
virtual

CGUICompositeBehaviour destructor. Deletes all attached behaviours.

Member Function Documentation

◆ AddBehaviour()

void CGUICompositeBehaviour::AddBehaviour ( CGUIBehaviourDecorator pBehaviour,
eC_Bool  bAtFront = false 
)

Adds a new behaviour to this CGUICompositeBehaviour. The added behaviour will be deleted on destruction of this parent behaviour. If the behaviour is already in the child list, this method does nothing.

Parameters
[in]pBehaviourPointer the new behaviour.
[in]bAtFrontadds the behaviour at the front of the child list (true) or at the end (false).

◆ Clone()

CGUIBehaviourDecorator * CGUICompositeBehaviour::Clone ( ) const
virtual

Creates a copy of this behaviour and all attached behaviours.

Returns
the copy

Reimplemented from CGUIBehaviourDecorator.

◆ CopyBehaviours()

void CGUICompositeBehaviour::CopyBehaviours ( const CGUICompositeBehaviour rSource)
protected

Helper method that copies the internal list of behaviours.

Parameters
[in]rSourcereference to the composite behaviour whose behaviour list should be copied.

◆ Decrease()

eC_Bool CGUICompositeBehaviour::Decrease ( )
virtual

Called when the object receives a standard GK_PAGEDOWN event. For a simple object there is nothing to do but to indicate that the event has not been handled. For a standardized event handling mechanism, this method must exist.

Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoButtonDown()

eC_Bool CGUICompositeBehaviour::DoButtonDown ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the mouse button or finger is pressed down over an object.

Note
DoButtonDown() should work on the absolute positions of this object, that were set at the time of the passed redraw, as the user expects to click on what he sees and not to click on the object in a newer and probably intermediate state that he currently does not see in this state. Thus, to calculate the relative position (where the object was pressed relative to the origin of this object) from the vAbsY argument you must do it like this: vMyRelYPos = vAbsY - GetAbsYPos().
Parameters
vAbsXX-position in screen coordinates where the click occurred
vAbsYY-position in screen coordinates where the click occurred
Returns
True The event has been handled.
False The event has not been handled. In this base implementation always returns False.

Reimplemented from CGUIBehaviour.

◆ DoButtonUp()

eC_Bool CGUICompositeBehaviour::DoButtonUp ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the mouse button or finger is released. The object under the mouse at the time of releasing will receive this event.

Note
DoButtonUp() should work on the absolute positions of this object, that were set at the time of the passed redraw, as the user expects to click on what he sees and not to click on an object in a newer and probably intermediate state that he currently does not see in this state. Thus, to calculate the relative position (where the button was released relative to the origin of this object) from the vAbsY argument you must do it like this: vMyRelYPos = vAbsY - GetAbsYPos().
Parameters
vAbsXX-position in screen coordinates where the mouse was released.
vAbsYY-position in screen coordinates where the mouse was released.
Returns
True The event has been handled.
False The event has not been handled. In this base implementation always returns False.

Reimplemented from CGUIBehaviour.

◆ DoChar()

eC_Bool CGUICompositeBehaviour::DoChar ( const eC_UInt &  uiKey,
const GUIKeyIdentifier_t eKeyIdentifier,
const eC_UInt &  uiModifiers 
)
virtual

Called in reaction to a ET_CHAR event, which means in general that a character key was pressed. In this slot you will get the character with the Guiliani key identifier and modifiers. In most cases the Guiliani key identifier will be GK_NONE. But there are some special cases (e.g. Smartphones) for which it makes sense to send a Guiliani-Key identifier (GK_INTERMIT) even if a character key was pressed.

Parameters
uiKeyCharacter of the pressed key.
eKeyIdentifierThe Guiliani key identifier.
uiModifiersThe key modifiers bitfield.
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoClick()

eC_Bool CGUICompositeBehaviour::DoClick ( const eC_Value &  vAbsX = eC_FromInt(-1),
const eC_Value &  vAbsY = eC_FromInt(-1) 
)
virtual

Called when the object receives a click event. A click can e.g., be the result of a mouse click, a finger press/release sequence on touchscreens, or be triggered by a GK_ACTION keyboard event.

Note
DoClick() should work on the absolute positions of this object, that were set at the time of the passed redraw, as the user expects to click on what he sees and not to click on an object in a newer and probably intermediate state that he currently does not see. Thus, to calculate the relative position (where the mouse button was pressed and released at the same position for in a certain time span, relative to the origin of this object) from the vAbsY argument you must do it like this: vMyRelYPos = vAbsY - GetAbsYPos().
Parameters
vAbsXX-position in screen coordinates where the click occurred
vAbsYY-position in screen coordinates where the click occurred
Returns
True The event has been handled.
False The event has not been handled. In this base implementation it always returns False.

Reimplemented from CGUIBehaviour.

◆ DoDoubleClick()

eC_Bool CGUICompositeBehaviour::DoDoubleClick ( const eC_Value &  vAbsX = eC_FromInt(-1),
const eC_Value &  vAbsY = eC_FromInt(-1) 
)
virtual

Called when an object is clicked twice within a given time span.

See also
CGUIEventHandler::SetDoubleClickTime()
Note
DoDoubleClick() should work on the absolute positions of this object, that were set at the time of the passed redraw, as the user expects to click on what he sees and not to click on the object in a newer and probably intermediate state that he currently does not see in this state. Thus, to calculate the relative position (where the two clicks were done relative to the origin of this object) from the vAbsY argument you must do it like this: vMyRelYPos = vAbsY - GetAbsYPos().
Parameters
vAbsXX-position in screen coordinates where the click occurred
vAbsYY-position in screen coordinates where the click occurred
Returns
True The event has been handled.
False The event has not been handled. In this base implementation it always returns False.

Reimplemented from CGUIBehaviour.

◆ DoDrag()

eC_Bool CGUICompositeBehaviour::DoDrag ( const eC_Value &  vDeltaX,
const eC_Value &  vDeltaY,
const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the object receives a Drag event. Drags are typically created if the mouse is being used while a mouse-button is being pressed, or if the user moves his finger over a touchscreen.

Parameters
vDeltaXrelative movement in x-direction since the last call of DoDrag/ButtonDown
vDeltaYrelative movement in y-direction since the last call of DoDrag/ButtonDown
vAbsXcurrent X-position in screen coordinates of the mouse
vAbsYcurrent Y-position in screen coordinates of the mouse
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoDragEnd()

eC_Bool CGUICompositeBehaviour::DoDragEnd ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called on the dragged object (=the object on which the initial ButtonDown-event occurred) when the mouse button is released after a drag event.

Parameters
vAbsXcurrent X-position in screen coordinates of the mouse
vAbsYcurrent Y-position in screen coordinates of the mouse
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoKeyDown()

eC_Bool CGUICompositeBehaviour::DoKeyDown ( const GUIKeyIdentifier_t eKeyIdentifier,
const eC_UInt &  uiModifiers 
)
virtual

Called in reaction to a ET_KEYDOWN event, which means in general that a non-character key was pressed. For that reason you will only get the Guiliani-Key identifier (possibly with modifiers) in this slot and not the character of the pressed key.

Parameters
eKeyIdentifierThe Guiliani key identifier.
uiModifiersThe key modifiers bitfield.
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoKeyUp()

eC_Bool CGUICompositeBehaviour::DoKeyUp ( const GUIKeyIdentifier_t eKeyIdentifier,
const eC_UInt &  uiModifiers 
)
virtual

Called in reaction to a ET_KEYUP event, which means in general that a non-character key was released. For that reason you will only get the Guiliani key identifier (possibly with modifiers) in this slot and not the character of the released key.

Parameters
eKeyIdentifierThe Guiliani key identifier.
uiModifiersThe key modifiers bitfield.
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoLongClick()

eC_Bool CGUICompositeBehaviour::DoLongClick ( const eC_Value &  vAbsX = eC_FromInt(-1),
const eC_Value &  vAbsY = eC_FromInt(-1) 
)
virtual

Called when an object is pressed for a longer period of time.

See also
CGUIEventHandler::SetLongClickTime()
Note
DoLongClick() should work on the absolute positions of this object, that were set at the time of the passed redraw, as the user expects to click on what he sees and not to click on an object in a newer and probably intermediate state that he currently does not see. Thus, to calculate the relative position (where the mouse button was pressed and held down at the same position for a certain amount of time, relative to the origin of this object) from the vAbsY argument you must do it like this: vMyRelYPos = vAbsY - GetAbsYPos().
Parameters
vAbsXX-position in screen coordinates where the click occurred
vAbsYY-position in screen coordinates where the click occurred
Returns
True The event has been handled.
False The event has not been handled. In this base implementation it always returns False.

Reimplemented from CGUIBehaviour.

◆ DoMouseEnter()

eC_Bool CGUICompositeBehaviour::DoMouseEnter ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the mouse enters the area which is covered by an object. If several objects cover the same region, the topmost one receives the event. Objects will not receive DoMouseEnter events if they are not highlightable.

See also
CGUIObject::IsHighlightable()
Parameters
vAbsXX-position in screen coordinates where the mouse entered the object
vAbsYY-position in screen coordinates where the mouse entered the object
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoMouseLeave()

eC_Bool CGUICompositeBehaviour::DoMouseLeave ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the mouse leaves the area which is covered by an object. Objects will not receive DoMouseLeave events if they are not highlightable.

See also
CGUIObject::IsHighlightable()
Parameters
vAbsXX-position of the mouse in screen coordinates after it left the object
vAbsYY-position of the mouse in screen coordinates after it left the object
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoMouseMove()

eC_Bool CGUICompositeBehaviour::DoMouseMove ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the mouse is moved within the area covered by an object. If several objects cover the same region, the topmost one receives the event. Objects will not receive DoMouseEnter events if they are not highlightable.

See also
CGUIObject::IsHighlightable()
Parameters
vAbsXX-position of the mouse in screen coordinates
vAbsYY-position of the mouse in screen coordinates
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoScrollDown()

eC_Bool CGUICompositeBehaviour::DoScrollDown ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the mouse wheel was scrolled in downward direction.

Parameters
vAbsXX-position of the mouse in screen coordinates
vAbsYY-position of the mouse in screen coordinates
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoScrollLeft()

eC_Bool CGUICompositeBehaviour::DoScrollLeft ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the mouse wheel was scrolled in upward direction while the scroll direction modifier was pressed.

Parameters
vAbsXX-position of the mouse in screen coordinates
vAbsYY-position of the mouse in screen coordinates
See also
CGUIEventHandler::SetScrollModifiers()
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoScrollRight()

eC_Bool CGUICompositeBehaviour::DoScrollRight ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the mouse wheel was scrolled in downward direction while the scroll direction modifier was pressed.

Parameters
vAbsXX-position of the mouse in screen coordinates
vAbsYY-position of the mouse in screen coordinates
See also
CGUIEventHandler::SetScrollModifiers()
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoScrollUp()

eC_Bool CGUICompositeBehaviour::DoScrollUp ( const eC_Value &  vAbsX,
const eC_Value &  vAbsY 
)
virtual

Called when the mouse wheel was scrolled in upward direction.

Parameters
vAbsXX-position of the mouse in screen coordinates
vAbsYY-position of the mouse in screen coordinates
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ DoUserEvent()

eC_Bool CGUICompositeBehaviour::DoUserEvent ( CGUIEvent *const  pEvent)
virtual

Slot for handling of arbitrary user events. Override this slot to catch any incoming event before it is dealt with by standard handlers.

Be aware that DoUserEvent() will be called on the currently focused object for all incoming events! This means for instance that your focused object (and its parents) will also receive events of type ET_LBUTTONDOWN when the user is clicking somewhere else on the screen.

Note
If DoUserEvent returns true, this will prevent any further handling of this event. i.e. If your implementation returns true for ET_MOUSEMOVE events received by this object, this will prevent any calls to the framework's standard DoMouseMove(), DoMouseEnter(), DoMouseLeave() slots.
Parameters
pEventThe event to be processed.
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ FocusNext()

eC_Bool CGUICompositeBehaviour::FocusNext ( CGUIObject *const  pRefObj = NULL,
const eC_Bool &  bSubTreeOfRefObjDone = false 
)
virtual

Called when the object is requested to focus the "next" object. Called when the object receives a standard GK_DOWN event or by request from Source-Code. For a simple object there is nothing to do but to indicate that the event has not been handled. For a standardized event handling mechanism, this method must exist.

Parameters
pRefObjusually is a child of this object which indicates the current position in the child list.
bSubTreeOfRefObjDoneindicates if the subtree that is under pRefObj has already been asked to take focus, or if not.
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ FocusPrevious()

eC_Bool CGUICompositeBehaviour::FocusPrevious ( CGUIObject *const  pRefObj = NULL,
const eC_Bool &  bSubTreeOfRefObjDone = false 
)
virtual

Called when the object is requested to focus the "previous" object. Typically, this happens in reaction to a standard GK_UP event or by request from Source-Code. For a simple object there is nothing to do but to indicate that the event has not been handled. For a standardized event handling mechanism, this method must exist.

Parameters
pRefObjusually is a child of this object which indicates the current position in the child list.
bSubTreeOfRefObjDoneindicates if the subtree that is under pRefObj has already been asked to take focus, or if not.
Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ GetFocus()

void CGUICompositeBehaviour::GetFocus ( )
virtual

Called when the object, or one of its children, received the focus. If this control is a composite object then the following applies: Whether this control or a child control got the focus can be determined by checking if this control is the currently focused object in the event handler.

See also
LoseFocus, CGUIEventHandler::GetFocussedObject()

Reimplemented from CGUIBehaviour.

◆ Increase()

eC_Bool CGUICompositeBehaviour::Increase ( )
virtual

Called when the object receives a standard GK_PAGEUP event. For a simple object there is nothing to do but to indicate that the event has not been handled. For a standardized event handling mechanism, this method must exist.

Returns
True If the event has been handled.
false Else.

Reimplemented from CGUIBehaviour.

◆ IsCompositeBehaviour()

virtual eC_Bool CGUICompositeBehaviour::IsCompositeBehaviour ( ) const
inlinevirtual

Decide whether the returned CGUIBehaviourDecorator is CGUICompositeBehaviour. Please do not reimplement this method in any derived class. It is only used in the CGUIBehaviourDecorator and CGUICompositeBehaviour to distinguish those two basic types.

Returns
True.

Reimplemented from CGUIBehaviourDecorator.

◆ LoseFocus()

void CGUICompositeBehaviour::LoseFocus ( )
virtual

Called when an object has lost the focus. In this method the focused object is already set to the object that newly received the focus.

See also
GetFocus

Reimplemented from CGUIBehaviour.

◆ operator=()

CGUICompositeBehaviour & CGUICompositeBehaviour::operator= ( const CGUICompositeBehaviour rSource)

Assignment operator

Parameters
rSourcesource-object
Returns
copy

◆ ReadFromStream()

void CGUICompositeBehaviour::ReadFromStream ( )
virtual

Reads attributes from the streaming file. Only for use with GUIFactoryManager.

See also
CGUIObject::ReadFromStream()

Reimplemented from CGUIStreamableObject.

◆ RemoveBehaviour()

void CGUICompositeBehaviour::RemoveBehaviour ( CGUIBehaviourDecorator pBehaviour)

Removes a behaviour from this CGUICompositeBehaviour, causing the behaviour to be deleted.

Note
The behaviour will automatically delete itself if it is no longer attached to any CGUIObject or CGUICompositeBehaviour.
Parameters
[in]pBehaviourThe behaviour to be removed.

◆ WriteToStream()

void CGUICompositeBehaviour::WriteToStream ( const eC_Bool  bWriteClassID = false)
virtual

Writes attributes to the streaming file. A CGUIStreamWriter has to be initialized.

Parameters
bWriteClassIDThis flag is used to switch writing of the class ID, leading and trailing tags. When implementing a new streamable object, check this flag. If it is true, first write the class ID, then continue with this object's attributes, and finally call the base class implementation with this flag set to false (this is the default).

Reimplemented from CGUIStreamableObject.


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