File indexing completed on 2024-03-24 16:03:35

0001 /*
0002     SPDX-FileCopyrightText: 2007 Pino Toscano <pino@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef _KDOCUMENTVIEWER_H_
0008 #define _KDOCUMENTVIEWER_H_
0009 
0010 #include "okularpart_export.h"
0011 
0012 #include <QStringList>
0013 
0014 class QUrl;
0015 
0016 /**
0017  * @short Abstract interface for a document viewer
0018  *
0019  * This interface describes the basic functions of a document viewer.
0020  */
0021 class OKULARPART_EXPORT KDocumentViewer
0022 {
0023 public:
0024     KDocumentViewer()
0025     {
0026     }
0027     virtual ~KDocumentViewer()
0028     {
0029     }
0030 
0031     KDocumentViewer(const KDocumentViewer &) = delete;
0032     KDocumentViewer &operator=(const KDocumentViewer &) = delete;
0033 
0034     /**
0035      * Open the document at the specified @p url at page @p page.
0036      */
0037     virtual bool openDocument(const QUrl &url, uint page) = 0;
0038 
0039     /**
0040      * Change to @p page the currently shown page.
0041      */
0042     virtual void goToPage(uint page) = 0;
0043 
0044     /**
0045      * Start the presentation mode.
0046      */
0047     virtual void startPresentation() = 0;
0048 
0049     /**
0050      * Return a list with the supported mimetypes.
0051      */
0052     virtual QStringList supportedMimeTypes() const = 0;
0053 };
0054 
0055 Q_DECLARE_INTERFACE(KDocumentViewer, "org.kde.kdocumentviewer/0.1")
0056 
0057 #endif