ImagingTools Core SDK
CTaskCollectionUpdateEvent.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <istd/IChangeable.h>
7
8
9namespace imthype
10{
11
12
13class CTaskCollectionUpdateEvent: public istd::IChangeable
14{
15public:
16 enum UpdateType
17 {
18 UT_USER_TASK_ID = 0,
19 UT_TASK_INPUT,
20 };
21
22 CTaskCollectionUpdateEvent();
23 CTaskCollectionUpdateEvent(
24 const QByteArray& itemId,
25 UpdateType updateType, const QVariant& oldValue = QVariant(), const QVariant& newValue = QVariant());
26 UpdateType GetUpdateType() const;
27 QVariant GetOldValue() const;
28 QVariant GetNewValue() const;
29
30 // reimplemented (istd::IChangeable)
31 virtual int GetSupportedOperations() const override;
32 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
33 virtual bool IsEqual(const IChangeable& object) const override;
34 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
35
36private:
37 QByteArray m_itemId;
38 UpdateType m_updateType;
39 QVariant m_oldValue;
40 QVariant m_newValue;
41};
42
43
44} // namespace imthype
45
46