MeVisLabToolboxReference
ml::CSOEvent Class Reference

Class for all CSO events. More...

#include <CSOEvent.h>

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

List of all members.

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_CLEAR, 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.
 CSOEvent (CSOEventType eventTypeArg, bool isPostCommandArg=true)
 Constructor taking an event type and whether it is a pre/post command.
CSOEventoperator= (const CSOEvent &event)
 Assignment operator.
bool hasCSOIds () const
 Returns whether CSO ids are registered with this event.
bool hasGroupIds () const
 Returns whether CSOGroup ids are regisered with this event.
void addCSOId (int id)
 Adds a CSO id if id is not -1.
void addGroupId (int id)
 Adds a CSOGroup id if id is not -1.
void addCSOIds (const std::vector< int > &csoIds)
 Adds all given CSO ids if an id is not -1.
void addGroupIds (const std::vector< int > &groupIds)
 Adds all given CSOGroup ids if an id is not -1.
const IdVectorcsoIds () const
 Returns the vector with CSO ids.
const IdVectorgroupIds () const
 Returns the vector with CSOGroup ids.
CSOEventType eventType () const
 Returns the event type.
void setEventType (CSOEventType eventTypeArg)
 Sets the event type.
bool isPostCommand () const
 Returns whether the event is a post command.
bool isPreCommand () const
 Returns whether the event is a pre command.
void setIsPostCommand (bool flag)
 Sets whether the event is a pre or post command.
void setSenderType (const std::string &senderTypeArg)
 Sets the sender type string. This is typically the module type from where the event is sent.
std::string senderType () const
 Returns the sender type string. This is typically the module type from where the event is sent.
void setSenderName (const std::string &senderNameArg)
 Sets the sender name string. This is typically the module instance name from where the event is sent.
std::string senderName () const
 Returns the sender name string. This is typically the module instance name from where the event is sent.
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.
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.
void setModuleEventGroupId (MLuint64 id)
 Sets a unique event id. This is done by the module group scope class. No need to temper with it.
MLuint64 moduleEventGroupId () const
 Returns a unique module group event id.
 ML_CLASS_HEADER (CSOEvent)

Protected Attributes

IdVector _csoIds
 Vector of CSO ids.
IdVector _groupIds
 Vector of CSOGroup ids.
CSOEventType _eventType
 The event type.
bool _isPostCommand
 Whether it is a pre or post command.
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

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_CLEAR 
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

ml::CSOEvent::CSOEvent ( ) [inline]

Standard constructor.

Definition at line 110 of file CSOEvent.h.

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

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

Adds a CSO id if id is not -1.

void ml::CSOEvent::addCSOIds ( const std::vector< int > &  csoIds)

Adds all given CSO ids if an id is not -1.

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

Adds a CSOGroup id if id is not -1.

void ml::CSOEvent::addGroupIds ( const std::vector< int > &  groupIds)

Adds all given CSOGroup ids if an id is not -1.

const IdVector& ml::CSOEvent::csoIds ( ) const [inline]

Returns the vector with CSO ids.

Definition at line 144 of file CSOEvent.h.

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 173 of file CSOEvent.h.

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

Returns the event type.

Definition at line 149 of file CSOEvent.h.

const IdVector& ml::CSOEvent::groupIds ( ) const [inline]

Returns the vector with CSOGroup ids.

Definition at line 146 of file CSOEvent.h.

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

Returns whether CSO ids are registered with this event.

Definition at line 129 of file CSOEvent.h.

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

Returns whether CSOGroup ids are regisered with this event.

Definition at line 131 of file CSOEvent.h.

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

Returns whether the event is a post command.

Definition at line 154 of file CSOEvent.h.

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

Returns whether the event is a pre command.

Definition at line 156 of file CSOEvent.h.

ml::CSOEvent::ML_CLASS_HEADER ( CSOEvent  )
MLuint64 ml::CSOEvent::moduleEventGroupId ( ) const [inline]

Returns a unique module group event id.

Definition at line 178 of file CSOEvent.h.

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

Assignment operator.

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 168 of file CSOEvent.h.

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 163 of file CSOEvent.h.

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 171 of file CSOEvent.h.

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

Sets the event type.

Definition at line 151 of file CSOEvent.h.

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

Sets whether the event is a pre or post command.

Definition at line 158 of file CSOEvent.h.

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 176 of file CSOEvent.h.

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 166 of file CSOEvent.h.

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 161 of file CSOEvent.h.


Member Data Documentation

Vector of CSO ids.

Definition at line 185 of file CSOEvent.h.

std::string ml::CSOEvent::_customMessage [protected]

Definition at line 198 of file CSOEvent.h.

The event type.

Definition at line 189 of file CSOEvent.h.

Vector of CSOGroup ids.

Definition at line 187 of file CSOEvent.h.

bool ml::CSOEvent::_isPostCommand [protected]

Whether it is a pre or post command.

Definition at line 191 of file CSOEvent.h.

Definition at line 200 of file CSOEvent.h.

std::string ml::CSOEvent::_senderName [protected]

Definition at line 196 of file CSOEvent.h.

std::string ml::CSOEvent::_senderType [protected]

Definition at line 194 of file CSOEvent.h.


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