Fri, 28 Nov 2008 14:20:00 +0100
Added tag ASGUI_0.7.7 for changeset d64aaa7d146f
michael@1 | 1 | // |
michael@1 | 2 | // OSSP asgui - Accounting system graphical user interface |
michael@1 | 3 | // Copyright (c) 2002-2004 The OSSP Project (http://www.ossp.org/) |
michael@1 | 4 | // Copyright (c) 2002-2004 Ralf S. Engelschall <rse@engelschall.com> |
michael@1 | 5 | // Copyright (c) 2002-2004 Michael Schloh von Bennewitz <michael@schloh.com> |
michael@1 | 6 | // Copyright (c) 2002-2004 Cable & Wireless Telecommunications Services GmbH |
michael@1 | 7 | // |
michael@1 | 8 | // This file is part of OSSP asgui, an accounting system graphical user |
michael@1 | 9 | // interface which can be found at http://www.ossp.org/pkg/tool/asgui/. |
michael@1 | 10 | // |
michael@1 | 11 | // Permission to use, copy, modify, and distribute this software for |
michael@1 | 12 | // any purpose with or without fee is hereby granted, provided that |
michael@1 | 13 | // the above copyright notice and this permission notice appear in all |
michael@1 | 14 | // copies. |
michael@1 | 15 | // |
michael@1 | 16 | // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
michael@1 | 17 | // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
michael@1 | 18 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
michael@1 | 19 | // IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
michael@1 | 20 | // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
michael@1 | 21 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
michael@1 | 22 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
michael@1 | 23 | // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
michael@1 | 24 | // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
michael@1 | 25 | // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
michael@1 | 26 | // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
michael@1 | 27 | // SUCH DAMAGE. |
michael@1 | 28 | // |
michael@1 | 29 | // as_reportpanel.h: ISO C++ interface |
michael@1 | 30 | // |
michael@1 | 31 | |
michael@1 | 32 | #ifndef REPORTPANEL_H |
michael@1 | 33 | #define REPORTPANEL_H |
michael@1 | 34 | |
michael@1 | 35 | #include <qvariant.h> |
michael@1 | 36 | #include <qdialog.h> |
michael@1 | 37 | #include <qdatetime.h> |
michael@1 | 38 | |
michael@1 | 39 | |
michael@1 | 40 | class TiTable; |
michael@1 | 41 | class Preferences; |
michael@1 | 42 | class QVBoxLayout; |
michael@1 | 43 | class QHBoxLayout; |
michael@1 | 44 | class QGridLayout; |
michael@1 | 45 | class QPushButton; |
michael@1 | 46 | class QTextEdit; |
michael@1 | 47 | class QToolButton; |
michael@1 | 48 | class QButtonGroup; |
michael@1 | 49 | class QPopupMenu; |
michael@1 | 50 | class QPrinter; |
michael@1 | 51 | |
michael@1 | 52 | namespace AS { |
michael@1 | 53 | |
michael@1 | 54 | class Reportpanel : public QDialog |
michael@1 | 55 | { |
michael@1 | 56 | Q_OBJECT |
michael@1 | 57 | |
michael@1 | 58 | public: |
michael@1 | 59 | Reportpanel(TiTable *, Preferences *, QWidget *pParent = 0, |
michael@1 | 60 | const char *kszName = 0, bool bModal = true, WFlags Flags = 0); |
michael@1 | 61 | // ~Reportpanel(void); // No need to destroy widgets, because qt does it for us |
michael@1 | 62 | |
michael@1 | 63 | public: |
michael@1 | 64 | QButtonGroup *m_pWeekmonthgroup; |
michael@1 | 65 | QToolButton *m_pWeeklybutt; |
michael@1 | 66 | QToolButton *m_pMonthlybutt; |
michael@1 | 67 | QTextEdit *m_pBrowser; |
michael@1 | 68 | QPushButton *m_pSavebutt; |
michael@1 | 69 | QPushButton *m_pDismissbutt; |
michael@1 | 70 | QPushButton *m_pPrintbutt; |
michael@1 | 71 | |
michael@1 | 72 | protected: |
michael@1 | 73 | QVBoxLayout *m_pFormlay; |
michael@1 | 74 | QVBoxLayout *m_pGrouplay; |
michael@1 | 75 | QHBoxLayout *m_pToolay; |
michael@1 | 76 | QHBoxLayout *m_pPushlay; |
michael@1 | 77 | QHBoxLayout *m_pWeekmonthlay; |
michael@1 | 78 | QPopupMenu *m_pWeekpop; |
michael@1 | 79 | QPopupMenu *m_pMonthpop; |
michael@1 | 80 | |
michael@1 | 81 | private: |
michael@1 | 82 | int m_nWeeks; |
michael@1 | 83 | int m_nMonths; |
michael@1 | 84 | TiTable *m_pReptable; |
michael@1 | 85 | Preferences *m_pReprefs; |
michael@1 | 86 | #ifndef QT_NO_PRINTER |
michael@1 | 87 | QPrinter *m_pPrinter; |
michael@1 | 88 | #endif |
michael@1 | 89 | |
michael@1 | 90 | public slots: |
michael@1 | 91 | int exec(void); |
michael@1 | 92 | |
michael@1 | 93 | protected slots: |
michael@1 | 94 | virtual void saveReport(void); |
michael@1 | 95 | virtual void printReport(void); |
michael@1 | 96 | virtual void textChange(void); |
michael@1 | 97 | virtual void reportWeeks(int nMenuid = -1); |
michael@1 | 98 | virtual void reportMonths(int nMenuid = -1); |
michael@1 | 99 | |
michael@1 | 100 | private: |
michael@1 | 101 | void writeHeader(int); |
michael@1 | 102 | void writeHeader(int, int); |
michael@1 | 103 | void writeHeader(QString); |
michael@1 | 104 | void writeHeader(QString, QString); |
michael@1 | 105 | void writeFooter(void); |
michael@1 | 106 | QString getWeektotals(QDate Refer = QDate::currentDate(), int nWeeks = 1); |
michael@1 | 107 | QString getWeekdetails(QDate Refer = QDate::currentDate(), int nWeeks = 1); |
michael@1 | 108 | QString getMonthtotals(QDate Refer = QDate::currentDate(), int nMonths = 1); |
michael@1 | 109 | QString getMonthdetails(QDate Refer = QDate::currentDate(), int nMonths = 1); |
michael@1 | 110 | }; |
michael@1 | 111 | } // namespace AS |
michael@1 | 112 | |
michael@1 | 113 | #endif // REPORTPANEL_H |