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