ImagingTools Core SDK
CQmlObjectCollectionComp.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 <ilog/TLoggerCompWrap.h>
7#include <iprm/CParamsSet.h>
8
9// ImtCore includes
10#include <imtbase/IObjectCollection.h>
11#include <imtqml/CQmlObjectCollectionIterator.h>
12
13
14namespace imtqml
15{
16
17
18class CQmlObjectCollectionComp:
19 public QObject,
20 public ilog::CLoggerComponentBase
21{
22 Q_OBJECT
23public:
24 typedef ilog::CLoggerComponentBase BaseClass;
25
26 I_BEGIN_COMPONENT(CQmlObjectCollectionComp);
27 I_ASSIGN(m_objectCollectionCompPtr, "ObjectCollection", "Object collection", true, "ObjectCollection");
28 I_END_COMPONENT;
29
30 Q_INVOKABLE virtual int GetElementsCount(QString filterParams = "");
31 Q_INVOKABLE virtual imtqml::CQmlObjectCollectionIterator* CreateObjectCollectionIterator(int offset = 0, int count = -1, QString selectionParams = "");
32
33private:
34 iprm::CParamsSet* GetFilters(QString filterParams);
35
36private:
37 I_REF(imtbase::IObjectCollection, m_objectCollectionCompPtr);
38};
39
40
41} // namespace imtqml
42
43