File indexing completed on 2024-05-12 16:28:23

0001 /*
0002  * This file is part of the KDE project
0003  *
0004  * Copyright (C) 2013 Shantanu Tushar <shantanu@kde.org>
0005  * Copyright (C) 2013 Sujith Haridasan <sujith.h@gmail.com>
0006  * Copyright (C) 2013 Arjen Hiemstra <ahiemstra@heimr.nl>
0007  *
0008  * This library is free software; you can redistribute it and/or
0009  * modify it under the terms of the GNU Library General Public
0010  * License as published by the Free Software Foundation; either
0011  * version 2 of the License, or (at your option) any later version.
0012  *
0013  * This library is distributed in the hope that it will be useful,
0014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0016  * Library General Public License for more details.
0017  *
0018  * You should have received a copy of the GNU Library General Public License
0019  * along with this library; see the file COPYING.LIB.  If not, write to
0020  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0021  * Boston, MA 02110-1301, USA.
0022  *
0023  */
0024 
0025 #ifndef CALLIGRA_COMPONENTS_PRESENTATIONKOPAVIEW_H
0026 #define CALLIGRA_COMPONENTS_PRESENTATIONKOPAVIEW_H
0027 
0028 #include <KoPAViewBase.h>
0029 #include <KoZoomMode.h>
0030 
0031 class KoCanvasController;
0032 class KoZoomMode;
0033 class KPrDocument;
0034 class KoPACanvasBase;
0035 
0036 namespace Calligra {
0037 namespace Components {
0038 
0039 class PresentationKoPAView : public QObject, public KoPAViewBase
0040 {
0041     Q_OBJECT
0042 public:
0043     PresentationKoPAView(KoCanvasController* canvasController, KoPACanvasBase* canvas, KPrDocument* prDocument);
0044     ~PresentationKoPAView() override;
0045     void setShowRulers (bool show) override;
0046     void editPaste() override;
0047     void pagePaste() override;
0048     void insertPage() override;
0049     void updatePageNavigationActions() override;
0050     void setActionEnabled (int actions, bool enable) override;
0051     void navigatePage (KoPageApp::PageNavigation pageNavigation) override;
0052     KoPAPageBase* activePage() const override;
0053     void setActivePage (KoPAPageBase* page) override;
0054     void doUpdateActivePage (KoPAPageBase* page) override;
0055     KoZoomController* zoomController() const override;
0056     KoPADocument* kopaDocument() const override;
0057     KoPACanvasBase* kopaCanvas() const override;
0058 
0059     void setZoomController(KoZoomController* controller);
0060 
0061 public Q_SLOTS:
0062     void connectToZoomController();
0063 
0064 private:
0065     class Private;
0066     Private* const d;
0067 
0068 private Q_SLOTS:
0069     void slotZoomChanged (KoZoomMode::Mode mode, qreal zoom);
0070 };
0071 
0072 } // Namespace Components
0073 } // Namespace Calligra
0074 
0075 #endif // CALLIGRA_COMPONENTS_PRESENTATIONKOPAVIEW_H