MeVisLab Toolbox Reference
ml::CSOEvent Class Reference

Class for all CSO events. More...

#include <CSOEvent.h>

Inheritance diagram for ml::CSOEvent:
ml::BaseEvent

Public Types

enum  CSOEventType {
  NONE = 0 , MODULE_EVENT , CSOLIST_EVENT_GROUP_OPEN , CSOLIST_EVENT_GROUP_CLOSE ,
  CSOLIST_CLEAR , CSOLIST_CLONE , CSOLIST_MERGE , CSOLIST_LOAD ,
  CSO_ADD , CSO_REMOVE , CSO_MODIFICATION , CSO_COPY ,
  CSO_CLOSING , CSO_OPENING , CSO_GEOMETRY_CHANGE , CSO_DELETE_SEEDPOINT ,
  CSO_MOUSE_OVER_CHANGE , CSO_SELECTION_CHANGE , CSO_USER_DATA_CHANGE , CSO_VISUAL_ATTRIBUTE_CHANGE ,
  CSO_LABEL , CSO_DESCRIPTION , CSO_TIMEPOINT_INDEX , CSO_SHOW_STATE ,
  CSO_EDITABLE_STATE , CSO_VOXELIZE_STATE , CSO_VOXEL_WRITE_MODE , CSO_VOXEL_WRITE_VALUE ,
  GROUP_ADD , GROUP_REMOVE , GROUP_CLEAR , GROUP_COPY ,
  CSO_ADD_TO_GROUP , CSO_REMOVE_FROM_GROUP , GROUP_SELECTION_CHANGE , GROUP_USER_DATA_CHANGE ,
  GROUP_VISUAL_ATTRIBUTE_CHANGE , GROUP_LABEL , GROUP_DESCRIPTION , GROUP_TIMEPOINT_INDEX ,
  GROUP_SHOW_STATE , GROUP_EDITABLE_STATE , GROUP_VOXELIZE_STATE , GROUP_VOXEL_WRITE_MODE ,
  GROUP_VOXEL_WRITE_VALUE , CSO_INTERACTION , CSO_CREATION , NUM_CSO_EVENTS
}
 Enumeration for specifying the exact type of event. More...
 

Public Member Functions

 CSOEvent ()
 Standard constructor. More...
 
 CSOEvent (CSOEventType eventTypeArg, bool isPostCommandArg=true)
 Constructor taking an event type and whether it is a pre/post command. More...
 
CSOEventoperator= (const CSOEvent &event)
 Assignment operator. More...
 
bool hasCSOIds () const
 Returns whether CSO ids are registered with this event. More...
 
bool hasGroupIds () const
 Returns whether CSOGroup ids are registered with this event. More...
 
void addCSOId (unsigned int id)
 Adds a CSO id if id is not INVALID_CSO_ID. More...
 
void addGroupId (unsigned int id)
 Adds a CSOGroup id if id is not INVALID_CSO_ID. More...
 
void addCSOIds (const CSOIdVector &csoIds)
 Adds all given CSO ids if an id is not INVALID_CSO_ID. More...
 
void addGroupIds (const CSOIdVector &groupIds)
 Adds all given CSOGroup ids if an id is not INVALID_CSO_ID. More...
 
const CSOIdVectorcsoIds () const
 Returns the vector with CSO ids. More...
 
const CSOIdVectorgroupIds () const
 Returns the vector with CSOGroup ids. More...
 
CSOEventType eventType () const
 Returns the event type. More...
 
void setEventType (CSOEventType eventTypeArg)
 Sets the event type. More...
 
bool isPostCommand () const
 Returns whether the event is a post command. More...
 
bool isPreCommand () const
 Returns whether the event is a pre command. More...
 
void setIsPostCommand (bool flag)
 Sets whether the event is a pre or post command. More...
 
void setSenderType (const std::string &senderTypeArg)
 Sets the sender type string. This is typically the module type from where the event is sent. More...
 
std::string senderType () const
 Returns the sender type string. This is typically the module type from where the event is sent. More...
 
void setSenderName (const std::string &senderNameArg)
 Sets the sender name string. This is typically the module instance name from where the event is sent. More...
 
std::string senderName () const
 Returns the sender name string. This is typically the module instance name from where the event is sent. More...
 
void setCustomMessage (const std::string &customMessageArg)
 Sets the custom message string. This can be used to identify the method or the subroutine from where the event is sent. More...
 
std::string customMessage () const
 Returns the custom message string. This can be used to identify the method or the subroutine from where the event is sent. More...
 
void setModuleEventGroupId (MLuint64 id)
 Sets a unique event id. This is done by the module group scope class. No need to temper with it. More...
 
MLuint64 moduleEventGroupId () const
 Returns a unique module group event id. More...
 
 ML_CLASS_HEADER (CSOEvent)
 
- Public Member Functions inherited from ml::BaseEvent
 BaseEvent ()
 
virtual ~BaseEvent ()
 
EventSourcesource () const
 get the Base object emitting this event More...
 

Static Public Member Functions

static std::string getEventTypeName (CSOEventType eventType)
 Maps event types to strings with their name. More...
 

Protected Attributes

CSOIdVector _csoIds
 Vector of CSO ids. More...
 
CSOIdVector _groupIds
 Vector of CSOGroup ids. More...
 
CSOEventType _eventType
 The event type. More...
 
bool _isPostCommand
 Whether it is a pre or post command. More...
 
std::string _senderType
 
std::string _senderName
 
std::string _customMessage
 
MLuint64 _moduleEventGroupId
 

Detailed Description

Class for all CSO events.

An event carries an event type, information about CSO / CSOGroup ids (if available), as well as a number of strings to identify the event source. Those strings are set only by modules, if the event is sent by a basic method in CSOList, CSO, or CSOGroup, those strings are left empty. If the event is sent by a module, it also has a unique identifier to make it easy to match open/close event pairs. Application events are once send before something happens, and after something has happened. So there is a pre-event and a post-event, distinguishable by the 'isPostCommand' flag.

Definition at line 38 of file CSOEvent.h.

Member Enumeration Documentation

◆ CSOEventType

Enumeration for specifying the exact type of event.

Enumerator
NONE 
MODULE_EVENT 
CSOLIST_EVENT_GROUP_OPEN 
CSOLIST_EVENT_GROUP_CLOSE 
CSOLIST_CLEAR 
CSOLIST_CLONE 
CSOLIST_MERGE 
CSOLIST_LOAD 
CSO_ADD 
CSO_REMOVE 
CSO_MODIFICATION 
CSO_COPY 
CSO_CLOSING 
CSO_OPENING 
CSO_GEOMETRY_CHANGE 
CSO_DELETE_SEEDPOINT 
CSO_MOUSE_OVER_CHANGE 
CSO_SELECTION_CHANGE 
CSO_USER_DATA_CHANGE 
CSO_VISUAL_ATTRIBUTE_CHANGE 
CSO_LABEL 
CSO_DESCRIPTION 
CSO_TIMEPOINT_INDEX 
CSO_SHOW_STATE 
CSO_EDITABLE_STATE 
CSO_VOXELIZE_STATE 
CSO_VOXEL_WRITE_MODE 
CSO_VOXEL_WRITE_VALUE 
GROUP_ADD 
GROUP_REMOVE 
GROUP_CLEAR 
GROUP_COPY 
CSO_ADD_TO_GROUP 
CSO_REMOVE_FROM_GROUP 
GROUP_SELECTION_CHANGE 
GROUP_USER_DATA_CHANGE 
GROUP_VISUAL_ATTRIBUTE_CHANGE 
GROUP_LABEL 
GROUP_DESCRIPTION 
GROUP_TIMEPOINT_INDEX 
GROUP_SHOW_STATE 
GROUP_EDITABLE_STATE 
GROUP_VOXELIZE_STATE 
GROUP_VOXEL_WRITE_MODE 
GROUP_VOXEL_WRITE_VALUE 
CSO_INTERACTION 
CSO_CREATION 
NUM_CSO_EVENTS 

Definition at line 48 of file CSOEvent.h.

Constructor & Destructor Documentation

◆ CSOEvent() [1/2]

ml::CSOEvent::CSOEvent ( )
inline

Standard constructor.

Definition at line 110 of file CSOEvent.h.

◆ CSOEvent() [2/2]

ml::CSOEvent::CSOEvent ( CSOEventType  eventTypeArg,
bool  isPostCommandArg = true 
)
inline

Constructor taking an event type and whether it is a pre/post command.

Definition at line 118 of file CSOEvent.h.

Member Function Documentation

◆ addCSOId()

void ml::CSOEvent::addCSOId ( unsigned int  id)

Adds a CSO id if id is not INVALID_CSO_ID.

◆ addCSOIds()

void ml::CSOEvent::addCSOIds ( const CSOIdVector csoIds)

Adds all given CSO ids if an id is not INVALID_CSO_ID.

◆ addGroupId()

void ml::CSOEvent::addGroupId ( unsigned int  id)

Adds a CSOGroup id if id is not INVALID_CSO_ID.

◆ addGroupIds()

void ml::CSOEvent::addGroupIds ( const CSOIdVector groupIds)

Adds all given CSOGroup ids if an id is not INVALID_CSO_ID.

◆ csoIds()

const CSOIdVector& ml::CSOEvent::csoIds ( ) const
inline

Returns the vector with CSO ids.

Definition at line 144 of file CSOEvent.h.

◆ customMessage()

std::string ml::CSOEvent::customMessage ( ) const
inline

Returns the custom message string. This can be used to identify the method or the subroutine from where the event is sent.

Definition at line 177 of file CSOEvent.h.

◆ eventType()

CSOEventType ml::CSOEvent::eventType ( ) const
inline

Returns the event type.

Definition at line 149 of file CSOEvent.h.

◆ getEventTypeName()

static std::string ml::CSOEvent::getEventTypeName ( CSOEventType  eventType)
static

Maps event types to strings with their name.

◆ groupIds()

const CSOIdVector& ml::CSOEvent::groupIds ( ) const
inline

Returns the vector with CSOGroup ids.

Definition at line 146 of file CSOEvent.h.

◆ hasCSOIds()

bool ml::CSOEvent::hasCSOIds ( ) const
inline

Returns whether CSO ids are registered with this event.

Definition at line 129 of file CSOEvent.h.

◆ hasGroupIds()

bool ml::CSOEvent::hasGroupIds ( ) const
inline

Returns whether CSOGroup ids are registered with this event.

Definition at line 131 of file CSOEvent.h.

◆ isPostCommand()

bool ml::CSOEvent::isPostCommand ( ) const
inline

Returns whether the event is a post command.

Definition at line 158 of file CSOEvent.h.

◆ isPreCommand()

bool ml::CSOEvent::isPreCommand ( ) const
inline

Returns whether the event is a pre command.

Definition at line 160 of file CSOEvent.h.

◆ ML_CLASS_HEADER()

ml::CSOEvent::ML_CLASS_HEADER ( CSOEvent  )

◆ moduleEventGroupId()

MLuint64 ml::CSOEvent::moduleEventGroupId ( ) const
inline

Returns a unique module group event id.

Definition at line 182 of file CSOEvent.h.

◆ operator=()

CSOEvent& ml::CSOEvent::operator= ( const CSOEvent event)

Assignment operator.

◆ senderName()

std::string ml::CSOEvent::senderName ( ) const
inline

Returns the sender name string. This is typically the module instance name from where the event is sent.

Definition at line 172 of file CSOEvent.h.

◆ senderType()

std::string ml::CSOEvent::senderType ( ) const
inline

Returns the sender type string. This is typically the module type from where the event is sent.

Definition at line 167 of file CSOEvent.h.

◆ setCustomMessage()

void ml::CSOEvent::setCustomMessage ( const std::string &  customMessageArg)
inline

Sets the custom message string. This can be used to identify the method or the subroutine from where the event is sent.

Definition at line 175 of file CSOEvent.h.

◆ setEventType()

void ml::CSOEvent::setEventType ( CSOEventType  eventTypeArg)
inline

Sets the event type.

Definition at line 155 of file CSOEvent.h.

◆ setIsPostCommand()

void ml::CSOEvent::setIsPostCommand ( bool  flag)
inline

Sets whether the event is a pre or post command.

Definition at line 162 of file CSOEvent.h.

◆ setModuleEventGroupId()

void ml::CSOEvent::setModuleEventGroupId ( MLuint64  id)
inline

Sets a unique event id. This is done by the module group scope class. No need to temper with it.

Definition at line 180 of file CSOEvent.h.

◆ setSenderName()

void ml::CSOEvent::setSenderName ( const std::string &  senderNameArg)
inline

Sets the sender name string. This is typically the module instance name from where the event is sent.

Definition at line 170 of file CSOEvent.h.

◆ setSenderType()

void ml::CSOEvent::setSenderType ( const std::string &  senderTypeArg)
inline

Sets the sender type string. This is typically the module type from where the event is sent.

Definition at line 165 of file CSOEvent.h.

Member Data Documentation

◆ _csoIds

CSOIdVector ml::CSOEvent::_csoIds
protected

Vector of CSO ids.

Definition at line 189 of file CSOEvent.h.

◆ _customMessage

std::string ml::CSOEvent::_customMessage
protected

Definition at line 202 of file CSOEvent.h.

◆ _eventType

CSOEventType ml::CSOEvent::_eventType
protected

The event type.

Definition at line 193 of file CSOEvent.h.

◆ _groupIds

CSOIdVector ml::CSOEvent::_groupIds
protected

Vector of CSOGroup ids.

Definition at line 191 of file CSOEvent.h.

◆ _isPostCommand

bool ml::CSOEvent::_isPostCommand
protected

Whether it is a pre or post command.

Definition at line 195 of file CSOEvent.h.

◆ _moduleEventGroupId

MLuint64 ml::CSOEvent::_moduleEventGroupId
protected

Definition at line 204 of file CSOEvent.h.

◆ _senderName

std::string ml::CSOEvent::_senderName
protected

Definition at line 200 of file CSOEvent.h.

◆ _senderType

std::string ml::CSOEvent::_senderType
protected

Definition at line 198 of file CSOEvent.h.


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