19 #ifndef OMNI_PATCH_LIST_H_
20 #define OMNI_PATCH_LIST_H_
29 class List :
private std::map<QString,std::unique_ptr<Patch>> {
33 using container_type::empty;
34 using container_type::size;
35 using container_type::begin;
36 using container_type::end;
58 std::pair<QString, Patch *>
addPatch(
Id const& _typeId);
bool patchIsSelected(QString const &) const
Return flag whether patch with id is selected.
Definition: List.cpp:95
Id type for classes An Id must only contain alpha numerical characters and must begin with a letter...
Definition: Id.h:34
Patch * addPatch(QString const &_id, Id const &_typeId)
Add new patch with given type id. Returns nullptr if input with typeid does not exist.
Definition: List.cpp:26
patch::List PatchList
Definition: List.h:108
Patch * operator[](QString const &_id) const
Return patch at index.
void toStream(QDataStream &) const
Serialize to stream.
Definition: List.cpp:130
QString generateId() const
Generate a new id for input.
Definition: List.cpp:143
void clear()
Delete all patches.
Definition: List.cpp:64
void selectPatch(QString const &_id, bool _select=true)
Select / deselect patch.
Definition: List.cpp:82
void removePatch(QString const &_id)
Definition: List.cpp:70
std::map< QString, std::unique_ptr< Patch > > container_type
Definition: List.h:31
std::set< QString > selectedPatches_
Ids of selected patches.
Definition: List.h:104
#define OMNI_DECL_STREAM_OPERATORS(CLASS)
Definition: Interface.h:53
Patch * getPatch(QString const &_id)
Return pointer of input with id, nullptr if input does not exist.
Definition: List.cpp:50
void fromStream(QDataStream &)
Deserialize from stream.
Definition: List.cpp:114
Definition: Interface.h:32
QString currentId() const
Return ID of current patch.
Definition: List.cpp:77
void setCurrentId(QString const &)
Set current patch by id and deselected all other patches.
Definition: List.cpp:104
Patch * current()
Returns pointer to current patch Returns nullptr if currentIdx_ == -1 or input list is empty...
Definition: List.cpp:99