MeVisLab Toolbox Reference
mlMergeLists.h
Go to the documentation of this file.
1/*************************************************************************************
2**
3** Copyright 2007, MeVis Medical Solutions AG
4**
5** The user may use this file in accordance with the license agreement provided with
6** the Software or, alternatively, in accordance with the terms contained in a
7** written agreement between the user and MeVis Medical Solutions AG.
8**
9** For further information use the contact form at https://www.mevislab.de/contact
10**
11**************************************************************************************/
12
13#ifndef ML_MERGE_LISTS_H
14#define ML_MERGE_LISTS_H
15
16
18
19// ML includes
20#include "mlModuleIncludes.h"
21#include "mlEngine.h"
22
23
24#include "mlBaseInit.h"
25#include "mlListBase.h"
26
27
28ML_START_NAMESPACE
29
30//--------------------------------------------------------------------------------------
35//--------------------------------------------------------------------------------------
37{
38 public:
39
47
50
52 ~MergeLists() override;
53
57 void handleNotification (Field *field) override;
58
60 void activateAttachments () override;
61
63
64
65 protected:
66
76 void _updateActionLists(int touchedList);
77
80
83 bool _registerIdMapping(MLssize_t whichInList, MLssize_t inListId, MLssize_t outListId);
84
87
90
93
96
99
101
106
108
110 std::vector<ListBase::ActionClass> _listActionClassList[2];
111
113 std::vector<MLssize_t> _listActionIdList[2];
114
116 std::vector<MLssize_t> _listActionIndexList[2];
117
120 std::vector<MLssize_t> _inputItemIdList[2];
121
123 static const char* AutoUpdateModeNames[];
124
126
127 private:
128
131
132};
133
134
135ML_END_NAMESPACE
136
137
138#endif // __mlMergeLists_H
139
Engine(int numInputImages=0, int numOutputImages=0)
Constructor.
Definition mlEngine.h:35
void _updateActionLists(int touchedList)
~MergeLists() override
Destructor.
std::vector< ListBase::ActionClass > _listActionClassList[2]
remember action classes for each input list since last complete rebuild
BaseField * _fldInputList[2]
Input list fields, initialized by derived class.
NotifyField * _fldClear
Deletes the output object.
void activateAttachments() override
Update fields after an initialization without handleNotification() called.
EnumField * _fldAutoUpdateMode
Determines auto-update mode.
std::vector< MLssize_t > _listActionIdList[2]
remember action IDs for each input list since last complete rebuild
void handleNotification(Field *field) override
void _modifyOutputList()
relays stored events to the output list, assumes valid input lists!
void _deleteOutputList()
deletes the current output list
MergeLists()
Constructor.
BoolField * _fldNotifyForEachEvent
Notify output list on each input list event (only for AutoApply and AlwaysRebuild OFF).
NotifyField * _fldUpdate
Rebuild output list.
static const char * AutoUpdateModeNames[]
auto update mode tokens
std::vector< MLssize_t > _inputItemIdList[2]
std::vector< MLssize_t > _listActionIndexList[2]
remember action indices for each input list since last complete rebuild
bool _registerIdMapping(MLssize_t whichInList, MLssize_t inListId, MLssize_t outListId)
BaseField * _fldOutputList
Output list field, initialized by derived class.
void _clearActionLists()
clear all action lists
void _rebuildOutputListFromScratch()
rebuilds from scratch, assumes valid input lists!
BoolField * _fldAlwaysRebuild
Always rebuild output list from scratch (instead of modifying it).
bool _needsCompleteRebuild
flag indicating whether a new output list is needed
#define ML_MODULE_CLASS_HEADER(className)
#define MLBASEEXPORT
defined Header file mlBaseInit.h
Definition mlBaseInit.h:22
SSIZE_T MLssize_t
The signed ML size type that is a signed 32-bit size_t on 32-bit platforms and 64-bit one on 64-bit p...
Definition mlTypeDefs.h:565