1 /* This file is part of the KDE project
2  * Copyright (C) 2001-2007 by OpenMFG, LLC (info@openmfg.com)
3  * Copyright (C) 2007-2008 by Adam Pigg (adam@piggz.co.uk)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef KRSCRIPTCONSTANTS_H
20 #define KRSCRIPTCONSTANTS_H
21 
22 #include <QObject>
23 
24 /**
25  @brief Helper giving access to various scripting constants
26 
27  Contains methods for retreiving the current page number, page total
28  and access to the PenStyle enums from user scripts
29  */
30 class KReportScriptConstants : public QObject
31 {
32     Q_OBJECT
33 public:
34     explicit KReportScriptConstants(QObject *parent = nullptr);
35 
36     ~KReportScriptConstants() override;
37     Q_ENUMS(PenStyle)
38 
39     //!Enum values for pen styles that can be accessed from user scripts using
40     //! \code
41     //! constants.QtSolidLine
42     //! \endcode
43     //! for example
44     enum PenStyle {QtNoPen, QtSolidLine, QtDashLine, QtDotLine, QtDashDotLine, QtDashDotDotLine};
45 
setPageNumber(int p)46     void setPageNumber(int p) {
47         m_currentPage = p;
48     }
setPageTotal(int t)49     void setPageTotal(int t) {
50         m_totalPages = t;
51     };
52 public Q_SLOTS:
53 
54     //! @return the current page number
PageNumber()55     int PageNumber() {
56         return m_currentPage;
57     };
58 
59     //! @return the total number of pages
PageTotal()60     int PageTotal() {
61         return m_totalPages;
62     };
63 
64 private:
65     int m_currentPage;
66     int m_totalPages;
67 
68 
69 };
70 
71 #endif
72