ACF $AcfVersion:0$
IDocumentTemplate.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// Qt includes
6#include <QtCore/QString>
7
8// ACF includes
9#include <istd/IChangeable.h>
11#include <imod/IObserver.h>
12#include <ibase/ICommand.h>
13#include <idoc/IUndoManager.h>
15
16
17namespace idoc
18{
19
20
70{
71public:
77
85 virtual Ids GetViewTypeIds(const QByteArray& documentTypeId) const = 0;
86
93 virtual QString GetViewTypeName(
94 const QByteArray& documentTypeId,
95 const QByteArray& viewTypeId) const = 0;
96
104 virtual ifile::IFilePersistence* GetFileLoader(const QByteArray& documentTypeId) const = 0;
105
126 QByteArray& documentTypeId,
127 bool initialize = true,
128 bool beQuiet = false,
129 bool* ignoredFlagPtr = NULL) const = 0;
130
154 const QByteArray& documentTypeId,
155 istd::IChangeable* documentPtr,
156 const QByteArray& viewTypeId = QByteArray()) const = 0;
157
167 virtual idoc::IUndoManagerUniquePtr CreateUndoManager(const QByteArray& documentTypeId, istd::IChangeable* documentPtr) const = 0;
168};
169
170
171} // namespace idoc
172
173
174
175
Common interface for a document template.
istd::TSharedInterfacePtr< istd::IPolymorphic > ViewSharedPtr
virtual idoc::IUndoManagerUniquePtr CreateUndoManager(const QByteArray &documentTypeId, istd::IChangeable *documentPtr) const =0
Creates an undo manager for a given document documentPtr.
virtual QString GetViewTypeName(const QByteArray &documentTypeId, const QByteArray &viewTypeId) const =0
Get human readable name of some view type ID.
virtual ViewUniquePtr CreateView(const QByteArray &documentTypeId, istd::IChangeable *documentPtr, const QByteArray &viewTypeId=QByteArray()) const =0
Creates a view instance for document document of type viewTypeId.
virtual Ids GetViewTypeIds(const QByteArray &documentTypeId) const =0
Return supported view type IDs for specified document type.
virtual istd::IChangeableUniquePtr CreateDocument(QByteArray &documentTypeId, bool initialize=true, bool beQuiet=false, bool *ignoredFlagPtr=NULL) const =0
Creates a document instance for document type documentTypeId.
istd::TUniqueInterfacePtr< istd::IPolymorphic > ViewUniquePtr
Type definitions for view smart pointers.
virtual ifile::IFilePersistence * GetFileLoader(const QByteArray &documentTypeId) const =0
Get file loader/saver for specified document ID.
Provide information about different document types.
QVector< QByteArray > Ids
Type definition for document type ID collections.
Interface providing loading and saving of data objects.
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
Shared ownership smart pointer for interface types.
Unique ownership smart pointer for interface types.
#define NULL
Definition istd.h:74
Contains the system independent basic implementations of Document/View design pattern.