#include #include #include #include #include GraphDlg::GraphDlg(void) { mDestroyHandler.setCallback(this,&GraphDlg::destroyHandler); mInitHandler.setCallback(this,&GraphDlg::initHandler); mCommandHandler.setCallback(this,&GraphDlg::commandHandler); mCloseHandler.setCallback(this,&GraphDlg::closeHandler); insertHandler(VectorHandler::DestroyHandler,&mDestroyHandler); insertHandler(VectorHandler::InitDialogHandler,&mInitHandler); insertHandler(VectorHandler::CommandHandler,&mCommandHandler); insertHandler(VectorHandler::CloseHandler,&mCloseHandler); } GraphDlg::~GraphDlg() { removeHandler(VectorHandler::DestroyHandler,&mDestroyHandler); removeHandler(VectorHandler::InitDialogHandler,&mInitHandler); removeHandler(VectorHandler::CommandHandler,&mCommandHandler); removeHandler(VectorHandler::CloseHandler,&mCloseHandler); } bool GraphDlg::perform(TabEntries &entries,HWND hParent) { WORD returnCode; mTabEntries=entries; returnCode=::DialogBoxParam(processInstance(),(LPSTR)"GRAPHDIALOG",hParent,DWindow::DlgProc,(LPARAM)(DWindow*)this); return returnCode; } CallbackData::ReturnType GraphDlg::initHandler(CallbackData &/*someCallbackData*/) { mGraphWindow=::new GraphWindow(*this,Rect(3,3,width()-6,height()-58)); mGraphWindow.disposition(PointerDisposition::Delete); mGraphWindow->setFocus(); mGraphWindow->showHistogram(mTabEntries); return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType GraphDlg::destroyHandler(CallbackData &/*someCallbackData*/) { return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType GraphDlg::closeHandler(CallbackData &/*someCallbackData*/) { endDialog(TRUE); return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType GraphDlg::commandHandler(CallbackData &someCallbackData) { switch(someCallbackData.wmCommandID()) { case IDCANCEL : endDialog(false); break; case IDOK : endDialog(true); break; } return (CallbackData::ReturnType)FALSE; }