ACF $AcfVersion:0$
CCompositeDocumentTemplateComp.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
8
9
10namespace idoc
11{
12
13
19 virtual public IDocumentTemplate
20{
21public:
23
24 I_BEGIN_COMPONENT(CCompositeDocumentTemplateComp);
25 I_REGISTER_INTERFACE(idoc::IDocumentTemplate);
26 I_ASSIGN_MULTI_0(m_slaveTemplatesCompPtr, "SlaveTemplates", "Set of document templates", true);
27 I_END_COMPONENT;
28
29 // reimplemented (idoc::IDocumentTypesInfo)
30 virtual bool IsFeatureSupported(int featureFlags, const QByteArray& documentTypeId) const override;
31 virtual Ids GetDocumentTypeIds() const override;
32 virtual QString GetDocumentTypeName(const QByteArray& documentTypeId) const override;
33 virtual ifile::IFileTypeInfo* GetDocumentFileTypeInfo(const QByteArray& documentTypeId) const override;
34 virtual Ids GetDocumentTypeIdsForFile(const QString& filePath) const override;
35 virtual QString GetDefaultDirectory(const QString& sugestedDir = "", const QByteArray* documentTypeIdPtr = NULL) const override;
36
37 // reimplemented (idoc::IDocumentTemplate)
38 virtual Ids GetViewTypeIds(const QByteArray& documentTypeId) const override;
39 virtual QString GetViewTypeName(
40 const QByteArray& documentTypeId,
41 const QByteArray& viewTypeId) const override;
42 virtual ifile::IFilePersistence* GetFileLoader(const QByteArray& documentTypeId) const override;
44 QByteArray& documentTypeId,
45 bool initialize = true,
46 bool beQuiet = false,
47 bool* ignoredFlagPtr = NULL) const override;
49 const QByteArray& documentTypeId,
50 istd::IChangeable* documentPtr,
51 const QByteArray& viewTypeId = QByteArray()) const override;
52 virtual idoc::IUndoManagerUniquePtr CreateUndoManager(const QByteArray& documentTypeId, istd::IChangeable* documentPtr) const override;
53
54protected:
55 // reimplemented (icomp::CComponentBase)
56 virtual void OnComponentCreated() override;
57 virtual void OnComponentDestroyed() override;
58
59private:
60 I_MULTIREF(idoc::IDocumentTemplate, m_slaveTemplatesCompPtr);
61
62 typedef QMap<QByteArray, const idoc::IDocumentTemplate*> IdToTemplateMap;
63 IdToTemplateMap m_idToTemplateMap;
64};
65
66
67} // namespace idoc
68
69
70
71
Base class for component implementation.
Complex document template consists of more simple templates.
virtual istd::IChangeableUniquePtr CreateDocument(QByteArray &documentTypeId, bool initialize=true, bool beQuiet=false, bool *ignoredFlagPtr=NULL) const override
Creates a document instance for document type documentTypeId.
virtual Ids GetViewTypeIds(const QByteArray &documentTypeId) const override
Return supported view type IDs for specified document type.
virtual ifile::IFileTypeInfo * GetDocumentFileTypeInfo(const QByteArray &documentTypeId) const override
Get file type information object for some selected document type.
virtual idoc::IUndoManagerUniquePtr CreateUndoManager(const QByteArray &documentTypeId, istd::IChangeable *documentPtr) const override
Creates an undo manager for a given document documentPtr.
virtual void OnComponentCreated() override
virtual QString GetViewTypeName(const QByteArray &documentTypeId, const QByteArray &viewTypeId) const override
Get human readable name of some view type ID.
virtual ifile::IFilePersistence * GetFileLoader(const QByteArray &documentTypeId) const override
Get file loader/saver for specified document ID.
virtual bool IsFeatureSupported(int featureFlags, const QByteArray &documentTypeId) const override
Return true, if the feature(s) is supported by this document template.
virtual Ids GetDocumentTypeIdsForFile(const QString &filePath) const override
Get list of supported document IDs that can handle the specified file.
virtual ViewUniquePtr CreateView(const QByteArray &documentTypeId, istd::IChangeable *documentPtr, const QByteArray &viewTypeId=QByteArray()) const override
Creates a view instance for document document of type viewTypeId.
virtual void OnComponentDestroyed() override
virtual QString GetDocumentTypeName(const QByteArray &documentTypeId) const override
Get human readable name of some document type ID.
virtual QString GetDefaultDirectory(const QString &sugestedDir="", const QByteArray *documentTypeIdPtr=NULL) const override
Return default directory for specified document type.
virtual Ids GetDocumentTypeIds() const override
Get list of supported document type IDs.
Common interface for a document template.
QVector< QByteArray > Ids
Type definition for document type ID collections.
Interface providing loading and saving of data objects.
Provide loading and saving of objects.
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
#define NULL
Definition istd.h:74
Contains the system independent basic implementations of Document/View design pattern.