Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qpdfsearchmodel.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 QPDFSEARCHMODEL_H
5#define QPDFSEARCHMODEL_H
6
7#include <QtPdf/qtpdfglobal.h>
8
9#include <QtCore/qabstractitemmodel.h>
10#include <QtPdf/qpdfdocument.h>
11#include <QtPdf/qpdflink.h>
12
14
16
17class Q_PDF_EXPORT QPdfSearchModel : public QAbstractListModel
18{
20 Q_PROPERTY(QPdfDocument *document READ document WRITE setDocument NOTIFY documentChanged)
21 Q_PROPERTY(QString searchString READ searchString WRITE setSearchString NOTIFY searchStringChanged)
22 Q_PROPERTY(int count READ count NOTIFY countChanged REVISION(6, 8) FINAL)
23
24public:
25 enum class Role : int {
26 Page = Qt::UserRole,
27 IndexOnPage,
28 Location,
29 ContextBefore,
30 ContextAfter,
31 NRoles
32 };
33 Q_ENUM(Role)
35 explicit QPdfSearchModel(QObject *parent);
36 ~QPdfSearchModel() override;
37
38 QList<QPdfLink> resultsOnPage(int page) const;
39 QPdfLink resultAtIndex(int index) const;
40
41 QPdfDocument *document() const;
42 QString searchString() const;
43
44 QHash<int, QByteArray> roleNames() const override;
45 int rowCount(const QModelIndex &parent) const override;
46 QVariant data(const QModelIndex &index, int role) const override;
47
48 int count() const;
49
50public Q_SLOTS:
51 void setSearchString(const QString &searchString);
52 void setDocument(QPdfDocument *document);
53
57 Q_REVISION(6, 8) void countChanged();
58
59protected:
60 void updatePage(int page);
61 void timerEvent(QTimerEvent *event) override;
62
64 QHash<int, QByteArray> m_roleNames;
65 Q_DECLARE_PRIVATE(QPdfSearchModel)
66};
67
69
70#endif // QPDFSEARCHMODEL_H
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore
Definition qhash.h:820
\inmodule QtCore
\inmodule QtCore
Definition qobject.h:103
The QPdfDocument class loads a PDF document and renders pages from it.
The QPdfSearchModel class searches for a string in a PDF document and holds the results.
void documentChanged()
Q_REVISION(6, 8) void countChanged()
void searchStringChanged()
Role
\value Page The page number where the search result is found (int).
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qcoreevent.h:366
\inmodule QtCore
Definition qvariant.h:65
Combined button and popup list for selecting options.
@ UserRole
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
GLuint index
[2]
GLenum GLenum GLsizei count
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
struct _cl_event * event
#define Q_ENUM(x)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_SLOTS
#define Q_SIGNALS
QByteArray page
[45]