|
MeVisLab Toolbox Reference
|
Abstract module class ListContainerBase implementing basic functionality for a list container module. More...
#include <mlListContainer.h>
Public Types | |
| enum | OverflowModes { OvwNone = 0 , OvwRemoveFirst , OvwRemoveLast , OvwRemoveAll , OvwRemoveNew , OvwNumModes } |
| Mode constants for cases of list size overflow. More... | |
| Public Types inherited from ml::Module | |
| enum | PERMITTED_TYPES { ONLY_SCALAR_TYPES , ONLY_DEFAULT_TYPES , ALL_REGISTERED_TYPES } |
| See documentation of setVoxelDataTypeSupport. More... | |
| enum | INPUT_STATE { DISCONNECTED = 0 , CONNECTED_BUT_INVALID = 1 , CONNECTED_AND_VALID = 2 , CONNECTED_BUT_NEEDS_UPDATE = 3 } |
| See documentation of handleInput. More... | |
| enum | INPUT_HANDLE { INVALIDATE = 0 , ALLOW_INVALID_INPUT = 2 } |
| See documentation of handleInput. More... | |
| Public Types inherited from ml::Base | |
| enum | PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream } |
| This enum describes the different persistence interfaces available. More... | |
Public Member Functions | |
| ListContainerBase () | |
| Constructor. | |
| ListContainerBase (ListBase *listBasePtr, int inputNum, int outputNum) | |
| void | setHandleNotificationCB (ListContainerHandleNotificationCB *cb=nullptr, void *userData=nullptr) |
| Set the callback for handleNotification. | |
| void | notify () |
| Notifies this container and attached modules of a change. | |
| BaseField * | getOutputField () |
| Returns a pointer to the output field. | |
| MLint | maxNumItems () const |
| int | overflowMode () const |
| Returns the overflow mode. | |
Host communication | |
| void | handleNotification (Field *field) override |
| void | activateAttachments () override |
| Update fields after an initialization without handleNotification() called. | |
| void | beginSaveFields () override |
| Prepare for persistence. | |
| void | endSaveFields () override |
| Clean up after persistence. | |
Execute list operations | |
These methods are called to perform an operation on the list object, e.g. as a consequence of one of the action fields being pressed. They handle the necessary field updates as well as touching the output list and call deleteItems(), insertItem() and modifyItem() in order to carry out the list modifications themselves. A derived editor module may call these methods in order to perform a list operation. | |
| virtual void | doDeleteAll () |
| virtual void | doDeleteItem (MLssize_t index) |
| Delete single item at position index. | |
| virtual void | doInsertItem (MLssize_t index, bool fromCurrentItem) |
| virtual void | doModifyItem (MLssize_t index, Field *field, bool fromCurrentItem) |
| virtual void | doCopyItemToTemplate (MLssize_t index) |
| Copy values from item at position index to the template fields. | |
| virtual void | doClearItem (MLssize_t index) |
| Init item at position index. | |
| virtual void | doSelectItem (MLssize_t index) |
| Select item at position index, or deselect if item == -1. | |
| virtual void | doUpdate () |
| Update all fields and touch output list field. | |
| Public Member Functions inherited from ml::Module | |
| MLMetaProfilePtr & | getMetaProfile () const |
| Returns the metaprofile for the base operator. | |
| const char * | getTypeNameFast () const |
| Module (int numInputImages, int numOutputImages) | |
| ~Module () override | |
| InputConnectorField * | getInputImageField (MLint i) const |
Returns the field representing input image i. i must be a valid index. | |
| OutputConnectorField * | getOutputImageField (MLint i=0) const |
Returns the field representing output image i. i must be a valid index. | |
| MLint | getNumInputImages () const |
| Returns the number of input images of this module. | |
| MLint | getNumOutputImages () const |
| Returns the number of output images of this module. | |
| PagedImage * | getOutputImage (MLint outputIndex=0) const |
Returns the output image outputIndex. The index needs to be in the range [0, getNumOutputImages()-1]. | |
| InputConnectorField * | addInputImage (const char *name=nullptr) |
| OutputConnectorField * | addOutputImage (const char *name=nullptr) |
| PagedImage * | getInputImage (MLint inputIndex, bool getReal=false) const |
| PagedImage * | getUpdatedInputImage (MLint inputIndex, bool getReal=false) const |
| MLErrorCode | processAllPages (int outputIndex=-1, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| MLErrorCode | processAllPages (ProcessAllPagesHandler &handler, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| MLErrorCode | processMissingPages (int outputIndex=0, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| void | clearOutputImage (MLint i=0) |
Clears cached output image pages of output image i. | |
| MLint | getOutputImageInplace (MLint outputIndex=0) const |
| MLint | getBypass (MLint outputIndex=0) const |
| THREAD_SUPPORT | getThreadSupport () const |
| bool | areRecursiveHandleNotificationsPermitted () const |
| MLint | getHandleNotificationEntryCounter () const |
| PERMITTED_TYPES | getVoxelDataTypeSupport () const |
| bool | isSupportedVoxelDataType (MLDataType dt) const |
| virtual INPUT_HANDLE | handleInput (int, INPUT_STATE) const |
| INPUT_STATE | getInputState (MLint index) |
| INPUT_STATE | getUpdatedInputState (MLint index) |
| bool | isInputImageField (Field *field) const |
| void | touchOutputImageFields () const |
| Touches all output image fields to indicate that the images have changed. | |
| Public Member Functions inherited from ml::FieldContainer | |
| FieldContainer () | |
| Constructor. | |
| ~FieldContainer () override | |
| Destructor: Deletes all added fields. | |
| std::string | whoAmI (bool withInstanceName=true) const |
| Field * | addField (const char *name, const char *type, const char *value) |
| Field * | addField (Field *field) |
Adds a field, the ownership of the field is passed to the FieldContainer. | |
| BoolField * | addBool (const char *name) |
Creates a BoolField with name and adds it to the container. Default value is false. | |
| BoolField * | addBool (const char *name, bool value) |
Creates a BoolField with name and adds it to the container. | |
| IntField * | addInt (const char *name) |
Creates an IntField with name and adds it to the container. Default value is 0. | |
| IntField * | addInt (const char *name, MLint value) |
Creates an IntField with name and adds it to the container. | |
| EnumField * | addEnum (const char *name, const char *const *enumerationItemNames, MLint numEnumerationItems) |
| EnumField * | addEnum (const char *name, const std::vector< std::string > &enumerationItemNames) |
| template<typename EnumType> | |
| TypedEnumField< EnumType > * | addEnum (const char *name, const EnumValues< EnumType > &values, EnumType initialValue) |
| FloatField * | addFloat (const char *name) |
Creates a FloatField with name and adds it to the container. Default value is 0.f. | |
| FloatField * | addFloat (const char *name, float value) |
Creates a FloatField with name and adds it to the container. | |
| ProgressField * | addProgress (const char *name) |
Creates a float ProgressField with name and adds it to the container. Default value is 0.f. | |
| ProgressField * | addProgress (const char *name, float value) |
Creates a float ProgressField with name and adds it to the container. | |
| DoubleField * | addDouble (const char *name) |
Creates a DoubleField with name and adds it to the container. Default value is 0. | |
| DoubleField * | addDouble (const char *name, double value) |
Creates a DoubleField with name and adds it to the container. | |
| StringField * | addString (const char *name) |
Creates a StringField with name and adds it to the container. Default value is empty string. | |
| StringField * | addString (const char *name, const std::string &value) |
Creates a StringField with name and adds it to the container. | |
| NotifyField * | addNotify (const char *name) |
Creates a NotifyField field with name and adds it to the container. | |
| TriggerField * | addTrigger (const char *name) |
| BaseField * | addBase (const char *name) |
Creates a Base field with name and adds it to the container. Default value is NULL. | |
| BaseField * | addBase (const char *name, Base *value) |
Creates a Base field with name and adds it to the container. | |
| BaseField * | addBase (const char *name, const RefCountedBasePtr &value) |
Creates a Base field with name and adds it to the container. Sets the value from intrusive pointer. | |
| template<typename T> | |
| BaseField * | addBaseWithAllowedType (const char *name, T *value=nullptr) |
| As above, but also sets the allowed type of the field. | |
| template<typename T> | |
| BaseField * | addBaseWithAllowedType (const char *name, const ::boost::intrusive_ptr< T > &value) |
| As above, but also sets the allowed type of the field. | |
| template<typename T> | |
| TypedBaseField< T > * | addTypedBase (const char *name) |
Creates a TypedBaseField with name and adds it to the container. Default value is NULL. | |
| template<typename T> | |
| TypedBaseField< T > * | addTypedBase (const char *name, T *value) |
Creates a TypedBaseField with name and adds it to the container. | |
| template<typename T> | |
| TypedBaseField< T > * | addTypedBase (const char *name, const ::boost::intrusive_ptr< T > &value) |
Creates a TypedBaseField with name and adds it to the container. Sets the value from intrusive pointer. | |
| SoNodeField * | addSoNode (const char *name) |
Creates a SoNodeField with name and adds it to the container. Default value is NULL. | |
| SoNodeField * | addSoNode (const char *name, SoNode *value) |
Creates a SoNodeField with name and adds it to the container. | |
| PointerField * | addPointer (const char *name) |
Creates a PointerField with name and adds it to the container. | |
| Vector2Field * | addVector2 (const char *name) |
Creates a Vector2Field with name and adds it to the container. | |
| Vector2Field * | addVector2 (const char *name, const Vector2 &value) |
Creates a Vector2Field with name and adds it to the container. | |
| Vector2Field * | addVector2 (const char *name, double x, double y) |
Creates a Vector2Field with name and adds it to the container. | |
| Vector3Field * | addVector3 (const char *name) |
Creates a Vector3Field with name and adds it to the container. | |
| Vector3Field * | addVector3 (const char *name, const Vector3 &value) |
Creates a Vector3Field with name and adds it to the container. | |
| Vector3Field * | addVector3 (const char *name, double x, double y, double z) |
Creates a Vector3Field with name and adds it to the container. | |
| Vector4Field * | addVector4 (const char *name) |
Creates a Vector4Field with name and adds it to the container. | |
| Vector4Field * | addVector4 (const char *name, const Vector4 &value) |
Creates a Vector4Field with name and adds it to the container. | |
| Vector4Field * | addVector4 (const char *name, double x, double y, double z, double w) |
Creates a Vector4Field with name and adds it to the container. | |
| Vector5Field * | addVector5 (const char *name) |
Creates a Vector5Field with name and adds it to the container. | |
| Vector5Field * | addVector5 (const char *name, const Vector5 &value) |
Creates a Vector5Field with name and adds it to the container. | |
| Vector6Field * | addVector6 (const char *name) |
Creates a Vector6Field with name and adds it to the container. | |
| Vector6Field * | addVector6 (const char *name, const Vector6 &value) |
Creates a Vector6Field with name and adds it to the container. | |
| Vector10Field * | addVector10 (const char *name) |
Creates a Vector10Field with name and adds it to the container. | |
| Vector10Field * | addVector10 (const char *name, const Vector10 &value) |
Creates a Vector10Field with name and adds it to the container. | |
| ImageVectorField * | addImageVector (const char *name) |
Creates a ImageVectorField with name and adds it to the container. | |
| ImageVectorField * | addImageVector (const char *name, const ImageVector &value) |
Creates a ImageVectorField with name and adds it to the container. | |
| ImageVectorField * | addImageVector (const char *name, MLint x, MLint y, MLint z, MLint c, MLint t, MLint u) |
Creates a ImageVectorField with name and adds it to the container. | |
| SubImageBoxField * | addSubImageBox (const char *name) |
Creates a SubImageBoxField with name and adds it to the container. | |
| SubImageBoxField * | addSubImageBox (const char *name, const SubImageBox &value) |
Creates a SubImageBoxField with name and adds it to the container. | |
| SubImageBoxdField * | addSubImageBoxd (const char *name) |
Creates a SubImageBoxd field with name and adds it to the container. | |
| SubImageBoxdField * | addSubImageBoxd (const char *name, const SubImageBoxd &value) |
Creates a SubImageBoxd field with name and adds it to the container. | |
| ColorField * | addColor (const char *name) |
Creates a ColorField with name and adds it to the container. | |
| ColorField * | addColor (const char *name, float r, float g, float b) |
Creates a ColorField with name and adds it to the container. | |
| ColorField * | addColor (const char *name, const Vector3 &value) |
Creates a ColorField with name and adds it to the container. | |
| PlaneField * | addPlane (const char *name) |
Creates a PlaneField with name and adds it to the container. | |
| PlaneField * | addPlane (const char *name, double f0, double f1, double f2, double f3) |
Creates a PlaneField with name and adds it to the container. | |
| PlaneField * | addPlane (const char *name, const Plane &value) |
Creates a PlaneField with name and adds it to the container. | |
| RotationField * | addRotation (const char *name) |
Creates a RotationField with name and adds it to the container. | |
| RotationField * | addRotation (const char *name, const Rotation &value) |
Creates a RotationField with name and adds it to the container. | |
| Matrix2Field * | addMatrix2 (const char *name) |
Creates a Matrix2Field with name and adds it to the container. | |
| Matrix2Field * | addMatrix2 (const char *name, const Matrix2 &value) |
Creates a Matrix2Field with name and adds it to the container. | |
| Matrix3Field * | addMatrix3 (const char *name) |
Creates a Matrix3Field with name and adds it to the container. | |
| Matrix3Field * | addMatrix3 (const char *name, const Matrix3 &value) |
Creates a Matrix3Field with name and adds it to the container. | |
| Matrix4Field * | addMatrix4 (const char *name) |
Creates a Matrix4Field with name and adds it to the container. | |
| Matrix4Field * | addMatrix4 (const char *name, const Matrix4 &value) |
Creates a Matrix4Field with name and adds it to the container. | |
| Matrix5Field * | addMatrix5 (const char *name) |
Creates a Matrix5Field with name and adds it to the container. | |
| Matrix5Field * | addMatrix5 (const char *name, const Matrix5 &value) |
Creates a Matrix5Field with name and adds it to the container. | |
| Matrix6Field * | addMatrix6 (const char *name) |
Creates a Matrix6Field with name and adds it to the container. | |
| Matrix6Field * | addMatrix6 (const char *name, const Matrix6 &value) |
Creates a Matrix6Field with name and adds it to the container. | |
| MatrixField * | addMatrix (const char *name) |
Creates a MatrixField with name and adds it to the container. | |
| MatrixField * | addMatrix (const char *name, const Matrix4 &value) |
Creates a MatrixField with name and adds it to the container. | |
| MLDataTypeField * | addMLDataType (const char *name) |
Creates a MTDataTypeField with name and adds it to the container. | |
| MLDataTypeField * | addMLDataType (const char *name, MLDataType value) |
Creates a MTDataTypeField with name and adds it to the container. | |
| UniversalTypeField * | addUniversalType (const char *name) |
Creates an UniversalTypeField field with name and adds it to the container. | |
| IntListField * | addIntList (const char *name) |
Creates an IntListField field with name and empty list value and adds it to the container. | |
| IntListField * | addIntList (const char *name, const std::vector< MLint > &value) |
Creates an IntListField field with name and given list value and adds it to the container. | |
| DoubleListField * | addDoubleList (const char *name) |
Creates an DoubleListField field with name and empty list value and adds it to the container. | |
| DoubleListField * | addDoubleList (const char *name, const std::vector< double > &value) |
Creates an DoubleListField field with name and given list value and adds it to the container. | |
| Vector2ListField * | addVector2List (const char *name) |
Creates an Vector2ListField field with name and empty list value and adds it to the container. | |
| Vector2ListField * | addVector2List (const char *name, const std::vector< Vector2 > &value) |
Creates an Vector2ListField field with name and given list value and adds it to the container. | |
| Vector3ListField * | addVector3List (const char *name) |
Creates an Vector3ListField field with name and empty list value and adds it to the container. | |
| Vector3ListField * | addVector3List (const char *name, const std::vector< Vector3 > &value) |
Creates an Vector3ListField field with name and given list value and adds it to the container. | |
| Vector4ListField * | addVector4List (const char *name) |
Creates an Vector4ListField field with name and empty list value and adds it to the container. | |
| Vector4ListField * | addVector4List (const char *name, const std::vector< Vector4 > &value) |
Creates an Vector4ListField field with name and given list value and adds it to the container. | |
| size_t | getNumFields () const |
| Returns the number of added fields. | |
| bool | hasField (const std::string &name) const |
Returns true if the field with name name exists; otherwise, false is returned. | |
| Field * | getField (const std::string &name) const |
| Field * | getField (MLint index) const |
Returns pointer of field at index if it exists. If not, -1 is returned. | |
| MLint | getFieldIndex (Field *field) const |
Returns index of field if it exists. If not, -1 is returned. | |
| void | setFieldStringValue (const std::string &name, const std::string &value) |
| std::string | getFieldStringValue (const std::string &name) const |
| virtual void | deactivateAttachments () |
| Public Member Functions inherited from ml::Base | |
| Base () | |
| Constructor. | |
| virtual | ~Base () |
| Destructor. | |
| virtual Base * | deepCopy () const |
| bool | isOfAllowedType (const std::vector< const RuntimeType * > &types) const |
| virtual bool | isRefCountedBase () const |
| Returns whether the instance is derived from RefCountedBase. | |
| virtual std::string | detailString () const |
| virtual bool | implementsPersistence (PersistenceInterface) const |
| virtual std::string | persistentState () const |
| Returns a string describing the object's internal state. | |
| virtual void | setPersistentState (const std::string &state) |
| virtual void | addStateToTree (TreeNode *) const |
| Attaches the object state as children of the given parent node. | |
| virtual void | readStateFromTree (TreeNode *) |
| Reads the object state from the children of the given parent node. | |
| virtual void | writeTo (AbstractPersistenceOutputStream *) const |
| virtual void | readFrom (AbstractPersistenceInputStream *, int) |
Protected Member Functions | |
List object access | |
Most of these methods are overloaded by ListContainerTemplate, but do not have to be overloaded by further derived classes. | |
| virtual ListBase * | getInternalList ()=0 |
| virtual bool | setActiveList (Base *basePtr)=0 |
| virtual bool | ownsList () |
| Return true if the active list is the internal list. | |
| virtual MLssize_t | getId (MLssize_t index)=0 |
| Return the item id of the item index. | |
Handle item property fields | |
Overload these methods for derived container modules with additional list item property fields. | |
| virtual bool | isPropertyField (Field *field) |
| virtual void | resetPropertyFields () |
| Reset all property fields. | |
| virtual void | updatePropertyFields ()=0 |
| Update property fields from the current list item. | |
List modifications | |
These methods are called when a list operation is performed. They are overloaded in ListContainerTemplate. The modifyItem() method has to be further overloaded for derived container modules with additional list item properties. | |
| virtual void | deleteItems (MLssize_t index, MLssize_t num)=0 |
| virtual void | insertItem (MLssize_t index, bool fromCurrentItem)=0 |
| virtual bool | modifyItem (MLssize_t index, Field *field, bool fromCurrentItem)=0 |
| virtual void | copyItemToTemplate (MLssize_t index)=0 |
| Copy values from item at position index to the template fields. | |
| virtual void | copyTemplateToCurrent ()=0 |
| Copy the values of the templates fields to _currentItem. | |
| virtual void | initItem (MLssize_t index)=0 |
Handle field updates | |
| virtual void | updateListString (bool forceEnable=false) |
| virtual void | updateDisplay () |
| Update display of list size, current item index and item properties. | |
| virtual void | updateActionFields () |
| Update last action fields. | |
| virtual void | touchList (ListBase::ActionClass actionClass, MLssize_t id, MLssize_t index) |
| Protected Member Functions inherited from ml::Module | |
| void | handleNotificationInternal (Field *field, FieldSensor::Strength strength) override |
| virtual CalculateOutputImageHandler * | createCalculateOutputImageHandler (PagedImage *outputImage) |
| virtual void | calculateOutputImageProperties (int outputIndex, PagedImage *outputImage) |
| virtual SubImageBox | calculateInputSubImageBox (int, const SubImageBox &outputSubImageBox, int) |
| virtual void | calculateOutputSubImage (SubImage *outputSubImage, int outputIndex, SubImage *inputSubImages) |
| virtual void | provideCustomPage (int, const SubImageBox &, MLMemoryBlockHandle &) |
| void | handleNotificationOff () |
| void | handleNotificationOn () |
| bool | isHandleNotificationOn () |
Returns true if handleNotification calls are permitted; otherwise, it returns false. | |
| void | setOutputImageInplace (MLint outputIndex=0, MLint inputIndex=0) |
| void | unsetOutputImageInplace (MLint outputIndex=0) |
| void | setBypass (MLint outputIndex=0, MLint inputIndex=0) |
| void | setClampPagesToImageExtent (bool flag=true) |
| void | setThreadSupport (THREAD_SUPPORT supportMode) |
| void | permitRecursiveHandleNotifications (bool enable) |
| void | setVoxelDataTypeSupport (PERMITTED_TYPES permTypes) |
Protected Attributes | |
| int | _lockNotification |
| Suppress handleNotification() if non-zero. | |
Field members | |
| BaseField * | _fldOutputList |
| Output list field, initialized by derived class. | |
| BaseField * | _fldInputList |
| Input list field, initialized by derived class. | |
| StringField * | _fldListString |
| String representation of list. | |
| IntField * | _fldNumItems |
| List size. | |
| IntField * | _fldIndex |
| Current list index. | |
| BoolField * | _fldPersistent |
| Activate internal list persistence. | |
| BoolField * | _fldListStringEnable |
| Enable list string field. | |
| BoolField * | _fldOwnsList |
| Reflect owner state (true if internal list is active). | |
| BoolField * | _fldApplySelect |
| Perform a Select-action when index is changed. | |
| IntField * | _fldId |
| List item id. | |
| StringField * | _fldName |
| List item name. | |
| StringField * | _fldNewName |
| List item name. | |
| StringField * | _fldActionClass |
| Action class of last action on list. | |
| IntField * | _fldActionIndex |
| Index of last action on list. | |
| IntField * | _fldActionId |
| Item id of last action on list. | |
| IntField * | _fldCurrentIndex |
| Index of currently selected item. | |
| EnumField * | _fldOverflowMode |
| Overflow mode, specifies which item(s) to delete on overflow. | |
| IntField * | _fldMaxSize |
| Maximum list size. | |
| NotifyField * | _fldDelete |
| Delete button. | |
| NotifyField * | _fldDeleteAll |
| Delete All button. | |
| NotifyField * | _fldInsert |
| Insert button. | |
| NotifyField * | _fldAdd |
| Add (= Append) button. | |
| NotifyField * | _fldUpdate |
| Update button. | |
| BoolField * | _fldUseInsertTemplate |
| If true the container should use the template fields for initializing the inserted item. | |
| NotifyField * | _fldCopyItemToTemplate |
| Copy values from current item to template fields. | |
| NotifyField * | _fldCopyTemplateToItem |
| Copy values from template fields to current item. | |
| NotifyField * | _fldClearItem |
| Clear the current item (i.e. init it again). | |
| BoolField * | _fldUpToDate |
| Indicates that the property values are up to date. | |
| BoolField * | _fldAutoCopyAndTakeOwnership |
| If true, the ownership is taken automatically on connecting the input field. | |
| NotifyField * | _fldCopyAndTakeOwnership |
| Takes the ownership of an XMarkerList. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from ml::Module | |
| static MLErrorCode | getTile (PagedImage *image, SubImageBox loc, MLDataType datatype, void **data, const ScaleShiftData &scaleShiftData=ScaleShiftData(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| static MLErrorCode | getTile (PagedImage *image, SubImage &subimg, const ScaleShiftData &scaleShiftData=ScaleShiftData(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| static MLErrorCode | updateImageProperties (PagedImage *image) |
| static void | freeTile (void *data) |
| For documentation see Host::freeTile(). | |
| static void | updateProgress (const char *info1, const char *info2) |
| For documentation see Host::updateProgress(). | |
| static bool | shouldTerminate () |
| For documentation see Host::shouldTerminate(). | |
| static Field * | getPressedNotifyField () |
| For documentation see Host::getPressedNotifyField(). | |
| static void | adaptPageExtent (ImageVector &pageExtent, MLDataType imageType, const ImageVector &newImgExtent, const ImageVector &oldImgExtent, const ImageVector &pageUnit=ImageVector(0), const ImageVector &minPageExtent=ImageVector(0), const ImageVector &maxPageExtent=ImageVector(0)) |
| static std::string | getVoxelValueAsString (PagedImage *image, const ImageVector &position, MLErrorCode *errorCode=nullptr, const std::string &errorResult="") |
| static size_t | getNumModules () |
| Returns the number of instantiated modules. | |
| static Module * | getModule (size_t index) |
Returns a pointer to instantiated module index. | |
| static MLint | findModuleIndex (Module &module) |
Returns the index of Module module. If not found, -1 is returned. | |
| static void | destroyModule () |
| Protected Types inherited from ml::Module | |
| enum | THREAD_SUPPORT { NO_THREAD_SUPPORT = PagedImage::NO_THREAD_SUPPORT , MULTITHREADED = PagedImage::MULTITHREADED , IO_THREAD = PagedImage::IO_THREAD } |
Abstract module class ListContainerBase implementing basic functionality for a list container module.
Abstract ML module class implementing basic functionality for a list container module. List container modules for a specific list class are derived from this class using the class template ListContainerTemplate. This construct can only be used for list classes derived from BaseListTemplate.
ListContainerBase supports the following functionality:
Definition at line 70 of file mlListContainer.h.
Mode constants for cases of list size overflow.
Definition at line 156 of file mlListContainer.h.
|
inline |
Constructor.
Definition at line 76 of file mlListContainer.h.
References ml::Module::Module().
Referenced by ml::ListContainerTemplate< T >::ListContainerTemplate().
| ml::ListContainerBase::ListContainerBase | ( | ListBase * | listBasePtr, |
| int | inputNum, | ||
| int | outputNum ) |
Constructor In listBasePtr pass a pointer to the list object, which has to be a member of the derived class. The values inputNum and outputNum specify the number of input and output image fields, resp.
|
overridevirtual |
Update fields after an initialization without handleNotification() called.
Reimplemented from ml::FieldContainer.
|
overridevirtual |
Prepare for persistence.
Reimplemented from ml::Module.
|
protectedpure virtual |
Copy values from item at position index to the template fields.
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, ml::ListContainerTemplate< XMarkerList >, and ml::XMarkerListContainer.
|
protectedpure virtual |
Copy the values of the templates fields to _currentItem.
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, ml::ListContainerTemplate< XMarkerList >, and ml::XMarkerListContainer.
|
protectedpure virtual |
Remove num items, starting at item index
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, and ml::ListContainerTemplate< XMarkerList >.
|
virtual |
Init item at position index.
|
virtual |
Copy values from item at position index to the template fields.
|
virtual |
Delete all list items
|
virtual |
Delete single item at position index.
|
virtual |
Insert an item at position index. If fromCurrentItem is true, the new item is initialized from the _currentItem member of the derived ListContainerTemplate class.
|
virtual |
Modify item at position index. If fromCurrentItem is true, the item is copied from the _currentItem member of the derived ListContainerTemplate class, otherwise the item property corresponding to the property field field is modified.
|
virtual |
Select item at position index, or deselect if item == -1.
|
virtual |
Update all fields and touch output list field.
|
overridevirtual |
Clean up after persistence.
Reimplemented from ml::Module.
Return the item id of the item index.
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, and ml::ListContainerTemplate< XMarkerList >.
|
protectedpure virtual |
Return address of internal list object
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, and ml::ListContainerTemplate< XMarkerList >.
|
inline |
Returns a pointer to the output field.
Definition at line 150 of file mlListContainer.h.
References _fldOutputList.
|
overridevirtual |
Handle field notifications
Reimplemented from ml::Module.
|
protectedpure virtual |
Initialize the list item at position index. This method is called by insertItem() if the fromCurrentItem argument is false.
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, ml::ListContainerTemplate< XMarkerList >, and ml::XMarkerListContainer.
|
protectedpure virtual |
Insert an item at position index. If fromCurrentItem is true, the new item is initialized from the _currentItem member of the derived ListContainerTemplate class.
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, and ml::ListContainerTemplate< XMarkerList >.
|
protectedvirtual |
Return true if field points to an item property field
Reimplemented in ml::XMarkerListContainer.
|
inline |
Definition at line 153 of file mlListContainer.h.
References _fldMaxSize.
|
protectedpure virtual |
Modify item at position index. If fromCurrentItem is true, the item is copied from the _currentItem member of the derived ListContainerTemplate class, otherwise the item property corresponding to the property field field is modified. Return true if item has been modified.
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, ml::ListContainerTemplate< XMarkerList >, and ml::XMarkerListContainer.
| void ml::ListContainerBase::notify | ( | ) |
Notifies this container and attached modules of a change.
|
inline |
Returns the overflow mode.
Definition at line 167 of file mlListContainer.h.
References _fldOverflowMode.
|
inlineprotectedvirtual |
Return true if the active list is the internal list.
Definition at line 187 of file mlListContainer.h.
References _fldInputList.
|
protectedvirtual |
Reset all property fields.
Reimplemented in ml::XMarkerListContainer.
|
protectedpure virtual |
Set the active list (i.e. the list controlled by the container) to the object *basePtr, provided that it is of the correct type. If not, the active list pointer should be set to zero, which disables the container. Returns true if object is of correct type.
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, and ml::ListContainerTemplate< XMarkerList >.
| void ml::ListContainerBase::setHandleNotificationCB | ( | ListContainerHandleNotificationCB * | cb = nullptr, |
| void * | userData = nullptr ) |
Set the callback for handleNotification.
|
protectedvirtual |
Set last list action and touch output list field. Arguments id and index are ignored for all actions except those inducing a delete (ActDelete and ActInsertOvw). A derived viewer or editor module may overload this method in order to be notified of changes to the active list. In the overloaded method, first call ListContainerBase::touchList() and then use the list's getAction() method to obtain details on the action performed.
|
protectedvirtual |
Update last action fields.
|
protectedvirtual |
Update display of list size, current item index and item properties.
|
protectedvirtual |
Update the list string representing the list content. If forceEnable is true, the string is generated regardless of the _fldListStringEnable field.
|
protectedpure virtual |
Update property fields from the current list item.
Implemented in ml::ListContainerTemplate< T >, ml::ListContainerTemplate< StringList >, ml::ListContainerTemplate< XMarkerList >, and ml::XMarkerListContainer.
|
protected |
Action class of last action on list.
Definition at line 290 of file mlListContainer.h.
|
protected |
Item id of last action on list.
Definition at line 292 of file mlListContainer.h.
|
protected |
Index of last action on list.
Definition at line 291 of file mlListContainer.h.
|
protected |
Add (= Append) button.
Definition at line 301 of file mlListContainer.h.
|
protected |
Perform a Select-action when index is changed.
Definition at line 284 of file mlListContainer.h.
|
protected |
If true, the ownership is taken automatically on connecting the input field.
Definition at line 311 of file mlListContainer.h.
|
protected |
Clear the current item (i.e. init it again).
Definition at line 307 of file mlListContainer.h.
|
protected |
Takes the ownership of an XMarkerList.
Definition at line 312 of file mlListContainer.h.
|
protected |
Copy values from current item to template fields.
Definition at line 305 of file mlListContainer.h.
|
protected |
Copy values from template fields to current item.
Definition at line 306 of file mlListContainer.h.
|
protected |
Index of currently selected item.
Definition at line 293 of file mlListContainer.h.
|
protected |
Delete button.
Definition at line 298 of file mlListContainer.h.
|
protected |
Delete All button.
Definition at line 299 of file mlListContainer.h.
|
protected |
List item id.
Definition at line 286 of file mlListContainer.h.
Referenced by ml::ListContainerTemplate< T >::modifyItem(), and ml::ListContainerTemplate< T >::updatePropertyFields().
|
protected |
Current list index.
Definition at line 279 of file mlListContainer.h.
Referenced by ml::ListContainerTemplate< T >::updatePropertyFields().
|
protected |
Input list field, initialized by derived class.
Definition at line 275 of file mlListContainer.h.
Referenced by ml::ListContainerTemplate< T >::ListContainerTemplate(), and ownsList().
|
protected |
Insert button.
Definition at line 300 of file mlListContainer.h.
|
protected |
String representation of list.
Definition at line 277 of file mlListContainer.h.
|
protected |
Enable list string field.
Definition at line 282 of file mlListContainer.h.
|
protected |
|
protected |
List item name.
Definition at line 287 of file mlListContainer.h.
Referenced by ml::ListContainerTemplate< T >::modifyItem(), and ml::ListContainerTemplate< T >::updatePropertyFields().
|
protected |
List item name.
Definition at line 288 of file mlListContainer.h.
Referenced by ml::ListContainerTemplate< T >::copyItemToTemplate(), and ml::ListContainerTemplate< T >::copyTemplateToCurrent().
|
protected |
List size.
Definition at line 278 of file mlListContainer.h.
|
protected |
Output list field, initialized by derived class.
Definition at line 274 of file mlListContainer.h.
Referenced by getOutputField(), and ml::ListContainerTemplate< T >::ListContainerTemplate().
|
protected |
Overflow mode, specifies which item(s) to delete on overflow.
Definition at line 295 of file mlListContainer.h.
Referenced by overflowMode().
|
protected |
Reflect owner state (true if internal list is active).
Definition at line 283 of file mlListContainer.h.
|
protected |
Activate internal list persistence.
Definition at line 281 of file mlListContainer.h.
|
protected |
Update button.
Definition at line 302 of file mlListContainer.h.
|
protected |
Indicates that the property values are up to date.
Definition at line 309 of file mlListContainer.h.
|
protected |
If true the container should use the template fields for initializing the inserted item.
Definition at line 304 of file mlListContainer.h.
|
protected |
Suppress handleNotification() if non-zero.
Definition at line 316 of file mlListContainer.h.
Referenced by ml::ListContainerTemplate< T >::ListContainerTemplate(), and ml::ListContainerTemplate< T >::updatePropertyFields().