68 lines
2.0 KiB
C++
68 lines
2.0 KiB
C++
#include <common/stdio.hpp>
|
|
#include <common/string.hpp>
|
|
#include <common/rect.hpp>
|
|
#include <histogram/graphdlg.hpp>
|
|
#include <histogram/graphwnd.hpp>
|
|
|
|
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;
|
|
}
|