EventGate Class Reference

#include <node.h>

Class Description

This class represents an event receiver/triggerer point.

This is a special attribute, by linking these gates together you can receive events. If a class wants to emit one type of event and want to receive 5 events then it needs 6 EventGate attributes. The receiver eventgates must be linked to emitter evengates (See Connect()). It is also possible to link a receiver to another receiver, then the event will travel along the chain and all receiver will receive the event.

class MyClass : public Node
{
aevent m_eLowMemory;
MyClass( void )
{
m_eLowMemory.Connect( Kernel()->LowMemoryEvent );
};
void OnEvent( const EventGate &cEvent )
{
if ( cEvent == m_eLowMemory )
{
// free some buffers
};
};
};

In the example above, the class MyClass has an EventGate member variable. The class connects this variable to the LowMemoryEvent variable in Kernel, so when the LowMemoryEvent event in kernel is triggered, the m_eLowMemory event object will be triggered also. The class can catch the even with the OnEvent() function as seen above.

+ Examples:

Definition at line 999 of file node.h.

+ Inheritance diagram for EventGate:

Public Member Functions

 EventGate (Node *pOwner=NULL, const QString &sID="")
 Standard constructor. More...
 
void Trigger (void)
 Fire the event. Connected evengates will receive the event (See Node::OnEvent()). More...
 
void Connect (EventGate &cEvent, bool bInternal=false)
 Connect this eventgate to another one to receive events from that. More...
 
bool operator== (const EventGate &cEvent) const
 Compare two eventgates. More...
 
- Public Member Functions inherited from AttributeInstance< int >
 AttributeInstance (Node *pOwner, const QString &sID)
 Standard constructor. You have to specify the name of the attribute which will be used in the user interface. More...
 
 AttributeInstance (Node *pOwner, const QString &sID, const int &cValue)
 Using this constructor you can also specify the initial value of the attribute with its name. More...
 
 AttributeInstance (const AttributeInstance< int > &o)
 
virtual ~AttributeInstance (void)
 
const intValue (void) const
 Returns the value of the attribute. More...
 
virtual void SetValue (int cValue, bool bInternal=false)
 Set the value of the attribute to cValue. More...
 
void UpdateTargets (void)
 
void Serialize (Stream &s)
 Serialize the value of the attribute into a stream. More...
 
void AddTarget (Attribute &cTarget, bool bInternal=false)
 Connection management. More...
 
virtual QString AsString (bool bLocalized=false) const
 Returns the value of the attribute as a string. More...
 
virtual void SetFromString (const QString &sValue, bool bInternal=true, bool=false)
 Sets the value of the attribute as a string. More...
 
AttributeWidgetCreateEditorWidget (QWidget *pParent, int iWidth)
 This function creates and returns the address of a QWidget object. More...
 
Attribute::AttributeType Type (void) const
 Returns the type of the attribute. More...
 
 OPERATORS (int)
 
- Public Member Functions inherited from Attribute
unsigned int TargetCount (void) const
 Returns the number of attributes currently linked to this attribute as target. More...
 
AttributeTarget (unsigned int iIndex) const
 Returns the target with the given index. If iIndex is greater than the number of targets, returns 0;. More...
 
AttributeSource (void) const
 Returns the source attribute, or 0 if there is no source. More...
 
bool operator== (const Attribute &cAttribute) const
 This is a special operator, it does NOT compare the value of the attribute. See Node::OnNodeEvent for details. More...
 
bool operator!= (const Attribute &cAttribute) const
 This is a special operator, it does NOT compare the value of the attribute. See Node::OnNodeEvent for details. More...
 
QString ID (void) const
 Returns the unique ID (within this node) of the attribute. More...
 
QString Name (void) const
 Returns the name of the attribute. More...
 
void SetName (const QString &sName)
 Sets the name of the attribute. More...
 
QString Category (void) const
 Returns the category of the attribute. More...
 
void SetCategory (const QString &sCategory, bool bSeparator=false)
 Sets the category of the attribute. This value will be used in the user interface to determine which attribute group to be used. More...
 
bool Separator (void) const
 Returns the separator state of the widget. More...
 
void SetSeparator (bool bSeparator)
 Call this with true to display a separator line below this widget. More...
 
bool Const (void) const
 Gets the constant status of the attribute. Default value is false. If this is set to true the attribute will not be editable by the user on the interface. More...
 
void SetConst (bool bConst)
 Sets the constant status of the attribute. Default value is false. If this is set to true the attribute will not be editable by the user on the interface. More...
 
bool InstantEdit (void) const
 Returns true, if the attribute edition should be instant, i.e. the attribute should change every time the user makes any changes to the widget. Default is false. More...
 
void SetInstantEdit (bool bOn)
 If bOn is true, editing the attribute on the UI will be instant, i.e. More...
 
bool Visible (void) const
 Returns true if the property is visible. More...
 
void SetVisible (bool bVisible)
 Sets the visible status of the property. More...
 
QString ToolTip (void) const
 Gets the tooltip text to be used on the user interface, this is optional. More...
 
void SetToolTip (const QString &sToolTip)
 Sets the tooltip text to be used on the user interface, this is optional. More...
 
unsigned int Size (void) const
 Returns the size of the attribute value in bytes. More...
 
float LabelWidth (void) const
 Returns the width of label relative to the full width of the line. More...
 
void SetLabelWidth (float fLabelWidth)
 Set the width of label. More...
 
int Index (void) const
 Returns the attribute index;. More...
 
void SetIndex (int iIndex)
 Sets the attribute index;. More...
 
NodeOwner (void) const
 Gets the address of the Node which contains this attribute. More...
 
virtual ~Attribute (void)
 
void SetOwner (Node *pOwner)
 This function sets the owner of the attribute. More...
 
void LogTargets (void)
 
void LogSource (void)
 
void CheckValidity (void)
 
void ClearTargets (void)
 Removes all outgoing connections from the attribute. More...
 
void ClearSource (void)
 Removes the incoming connection for this attribute. More...
 
void Connect (Attribute &cSource, bool bInternal=false)
 Connect this attribute to another one. More...
 
virtual const ClassDescTargetType (void) const
 This is valid only for pointer attributes (See AttributePointer). Returns the type of the pointer. More...
 
virtual void SetPointerValue (Node *pValue, bool bLink=true)
 This is valid only for pointer attributes (See AttributePointer). More...
 
virtual NodePointerValue (void) const
 This is valid only for pointer attributes (See AttributePointer). More...
 
virtual bool ValidatePointerValue (const Node *pValue)
 Validate a possible value for the pointer, returns true if the value is acceptable. More...
 
virtual unsigned int ParameterCount (void) const
 
virtual QString ParameterName (unsigned int iIndex) const
 Returns the name of a parameter with a given index. More...
 
virtual QString ParameterValue (unsigned int iIndex) const
 Returns the value of parameter with a given index. More...
 
virtual void SetParameterValue (const QString &sName, const QString &sValue)
 Set the value of a parameter. More...
 

Additional Inherited Members

- Public Types inherited from Attribute
enum  AttributeType {
  typeUnknown, typeInt, typeFloat, typeBool,
  typeString, typePointer, typeColor, typeVector,
  typeEnum, typeWatch
}
 Type of the attribute. More...
 
- Public Attributes inherited from AttributeInstance< int >
int m_cValue
 
- Protected Member Functions inherited from AttributeInstance< int >
 AttributeInstance (Node *pOwner, const QString &sName, bool bInstall)
 Protected constructor, do not use it. You have to specify the name of the attribute which will be used in the user interface. More...
 
- Protected Member Functions inherited from Attribute
 Attribute (Node *pOwner, const QString &sID)
 
 Attribute (Node *pOwner, bool bInstall)
 
void Uninstall (void)
 
- Protected Attributes inherited from Attribute
int m_iSize
 
Attributem_pSource
 
Attributem_pNext
 
Store< Attribute * > m_aTargets
 
Nodem_pNode
 
QString m_sName
 
bool m_bSeparator
 
QString m_sCategory
 
QString m_sToolTip
 
float m_fLabelWidth
 
bool m_bConst
 
bool m_bVisible
 
int m_iIndex
 
bool m_bInstantEdit
 
QString m_sID
 

Constructor & Destructor Documentation

EventGate ( Node pOwner = NULL,
const QString sID = "" 
)

Standard constructor.

Member Function Documentation

void Trigger ( void  )

Fire the event. Connected evengates will receive the event (See Node::OnEvent()).

void Connect ( EventGate cEvent,
bool  bInternal = false 
)

Connect this eventgate to another one to receive events from that.

Parameters
bInternalif this is false the owner node will receive an event of type etEventTriggered
bool operator== ( const EventGate cEvent) const

Compare two eventgates.


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