Initial
This commit is contained in:
109
cashflow/CALCDLG.CPP
Normal file
109
cashflow/CALCDLG.CPP
Normal file
@@ -0,0 +1,109 @@
|
||||
#include <cashflow/calcdlg.hpp>
|
||||
#include <cashflow/cashdefs.hpp>
|
||||
#include <cashflow/cashflow.hpp>
|
||||
#include <cashflow/ppydlg.hpp>
|
||||
#include <cashflow/graphwnd.hpp>
|
||||
#include <fpsheet/fpsheet.hpp>
|
||||
#include <common/stdio.hpp>
|
||||
#include <common/crsctrl.hpp>
|
||||
|
||||
CallbackData::ReturnType CalcDlg::initHandler(CallbackData &/*someCallbackData*/)
|
||||
{
|
||||
mlpGraphWindow=new GraphWindow(*this,Rect(3,254,558,146));
|
||||
mlpCalcThread=new CalcThread();
|
||||
mlpCalcSheet=new FPSheet(*this,360,(Factor-IssBal)+1,Rect(xPos,yPos,cxPos,cyPos),mFont);
|
||||
mlpCalcSheet->show();
|
||||
setColumnTitles();
|
||||
setColumnTypes();
|
||||
return (CallbackData::ReturnType)FALSE;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType CalcDlg::destroyHandler(CallbackData &/*someCallbackData*/)
|
||||
{
|
||||
if(mlpCalcThread){delete mlpCalcThread;mlpCalcThread=0;}
|
||||
if(mlpCalcSheet){delete mlpCalcSheet;mlpCalcSheet=0;}
|
||||
if(mlpGraphWindow){delete mlpGraphWindow;mlpGraphWindow=0;}
|
||||
return (CallbackData::ReturnType)FALSE;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType CalcDlg::closeHandler(CallbackData &/*someCallbackData*/)
|
||||
{
|
||||
endDialog(TRUE);
|
||||
return (CallbackData::ReturnType)FALSE;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType CalcDlg::commandHandler(CallbackData &someCallbackData)
|
||||
{
|
||||
switch(someCallbackData.wmCommandID())
|
||||
{
|
||||
case IDCANCEL :
|
||||
endDialog(FALSE);
|
||||
break;
|
||||
case IDOK :
|
||||
generateFlows();
|
||||
break;
|
||||
case CALC_PREPAYMENTS :
|
||||
if(sendMessage(CALC_PREPAYMENTS,BM_GETCHECK,0,0L))
|
||||
{
|
||||
handlePrepayments();
|
||||
sendMessage(CALC_PREPAYMENTS,BM_SETCHECK,0,0L);
|
||||
}
|
||||
break;
|
||||
case CALC_TERM :
|
||||
break;
|
||||
case CALC_COUPON :
|
||||
break;
|
||||
case CALC_PRINCIPAL :
|
||||
break;
|
||||
case CALC_CALCULATE :
|
||||
generateFlows();
|
||||
break;
|
||||
}
|
||||
return (CallbackData::ReturnType)FALSE;
|
||||
}
|
||||
|
||||
void CalcDlg::setColumnTitles(void)
|
||||
{
|
||||
mlpCalcSheet->setColumnTitle(IssBal,String("IssBal"));
|
||||
mlpCalcSheet->setColumnTitle(SMM,String("SMM"));
|
||||
mlpCalcSheet->setColumnTitle(MtgPay,String("MtgPay"));
|
||||
mlpCalcSheet->setColumnTitle(NetIntPay,String("NetIntPay"));
|
||||
mlpCalcSheet->setColumnTitle(GrossInt,String("GrossInt"));
|
||||
mlpCalcSheet->setColumnTitle(SchPrn,String("SchPrn"));
|
||||
mlpCalcSheet->setColumnTitle(Prepay,String("Prepay"));
|
||||
mlpCalcSheet->setColumnTitle(TotPrin,String("TotPrin"));
|
||||
mlpCalcSheet->setColumnTitle(Cashflow,String("Cashflow"));
|
||||
mlpCalcSheet->setColumnTitle(Factor,String("Factor"));
|
||||
mlpCalcSheet->setColumnWidth(IssBal,9);
|
||||
mlpCalcSheet->setColumnWidth(GrossInt,9);
|
||||
mlpCalcSheet->setColumnWidth(Factor,9);
|
||||
}
|
||||
|
||||
void CalcDlg::setColumnTypes(void)
|
||||
{
|
||||
Block<ColumnType> columnTypes;
|
||||
|
||||
columnTypes.insert(&ColumnType(IssBal,ColumnType::Money,"#########.##"));
|
||||
columnTypes.insert(&ColumnType(SMM,ColumnType::Float,"#.########"));
|
||||
columnTypes.insert(&ColumnType(MtgPay,ColumnType::Money,"#########.##"));
|
||||
columnTypes.insert(&ColumnType(NetIntPay,ColumnType::Money,"#########.##"));
|
||||
columnTypes.insert(&ColumnType(GrossInt,ColumnType::Money,"#########.##"));
|
||||
columnTypes.insert(&ColumnType(SchPrn,ColumnType::Money,"#########.##"));
|
||||
columnTypes.insert(&ColumnType(Prepay,ColumnType::Money,"#########.##"));
|
||||
columnTypes.insert(&ColumnType(TotPrin,ColumnType::Money,"#########.##"));
|
||||
columnTypes.insert(&ColumnType(Cashflow,ColumnType::Money,"#########.##"));
|
||||
columnTypes.insert(&ColumnType(Factor,ColumnType::Float,"#.#########"));
|
||||
mlpCalcSheet->setColumnType(columnTypes);
|
||||
}
|
||||
|
||||
void CalcDlg::handlePrepayments(void)
|
||||
{
|
||||
PPYDlg ppyDlg;
|
||||
if(ppyDlg.createDialog(*this,mPrePay))generateFlows();
|
||||
}
|
||||
|
||||
void CalcDlg::generateFlows(void)
|
||||
{
|
||||
mlpCalcThread->startCalc(*this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user