as_reportpanel.h

Fri, 28 Nov 2008 14:20:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 28 Nov 2008 14:20:00 +0100
changeset 2
e8292658d5b3
child 3
c1941114ca88
permissions
-rw-r--r--

Added tag ASGUI_0.7.7 for changeset d64aaa7d146f

     1 //
     2 //  OSSP asgui - Accounting system graphical user interface
     3 //  Copyright (c) 2002-2004 The OSSP Project (http://www.ossp.org/)
     4 //  Copyright (c) 2002-2004 Ralf S. Engelschall <rse@engelschall.com>
     5 //  Copyright (c) 2002-2004 Michael Schloh von Bennewitz <michael@schloh.com>
     6 //  Copyright (c) 2002-2004 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://www.ossp.org/pkg/tool/asgui/.
    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 #ifndef REPORTPANEL_H
    33 #define REPORTPANEL_H
    35 #include <qvariant.h>
    36 #include <qdialog.h>
    37 #include <qdatetime.h>
    40 class TiTable;
    41 class Preferences;
    42 class QVBoxLayout;
    43 class QHBoxLayout;
    44 class QGridLayout;
    45 class QPushButton;
    46 class QTextEdit;
    47 class QToolButton;
    48 class QButtonGroup;
    49 class QPopupMenu;
    50 class QPrinter;
    52 namespace AS {
    54 class Reportpanel : public QDialog
    55 {
    56     Q_OBJECT
    58 public:
    59     Reportpanel(TiTable *, Preferences *, QWidget *pParent = 0,
    60                 const char *kszName = 0, bool bModal = true, WFlags Flags = 0);
    61 //    ~Reportpanel(void); // No need to destroy widgets, because qt does it for us
    63 public:
    64     QButtonGroup *m_pWeekmonthgroup;
    65     QToolButton  *m_pWeeklybutt;
    66     QToolButton  *m_pMonthlybutt;
    67     QTextEdit    *m_pBrowser;
    68     QPushButton  *m_pSavebutt;
    69     QPushButton  *m_pDismissbutt;
    70     QPushButton  *m_pPrintbutt;
    72 protected:
    73     QVBoxLayout *m_pFormlay;
    74     QVBoxLayout *m_pGrouplay;
    75     QHBoxLayout *m_pToolay;
    76     QHBoxLayout *m_pPushlay;
    77     QHBoxLayout *m_pWeekmonthlay;
    78     QPopupMenu  *m_pWeekpop;
    79     QPopupMenu  *m_pMonthpop;
    81 private:
    82     int          m_nWeeks;
    83     int          m_nMonths;
    84     TiTable     *m_pReptable;
    85     Preferences *m_pReprefs;
    86 #ifndef QT_NO_PRINTER
    87     QPrinter    *m_pPrinter;
    88 #endif
    90 public slots:
    91     int exec(void);
    93 protected slots:
    94     virtual void saveReport(void);
    95     virtual void printReport(void);
    96     virtual void textChange(void);
    97     virtual void reportWeeks(int nMenuid = -1);
    98     virtual void reportMonths(int nMenuid = -1);
   100 private:
   101     void writeHeader(int);
   102     void writeHeader(int, int);
   103     void writeHeader(QString);
   104     void writeHeader(QString, QString);
   105     void writeFooter(void);
   106     QString getWeektotals(QDate Refer = QDate::currentDate(), int nWeeks = 1);
   107     QString getWeekdetails(QDate Refer = QDate::currentDate(), int nWeeks = 1);
   108     QString getMonthtotals(QDate Refer = QDate::currentDate(), int nMonths = 1);
   109     QString getMonthdetails(QDate Refer = QDate::currentDate(), int nMonths = 1);
   110 };
   111 } // namespace AS
   113 #endif // REPORTPANEL_H

mercurial