ACF $AcfVersion:0$
IMultiPageDocument.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/QSizeF>
7#include <QtCore/QString>
8
9// ACF includes
10#include <istd/IChangeable.h>
11
12
13namespace iprm
14{
15 class IParamsSet;
16}
17
18
19namespace idoc
20{
21
22
23class IDocumentMetaInfo;
24
25
80{
81public:
86 virtual int GetPagesCount() const = 0;
87
93 virtual const istd::IChangeable& GetDocumentPage(int pageIndex) const = 0;
94
100 virtual const idoc::IDocumentMetaInfo* GetPageMetaInfo(int pageIndex) const = 0;
101
107 virtual void ResetPages() = 0;
108
127 const idoc::IDocumentMetaInfo* pageMetaInfoPtr = NULL,
128 const iprm::IParamsSet* pageParameterPtr = NULL,
129 int position = -1) = 0;
130
136 virtual bool RemovePage(int pageIndex) = 0;
137
144 virtual const IDocumentMetaInfo& GetDocumentMetaInfo() const = 0;
145};
146
147
149
150
151} // namespace idoc
152
153
154
155
Interface for document meta-information.
Simple interface for a structured document.
virtual void ResetPages()=0
Remove all pages and their content from the document.
virtual const istd::IChangeable & GetDocumentPage(int pageIndex) const =0
Get the document page.
virtual const idoc::IDocumentMetaInfo * GetPageMetaInfo(int pageIndex) const =0
Get meta info of the given page if exists.
virtual istd::IChangeable * InsertPage(const idoc::IDocumentMetaInfo *pageMetaInfoPtr=NULL, const iprm::IParamsSet *pageParameterPtr=NULL, int position=-1)=0
Insert a new document page at the given position.
virtual int GetPagesCount() const =0
Get number of pages in the document.
virtual bool RemovePage(int pageIndex)=0
Remove the page at the given index.
virtual const IDocumentMetaInfo & GetDocumentMetaInfo() const =0
Get meta information about the document.
Set of general parameters.
Definition IParamsSet.h:81
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
Unique ownership smart pointer for interface types.
#define NULL
Definition istd.h:74
Contains the system independent basic implementations of Document/View design pattern.
istd::TUniqueInterfacePtr< IMultiPageDocument > IMultiPageDocumentPtr
Contains interfaces and implementations of flexible parameter concept.