ImagingTools Core SDK
CObjectCollectionRevisionDialog.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// Qt includes
6#include <QtWidgets/QDialog>
7
8// ImtCore includes
9#include <imtbase/IRevisionController.h>
10#include <GeneratedFiles/imtgui/ui_CObjectCollectionRevisionDialog.h>
11
12
13namespace imtgui
14{
15
16
17class CObjectCollectionRevisionDialog:
18 public QDialog,
19 public Ui::CObjectCollectionRevisionDialog
20{
21 Q_OBJECT
22public:
23 explicit CObjectCollectionRevisionDialog(QWidget *parent = nullptr);
24
25 void SetParams(
26 const imtbase::IRevisionController::RevisionInfoList& revisions,
27 int currentRevision,
28 const imtbase::IObjectCollection* collectionPtr,
29 const imtbase::IRevisionController* revisionControllerPtr,
30 const QByteArray& objectId,
31 const QString& fileName,
32 const QString& filter);
33 int GetSelectedRevision();
34
35private Q_SLOTS:
36 void OnCustomContextMenuRequested(const QPoint &point);
37 void OnExport();
38
39private:
40 const imtbase::IObjectCollection* m_collectionPtr;
41 const imtbase::IRevisionController* m_revisionControllerPtr;
42 QByteArray m_objectId;
43 QString m_fileName;
44 QString m_filter;
45 QSet<int> m_unavailableRevisions;
46};
47
48
49} // namespace imtgui
50
51