MeVisLab Toolbox Reference
mlObjMgrSubAttribute.h File Reference
#include "MLObjMgrSystem.h"
#include "mlObjMgrSubDataType.h"

Go to the source code of this file.

Macros

#define ATTRIBUTE_TYPE_HEADER(dataTypeName, dataType)
 This file declares attribute subclass macros and the base attribute. More...
 
#define ATTRIBUTE_TYPE_SOURCE(dataTypeName, dataType)
 
#define ATTRIBUTE_OP_HEADER(dataTypeName, dataType)
 
#define ATTRIBUTE_OP_SOURCE(dataTypeName, dataType)
 

Macro Definition Documentation

◆ ATTRIBUTE_OP_HEADER

#define ATTRIBUTE_OP_HEADER (   dataTypeName,
  dataType 
)
Value:
void assign(const dataType &value) override; \
omAttribute &operator =(const dataType &value) { \
assign(value); return *this; \
}

Definition at line 53 of file mlObjMgrSubAttribute.h.

◆ ATTRIBUTE_OP_SOURCE

#define ATTRIBUTE_OP_SOURCE (   dataTypeName,
  dataType 
)
Value:
void omAttribute::assign(const dataType &value) { \
if(_data == NULL) { \
createDataType(QUOTE(omAttribute_##dataTypeName)); \
\
if(_data == NULL) \
return; \
\
ObjMgr *om = _parent->parent()->objMgr(); \
if(om) { \
om->addEvent(ObjMgrEvent(ObjMgrEvent::ATTRIBUTE_CREATED, *this, omData(value))); \
om->disableEventRecording(); \
} \
\
*(omAttribute_##dataTypeName *)_data = value; \
\
if(om) { \
om->enableEventRecording(); \
} \
} \
else { \
*(omAttribute_##dataTypeName *)_data = value; \
} \
}
#define QUOTE(data)
This file declares data type subclass macros.

Definition at line 59 of file mlObjMgrSubAttribute.h.

◆ ATTRIBUTE_TYPE_HEADER

#define ATTRIBUTE_TYPE_HEADER (   dataTypeName,
  dataType 
)
Value:
class MLOBJMGR_EXPORT omAttribute_##dataTypeName : public omData_##dataTypeName \
{ \
ML_CLASS_HEADER(omAttribute_##dataTypeName) \
\
public: \
\
omAttribute_##dataTypeName() {} \
omAttribute_##dataTypeName(const dataType &value) : omData_##dataTypeName(value) {} \
void assign(const dataType &value) override; \
};

This file declares attribute subclass macros and the base attribute.

Definition at line 27 of file mlObjMgrSubAttribute.h.

◆ ATTRIBUTE_TYPE_SOURCE

#define ATTRIBUTE_TYPE_SOURCE (   dataTypeName,
  dataType 
)
Value:
ML_CLASS_SOURCE(omAttribute_##dataTypeName, omData_##dataTypeName); \
void omAttribute_##dataTypeName::assign(const dataType &value) { \
if(_value != value) { \
ObjMgr *om; \
if(_container && ((omAttribute *)_container)->parent() && ((omAttribute *)_container)->parent()->parent() && (om = ((omObject *)((omAttribute *)_container)->parent()->parent())->objMgr()) != NULL) { \
om->addEvent(ObjMgrEvent(ObjMgrEvent::ATTRIBUTE_MODIFIED, *(omAttribute *)_container, omData(value), omData(_value), false)); \
} \
\
_value = value; \
} \
}
#define ML_CLASS_SOURCE(className, parentName)
This macro has to be put into the source file of a non-abstract class to implement the methods declar...

Definition at line 39 of file mlObjMgrSubAttribute.h.