#include #include FrameDialog::FrameDialog(const GUIWindow &parentWindow) : mhParent(parentWindow) { mInitDialogHandler.setCallback(this,&FrameDialog::initDialogHandler); mCommandHandler.setCallback(this,&FrameDialog::commandHandler); insertHandler(VectorHandler::CommandHandler,&mCommandHandler); insertHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); } FrameDialog::FrameDialog(const FrameDialog &someFrameDialog) : mhParent(someFrameDialog.mhParent) { // no implementation mInitDialogHandler.setCallback(this,&FrameDialog::initDialogHandler); mCommandHandler.setCallback(this,&FrameDialog::commandHandler); } FrameDialog::~FrameDialog() { removeHandler(VectorHandler::CommandHandler,&mCommandHandler); removeHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); } FrameDialog &FrameDialog::operator=(const FrameDialog &/*someEntryDialog*/) { // no implementation return *this; } WORD FrameDialog::perform(DWORD &meshFrames) { mMeshFrames=meshFrames; WORD resultCode(::DialogBoxParam(processInstance(),(LPSTR)"Frame",mhParent,(DLGPROC)DWindow::DlgProc,(LONG)((DWindow*)this))); if(resultCode)meshFrames=mMeshFrames; return resultCode; } CallbackData::ReturnType FrameDialog::initDialogHandler(CallbackData &/*someCallbackData*/) { setFrameCount(mMeshFrames); return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType FrameDialog::commandHandler(CallbackData &someCallbackData) { switch(someCallbackData.wmCommandID()) { case IDOK : mMeshFrames=getFrameCount(); endDialog(TRUE); break; case IDCANCEL : endDialog(FALSE); break; } return (CallbackData::ReturnType)FALSE; } DWORD FrameDialog::getFrameCount(void) { String strControlText; getText(FRAME_FRAMES,strControlText); return strControlText.toInt(); } void FrameDialog::setFrameCount(DWORD frameCount) { String strControlText; strControlText.fromInt(frameCount); setText(FRAME_FRAMES,strControlText); }