KReport

KReportMapRenderer.h
1 /*
2  * Copyright (C) 2015 RadosÅ‚aw Wicik <[email protected]>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 #ifndef MAPRENDERER_H
20 #define MAPRENDERER_H
21 
22 #include <marble/MarbleGlobal.h>
23 #include <marble/MarbleMap.h>
24 #include <marble/RenderState.h>
25 
26 #include <QTimer>
27 
28 #include "kreportplugin_debug.h"
29 
30 class KReportItemMaps;
31 
32 class KReportMapRenderer : public QObject
33 {
34  Q_OBJECT
35  Q_DISABLE_COPY(KReportMapRenderer)
36 public:
37  KReportMapRenderer(QObject* parent = nullptr);
38  ~KReportMapRenderer() override;
39  void renderJob(KReportItemMaps* reportItemMaps);
40 Q_SIGNALS:
41  void jobFinished();
42 private Q_SLOTS:
43  void onRenderStatusChange(Marble::RenderStatus renderStatus);
44  void downloadProgres(int active, int queued);
45  void retryRender();
46 
47 private:
48  Marble::MarbleMap m_marble;
49  KReportItemMaps* m_currentJob;
50 
51  QTimer m_retryTimer;
52 };
53 
54 #endif // MAPRENDERER_H
Q_OBJECTQ_OBJECT
Q_SLOTSQ_SLOTS
Q_SIGNALSQ_SIGNALS
Q_DISABLE_COPY(Class)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Feb 7 2023 04:17:37 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.