ACF $AcfVersion:0$
CTextFileLoaderComp.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
9
10
11namespace idoc
12{
13
14
63{
64public:
66
67 I_BEGIN_COMPONENT(CTextFileLoaderComp);
68 I_REGISTER_INTERFACE(ifile::IFileTypeInfo);
69 I_REGISTER_INTERFACE(ifile::IFilePersistence);
70 I_REGISTER_INTERFACE(ifile::IDeviceBasedPersistence);
71 I_ASSIGN_MULTI_1(m_fileExtensionsAttrPtr, "FileExtensions", "List of possible file extensions", true, "txt");
72 I_ASSIGN_MULTI_1(m_typeDescriptionsAttrPtr, "TypeDescriptions", "List of descriptions for each extension", true, "Text file");
73 I_END_COMPONENT;
74
75 // reimplemented (ifile::IFilePersistence)
77 const istd::IChangeable* dataObjectPtr,
78 const QString* filePathPtr = NULL,
79 int flags = -1,
80 bool beQuiet = true) const override;
83 const QString& filePath = QString(),
84 ibase::IProgressManager* progressManagerPtr = NULL) const override;
86 const istd::IChangeable& data,
87 const QString& filePath = QString(),
88 ibase::IProgressManager* progressManagerPtr = NULL) const override;
89
90 // reimplemented (ifile::IDeviceBasedPersistence)
92 const istd::IChangeable& dataObject,
93 const QIODevice& device,
94 int deviceOperation) const override;
97 QIODevice& device,
98 ibase::IProgressManager* progressManagerPtr = nullptr) const override;
100 const istd::IChangeable& data,
101 QIODevice& device,
102 ibase::IProgressManager* progressManagerPtr = nullptr) const override;
103
104 // reimplemented (ifile::IFileTypeInfo)
105 virtual bool GetFileExtensions(QStringList& result, const istd::IChangeable* dataObjectPtr = NULL, int flags = -1, bool doAppend = false) const override;
106 virtual QString GetTypeDescription(const QString* extensionPtr = NULL) const override;
107
108private:
109 I_MULTIATTR(QString, m_fileExtensionsAttrPtr);
110 I_MULTITEXTATTR(m_typeDescriptionsAttrPtr);
111};
112
113
114} // namespace idoc
115
116
117
118
Consume information about progress of some process.
Base class for component implementation.
Persistence component for files containing plain text.
virtual ifile::IDeviceBasedPersistence::OperationState WriteToDevice(const istd::IChangeable &data, QIODevice &device, ibase::IProgressManager *progressManagerPtr=nullptr) const override
This function writes data data to the given I/O-device device.
virtual bool GetFileExtensions(QStringList &result, const istd::IChangeable *dataObjectPtr=NULL, int flags=-1, bool doAppend=false) const override
Get file extensions supported by this loader.
virtual QString GetTypeDescription(const QString *extensionPtr=NULL) const override
Get description of object type associated with single extension.
virtual ifile::IFilePersistence::OperationState LoadFromFile(istd::IChangeable &data, const QString &filePath=QString(), ibase::IProgressManager *progressManagerPtr=NULL) const override
This function loads data data from file filePath.
virtual bool IsOperationSupported(const istd::IChangeable *dataObjectPtr, const QString *filePathPtr=NULL, int flags=-1, bool beQuiet=true) const override
Returns true if object dataObject can be loaded/saved.
virtual bool IsDeviceOperationSupported(const istd::IChangeable &dataObject, const QIODevice &device, int deviceOperation) const override
Returns true if object dataObject can be processed via defined I/O-device.
virtual ifile::IDeviceBasedPersistence::OperationState ReadFromDevice(istd::IChangeable &data, QIODevice &device, ibase::IProgressManager *progressManagerPtr=nullptr) const override
This function loads data data from the given I/O-device device.
icomp::CComponentBase BaseClass
virtual ifile::IFilePersistence::OperationState SaveToFile(const istd::IChangeable &data, const QString &filePath=QString(), ibase::IProgressManager *progressManagerPtr=NULL) const override
This function saves data data to file filePath.
Interface providing reading and writing data objects via I/O-devices.
OperationState
Result of device-related operation.
Interface providing loading and saving of data objects.
OperationState
Result of operation.
Provide loading and saving of objects.
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
#define I_MULTITEXTATTR(member)
Declare translatable multiple text attribute member.
#define NULL
Definition istd.h:74
Contains the system independent basic implementations of Document/View design pattern.