michael@1: // michael@1: // OSSP asgui - Accounting system graphical user interface michael@12: // Copyright (c) 2002-2009 The OSSP Project (http://www.ossp.org/) michael@12: // Copyright (c) 2002-2009 Ralf S. Engelschall michael@12: // Copyright (c) 2002-2009 Michael Schloh von Bennewitz michael@12: // Copyright (c) 2002-2009 Cable & Wireless Telecommunications Services GmbH michael@1: // michael@1: // This file is part of OSSP asgui, an accounting system graphical user michael@3: // interface which can be found at http://asgui.europalab.com/. michael@1: // michael@1: // Permission to use, copy, modify, and distribute this software for michael@1: // any purpose with or without fee is hereby granted, provided that michael@1: // the above copyright notice and this permission notice appear in all michael@1: // copies. michael@1: // michael@1: // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED michael@1: // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF michael@1: // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. michael@1: // IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR michael@1: // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, michael@1: // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT michael@1: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF michael@1: // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND michael@1: // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, michael@1: // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT michael@1: // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF michael@1: // SUCH DAMAGE. michael@1: // michael@1: // as_reportpanel.h: ISO C++ interface michael@1: // michael@1: michael@1: #ifndef REPORTPANEL_H michael@1: #define REPORTPANEL_H michael@1: michael@1: #include michael@1: #include michael@1: #include michael@1: michael@3: //Added by qt3to4: michael@3: #include michael@3: #include michael@3: #include michael@3: #include michael@3: michael@1: michael@1: class TiTable; michael@1: class Preferences; michael@3: class Q3VBoxLayout; michael@3: class Q3HBoxLayout; michael@3: class Q3GridLayout; michael@1: class QPushButton; michael@3: class Q3TextEdit; michael@1: class QToolButton; michael@3: class Q3ButtonGroup; michael@3: class Q3PopupMenu; michael@1: class QPrinter; michael@1: michael@1: namespace AS { michael@1: michael@1: class Reportpanel : public QDialog michael@1: { michael@1: Q_OBJECT michael@1: michael@1: public: michael@1: Reportpanel(TiTable *, Preferences *, QWidget *pParent = 0, michael@3: const char *kszName = 0, bool bModal = true, Qt::WFlags Flags = 0); michael@1: // ~Reportpanel(void); // No need to destroy widgets, because qt does it for us michael@1: michael@1: public: michael@3: Q3ButtonGroup *m_pWeekmonthgroup; michael@1: QToolButton *m_pWeeklybutt; michael@1: QToolButton *m_pMonthlybutt; michael@3: Q3TextEdit *m_pBrowser; michael@1: QPushButton *m_pSavebutt; michael@1: QPushButton *m_pDismissbutt; michael@1: QPushButton *m_pPrintbutt; michael@1: michael@1: protected: michael@3: Q3VBoxLayout *m_pFormlay; michael@3: Q3VBoxLayout *m_pGrouplay; michael@3: Q3HBoxLayout *m_pToolay; michael@3: Q3HBoxLayout *m_pPushlay; michael@3: Q3HBoxLayout *m_pWeekmonthlay; michael@3: Q3PopupMenu *m_pWeekpop; michael@3: Q3PopupMenu *m_pMonthpop; michael@1: michael@1: private: michael@1: int m_nWeeks; michael@1: int m_nMonths; michael@1: TiTable *m_pReptable; michael@1: Preferences *m_pReprefs; michael@1: #ifndef QT_NO_PRINTER michael@1: QPrinter *m_pPrinter; michael@1: #endif michael@1: michael@1: public slots: michael@1: int exec(void); michael@1: michael@1: protected slots: michael@1: virtual void saveReport(void); michael@1: virtual void printReport(void); michael@1: virtual void textChange(void); michael@1: virtual void reportWeeks(int nMenuid = -1); michael@1: virtual void reportMonths(int nMenuid = -1); michael@1: michael@1: private: michael@1: void writeHeader(int); michael@1: void writeHeader(int, int); michael@1: void writeHeader(QString); michael@1: void writeHeader(QString, QString); michael@1: void writeFooter(void); michael@1: QString getWeektotals(QDate Refer = QDate::currentDate(), int nWeeks = 1); michael@1: QString getWeekdetails(QDate Refer = QDate::currentDate(), int nWeeks = 1); michael@1: QString getMonthtotals(QDate Refer = QDate::currentDate(), int nMonths = 1); michael@1: QString getMonthdetails(QDate Refer = QDate::currentDate(), int nMonths = 1); michael@1: }; michael@1: } // namespace AS michael@1: michael@1: #endif // REPORTPANEL_H