ImagingTools Core SDK
CTaskInputCollectionViewDelegateComp.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// ImtCore includes
6#include <imtbase/ISummaryRepresentationController.h>
7#include <imtgui/CStandardCollectionViewDelegateComp.h>
8
9
10namespace imthypegui
11{
12
13
14class CTaskInputCollectionViewDelegateComp: public imtgui::CStandardCollectionViewDelegateComp
15{
16 Q_OBJECT
17public:
18 typedef imtgui::CStandardCollectionViewDelegateComp BaseClass;
19
20 I_BEGIN_COMPONENT(CTaskInputCollectionViewDelegateComp);
21 I_ASSIGN(m_previewColumnNameAttrPtr, "PreviewColumnName", "Preview column name", true, "Gain");
22 I_ASSIGN(m_paramSetRepresentationControllerCompPtr, "GainRepresentationController", "Gain text based representation controller", false, "TextBasedParamSetRepresentationController");
23 I_END_COMPONENT;
24
25 // reimplemented (ICollectionViewDelegate)
26 virtual bool GetSummaryInformation(
27 const QByteArray& objectId,
28 const QVector<QByteArray>& fieldIds,
29 ObjectMetaInfo& objectMetaInfo) const override;
30 virtual QAbstractItemDelegate* GetColumnItemDelegate(const QByteArray& columnId) const override;
31 virtual void OnColumnItemDelegateEditFinished(const QByteArray& objectId, const QByteArray& columnId, const QVariant& newValue) const override;
32 virtual bool IsEditorEnabled(const QByteArray& columnId) const override;
33 virtual void UpdateItemSelection(const imtbase::ICollectionInfo::Ids& selectedItems, const QByteArray& selectedTypeId) override;
34 virtual QByteArray CreateNewObject(
35 const QByteArray& typeId,
36 const QString& objectName,
37 const QString& description,
38 const istd::IChangeable* defaultDataPtr = nullptr) const override;
39 virtual QString RenameObject(const QByteArray& objectId, const QString& newName) const override;
40 virtual bool IsCommandSupported(int commandId) const override;
41
42protected:
43 // reimplemented (imtbase::CObjectCollectionViewDelegate)
44 virtual void SetupSummaryInformation() override;
45
46private:
47 I_ATTR(QString, m_previewColumnNameAttrPtr);
48 I_REF(imtbase::ISummaryRepresentationController, m_paramSetRepresentationControllerCompPtr);
49};
50
51
52} // namespace imthypegui
53
54