ImagingTools Core SDK
CReportDocumentPdfPersistenceComp.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 <icomp/CComponentBase.h>
7#include <ilog/TLoggerCompWrap.h>
8#include <ifile/IFilePersistence.h>
9
10
11namespace imtreportgui
12{
13
14
15class CReportDocumentPdfPersistenceComp:
16 public ilog::CLoggerComponentBase,
17 virtual public ifile::IFilePersistence
18{
19public:
20 typedef ilog::CLoggerComponentBase BaseClass;
21
22 I_BEGIN_COMPONENT(CReportDocumentPdfPersistenceComp);
23 I_REGISTER_INTERFACE(ifile::IFilePersistence);
24 I_REGISTER_INTERFACE(ifile::IFileTypeInfo);
25 I_ASSIGN(m_resolutionDpiAttrPtr, "ResolutionDpi", "Resolution in DPI", true, 150);
26 I_END_COMPONENT;
27
28 // reimplemented (ifile::IFilePersistence)
29 bool IsOperationSupported(
30 const istd::IChangeable* dataObjectPtr,
31 const QString* filePathPtr = NULL,
32 int flags = -1,
33 bool beQuiet = true) const override;
34
35 OperationState LoadFromFile(istd::IChangeable& data,
36 const QString& filePath = QString(),
37 ibase::IProgressManager* progressManagerPtr = NULL) const override;
38
39 OperationState SaveToFile(const istd::IChangeable& data,
40 const QString& filePath = QString(),
41 ibase::IProgressManager* progressManagerPtr = NULL) const override;
42
43 // reimplemented (ifile::IFileTypeInfo)
44 virtual bool GetFileExtensions(QStringList& result, const istd::IChangeable* dataObjectPtr = NULL, int flags = -1, bool doAppend = false) const override;
45 virtual QString GetTypeDescription(const QString* extensionPtr = NULL) const override;
46
47private:
48 I_ATTR(int, m_resolutionDpiAttrPtr);
49};
50
51
52} // namespace imtreportgui
53
54