kendingbalancedlg.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           kendingbalancedlg.h
00003                              -------------------
00004     copyright            : (C) 2000 by Michael Edwardes
00005     email                : mte@users.sourceforge.net
00006  ***************************************************************************/
00007 
00008 /***************************************************************************
00009  *                                                                         *
00010  *   This program is free software; you can redistribute it and/or modify  *
00011  *   it under the terms of the GNU General Public License as published by  *
00012  *   the Free Software Foundation; either version 2 of the License, or     *
00013  *   (at your option) any later version.                                   *
00014  *                                                                         *
00015  ***************************************************************************/
00016 
00017 #ifndef KENDINGBALANCEDLG_H
00018 #define KENDINGBALANCEDLG_H
00019 
00020 // ----------------------------------------------------------------------------
00021 // QT Includes
00022 
00023 #include <qwidget.h>
00024 #include <qgroupbox.h>
00025 #include <qlabel.h>
00026 #include <qpushbutton.h>
00027 #include <qdialog.h>
00028 #include <qdatetime.h>
00029 
00030 // ----------------------------------------------------------------------------
00031 // KDE Includes
00032 
00033 #include <klocale.h>
00034 
00035 // ----------------------------------------------------------------------------
00036 // Project Includes
00037 
00038 class kMyMoneyEdit;
00039 #include <kmymoney/kmymoneydateinput.h>
00040 #include <kmymoney/mymoneyaccount.h>
00041 #include "../dialogs/kendingbalancedlgdecl.h"
00042 
00051 class KEndingBalanceDlg : public KEndingBalanceDlgDecl
00052 {
00053   Q_OBJECT
00054 public:
00055   KEndingBalanceDlg(const MyMoneyAccount& account, QWidget *parent=0, const char *name=0);
00056   ~KEndingBalanceDlg();
00057 
00058   const MyMoneyMoney endingBalance(void) const;
00059   const MyMoneyMoney previousBalance(void) const;
00060   const QDate statementDate(void) const { return m_statementDate->date(); };
00061 
00062   const MyMoneyTransaction interestTransaction(void);
00063   const MyMoneyTransaction chargeTransaction(void);
00064 
00065 protected:
00066   bool createTransaction(MyMoneyTransaction& t, const int sign, kMyMoneyEdit *amountEdit, KMyMoneyCategory *categoryEdit, kMyMoneyDateInput* dateEdit);
00067   const MyMoneyMoney adjustedReturnValue(const MyMoneyMoney& v) const;
00068   void createCategory(const QString& txt, QString& id, const MyMoneyAccount& parent);
00069 
00070 protected slots:
00071   void slotCheckPageFinished(void);
00072   void slotReloadEditWidgets(void);
00073   void help(void);
00074   void slotCreateInterestCategory(const QString& txt, QString& id);
00075   void slotCreateChargesCategory(const QString& txt, QString& id);
00076   void accept(void);
00077   void slotUpdateBalances(void);
00078 
00079 signals:
00083   void createPayee(const QString&, QString&);
00084 
00088   void createCategory(MyMoneyAccount& acc, const MyMoneyAccount& parent);
00089 
00090 private:
00092   class Private;
00094   Private* const d;
00095 };
00096 
00102 class KEndingBalanceLoanDlg : public KEndingBalanceDlgDecl
00103 {
00104   Q_OBJECT
00105 public:
00106   KEndingBalanceLoanDlg(const MyMoneyAccount& account, QWidget *parent=0, const char *name=0);
00107   ~KEndingBalanceLoanDlg();
00108 
00113   const MyMoneyTransaction adjustmentTransaction(void) const;
00114 
00120   const QDate startDate(void) const { return m_startDateEdit->date(); };
00121 
00127   const QDate endDate(void) const { return m_endDateEdit->date(); };
00128 
00129 protected:
00130   const MyMoneyMoney totalInterest(const QDate& start, const QDate& end) const;
00131   const MyMoneyMoney totalAmortization(const QDate& start, const QDate& end) const;
00132 
00133 public slots:
00134   void next();
00135 
00136 protected slots:
00137   void slotCheckPageFinished(void);
00138   void help(void);
00139 
00140 private:
00142   class Private;
00144   Private* const d;
00145 };
00146 
00147 #endif

Generated on Wed Jan 26 13:03:17 2011 for KMyMoney by  doxygen 1.5.6