Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qpdfbookmarkmodel.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QPDFBOOKMARKMODEL_H
5#define QPDFBOOKMARKMODEL_H
6
7#include <QtPdf/qtpdfglobal.h>
8#include <QtCore/qabstractitemmodel.h>
9
10QT_BEGIN_NAMESPACE
11
12class QPdfDocument;
14
15class Q_PDF_EXPORT QPdfBookmarkModel : public QAbstractItemModel
16{
17 Q_OBJECT
18
19 Q_PROPERTY(QPdfDocument* document READ document WRITE setDocument NOTIFY documentChanged)
20
21public:
22 enum class Role : int
23 {
24 Title = Qt::UserRole,
25 Level,
26 Page,
27 Location,
28 Zoom,
29 NRoles
30 };
31 Q_ENUM(Role)
32
33 QPdfBookmarkModel() : QPdfBookmarkModel(nullptr) {}
34 explicit QPdfBookmarkModel(QObject *parent);
35 ~QPdfBookmarkModel() override;
36
37 QPdfDocument* document() const;
38 void setDocument(QPdfDocument *document);
39
40 QVariant data(const QModelIndex &index, int role) const override;
41 QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
42 QModelIndex parent(const QModelIndex &index) const override;
43 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
44 int columnCount(const QModelIndex &parent = QModelIndex()) const override;
45 QHash<int, QByteArray> roleNames() const override;
46
47Q_SIGNALS:
48 void documentChanged(QPdfDocument *document);
49
50private:
51 std::unique_ptr<QPdfBookmarkModelPrivate> d;
52
53 Q_PRIVATE_SLOT(d, void _q_documentStatusChanged())
54
55 friend struct QPdfBookmarkModelPrivate;
56};
57
58QT_END_NAMESPACE
59
60#endif
The QPdfBookmarkModel class holds a tree of links (anchors) within a PDF document,...
#define Q_PDF_LOGGING_CATEGORY(name,...)
QHash< int, QByteArray > m_roleNames
QPointer< QPdfDocument > m_document
void appendChildNode(BookmarkNode *parentBookmarkNode, FPDF_BOOKMARK parentBookmark, int level, FPDF_DOCUMENT document)
QScopedPointer< BookmarkNode > m_rootNode