00001 /*************************************************************************** 00002 knewloanwizard.h - description 00003 ------------------- 00004 begin : Wed Oct 8 2003 00005 copyright : (C) 2000-2003 by Thomas Baumgart 00006 email : mte@users.sourceforge.net 00007 Javier Campos Morales <javi_c@users.sourceforge.net> 00008 Felix Rodriguez <frodriguez@users.sourceforge.net> 00009 John C <thetacoturtle@users.sourceforge.net> 00010 Thomas Baumgart <ipwizard@users.sourceforge.net> 00011 Kevin Tambascio <ktambascio@users.sourceforge.net> 00012 ***************************************************************************/ 00013 00014 /*************************************************************************** 00015 * * 00016 * This program is free software; you can redistribute it and/or modify * 00017 * it under the terms of the GNU General Public License as published by * 00018 * the Free Software Foundation; either version 2 of the License, or * 00019 * (at your option) any later version. * 00020 * * 00021 ***************************************************************************/ 00022 00023 #ifndef KNEWLOANWIZARD_H 00024 #define KNEWLOANWIZARD_H 00025 00026 // ---------------------------------------------------------------------------- 00027 // QT Includes 00028 00029 #include <qwidget.h> 00030 00031 // ---------------------------------------------------------------------------- 00032 // KDE Includes 00033 00034 // ---------------------------------------------------------------------------- 00035 // Project Includes 00036 00037 #include <../dialogs/knewloanwizarddecl.h> 00038 #include <kmymoney/mymoneyscheduled.h> 00039 #include <kmymoney/kmymoneyaccountselector.h> 00040 #include <kmymoney/kmymoneydateinput.h> 00041 00054 class KNewLoanWizard : public KNewLoanWizardDecl 00055 { 00056 Q_OBJECT 00057 public: 00058 KNewLoanWizard(QWidget *parent=0, const char *name=0); 00059 ~KNewLoanWizard(); 00060 00072 MyMoneySchedule schedule(void) const; 00073 00082 QString initialPaymentAccount(void) const; 00083 00091 QDate initialPaymentDate(void) const; 00092 00093 protected: 00100 MyMoneyTransaction transaction(void) const; 00101 00102 public slots: 00103 void next(); 00104 00105 protected slots: 00106 void slotLiabilityLoan(void); 00107 void slotAssetLoan(void); 00108 virtual void slotCheckPageFinished(void); 00109 void slotPaymentsMade(void); 00110 void slotNoPaymentsMade(void); 00111 void slotRecordAllPayments(void); 00112 void slotRecordThisYearsPayments(void); 00113 void slotInterestOnPayment(void); 00114 void slotInterestOnReception(void); 00115 void slotCreateCategory(void); 00116 virtual void slotAdditionalFees(void); 00117 // void slotNewPayee(const QString&); 00118 void slotReloadEditWidgets(void); 00119 00120 protected: 00121 void loadComboBoxes(void); 00122 void loadAccountList(void); 00123 void resetCalculator(void); 00124 void updateLoanAmount(void); 00125 void updateInterestRate(void); 00126 void updateDuration(void); 00127 void updatePayment(void); 00128 void updateFinalPayment(void); 00129 void updateLoanInfo(void); 00130 QString updateTermWidgets(const long double v); 00131 void updatePeriodicPayment(void); 00132 void updateSummary(void); 00133 int calculateLoan(void); 00134 int term(void) const; 00135 00136 signals: 00150 void newCategory(MyMoneyAccount& acc); 00151 00159 void createPayee(const QString& txt, QString& id); 00160 00161 protected: 00162 MyMoneyAccountLoan m_account; 00163 MyMoneyTransaction m_transaction; 00164 MyMoneySplit m_split; 00165 }; 00166 00167 #endif