61 lines
1.9 KiB
C++
61 lines
1.9 KiB
C++
#ifndef _CASHFLOW_PPYDLG_HPP_
|
|
#define _CASHFLOW_PPYDLG_HPP_
|
|
#include <common/dwindow.hpp>
|
|
#include <cashflow/prepay.hpp>
|
|
|
|
class PPYDlg : private DWindow
|
|
{
|
|
public:
|
|
PPYDlg(void);
|
|
virtual ~PPYDlg();
|
|
WORD createDialog(HWND hParent,PrePay &prePay);
|
|
private:
|
|
CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType initHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType commandHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType closeHandler(CallbackData &someCallbackData);
|
|
void getPPYInfo(void);
|
|
|
|
Callback<PPYDlg> mCommandHandler;
|
|
Callback<PPYDlg> mDestroyHandler;
|
|
Callback<PPYDlg> mInitHandler;
|
|
Callback<PPYDlg> mCloseHandler;
|
|
PrePay mPrePay;
|
|
};
|
|
|
|
#pragma warning(disable:4355)
|
|
inline
|
|
PPYDlg::PPYDlg(void)
|
|
{
|
|
mDestroyHandler.setCallback(this,&PPYDlg::destroyHandler);
|
|
mInitHandler.setCallback(this,&PPYDlg::initHandler);
|
|
mCommandHandler.setCallback(this,&PPYDlg::commandHandler);
|
|
mCloseHandler.setCallback(this,&PPYDlg::closeHandler);
|
|
insertHandler(VectorHandler::DestroyHandler,&mDestroyHandler);
|
|
insertHandler(VectorHandler::InitDialogHandler,&mInitHandler);
|
|
insertHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
|
insertHandler(VectorHandler::CloseHandler,&mCloseHandler);
|
|
}
|
|
#pragma warning(default:4355)
|
|
|
|
inline
|
|
PPYDlg::~PPYDlg()
|
|
{
|
|
removeHandler(VectorHandler::DestroyHandler,&mDestroyHandler);
|
|
removeHandler(VectorHandler::InitDialogHandler,&mInitHandler);
|
|
removeHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
|
removeHandler(VectorHandler::CloseHandler,&mCloseHandler);
|
|
}
|
|
|
|
inline
|
|
WORD PPYDlg::createDialog(HWND hParent,PrePay &prePay)
|
|
{
|
|
WORD returnCode;
|
|
mPrePay=prePay;
|
|
HINSTANCE hInstance((HINSTANCE)::GetWindowLong(hParent,GWL_HINSTANCE));
|
|
returnCode=::DialogBoxParam(hInstance,(LPSTR)"Prepayments",hParent,DWindow::DlgProc,(LPARAM)(DWindow*)this);
|
|
if(returnCode)prePay=mPrePay;
|
|
return returnCode;
|
|
}
|
|
#endif
|