kendingbalancedlg.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef KENDINGBALANCEDLG_H
00018 #define KENDINGBALANCEDLG_H
00019
00020
00021
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
00032
00033 #include <klocale.h>
00034
00035
00036
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