148 lines
4.6 KiB
C++
148 lines
4.6 KiB
C++
#include <test/mainwnd.hpp>
|
|
#include <test/test.h>
|
|
#include <common/assert.hpp>
|
|
|
|
char MainWindow::szClassName[]="Proto";
|
|
char MainWindow::szMenuName[]="mainMenu";
|
|
|
|
MainWindow::MainWindow(void)
|
|
{
|
|
mPaintHandler.setCallback(this,&MainWindow::paintHandler);
|
|
mDestroyHandler.setCallback(this,&MainWindow::destroyHandler);
|
|
mCommandHandler.setCallback(this,&MainWindow::commandHandler);
|
|
mKeyDownHandler.setCallback(this,&MainWindow::keyDownHandler);
|
|
mSizeHandler.setCallback(this,&MainWindow::sizeHandler);
|
|
mCreateHandler.setCallback(this,&MainWindow::createHandler);
|
|
mTimerHandler.setCallback(this,&MainWindow::timerHandler);
|
|
mActivateAppHandler.setCallback(this,&MainWindow::activateAppHandler);
|
|
mDisplayChangeHandler.setCallback(this,&MainWindow::displayChangeHandler);
|
|
insertHandlers();
|
|
registerClass();
|
|
::CreateWindow(szClassName,szClassName,
|
|
WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_DLGFRAME|WS_CLIPCHILDREN|WS_SIZEBOX,
|
|
CW_USEDEFAULT,CW_USEDEFAULT,
|
|
CW_USEDEFAULT,CW_USEDEFAULT,
|
|
NULL,NULL,processInstance(),(LPSTR)this);
|
|
show(SW_SHOW);
|
|
update();
|
|
}
|
|
|
|
MainWindow::~MainWindow()
|
|
{
|
|
destroy();
|
|
}
|
|
|
|
void MainWindow::insertHandlers(void)
|
|
{
|
|
insertHandler(VectorHandler::DestroyHandler,&mDestroyHandler);
|
|
insertHandler(VectorHandler::PaintHandler,&mPaintHandler);
|
|
insertHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
|
insertHandler(VectorHandler::SizeHandler,&mSizeHandler);
|
|
insertHandler(VectorHandler::KeyDownHandler,&mKeyDownHandler);
|
|
insertHandler(VectorHandler::CreateHandler,&mCreateHandler);
|
|
insertHandler(VectorHandler::TimerHandler,&mTimerHandler);
|
|
// insertHandler(VectorHandler::ActivateAppHandler,&mActivateAppHandler);
|
|
// insertHandler(VectorHandler::DisplayChangeHandler,&mDisplayChangeHandler);
|
|
}
|
|
|
|
void MainWindow::removeHandlers(void)
|
|
{
|
|
removeHandler(VectorHandler::DestroyHandler,&mDestroyHandler);
|
|
removeHandler(VectorHandler::PaintHandler,&mPaintHandler);
|
|
removeHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
|
removeHandler(VectorHandler::SizeHandler,&mSizeHandler);
|
|
removeHandler(VectorHandler::KeyDownHandler,&mKeyDownHandler);
|
|
removeHandler(VectorHandler::CreateHandler,&mCreateHandler);
|
|
removeHandler(VectorHandler::TimerHandler,&mTimerHandler);
|
|
// removeHandler(VectorHandler::ActivateAppHandler,&mActivateAppHandler);
|
|
// removeHandler(VectorHandler::DisplayChangeHandler,&mDisplayChangeHandler);
|
|
}
|
|
|
|
void MainWindow::registerClass(void)const
|
|
{
|
|
WNDCLASS wndClass;
|
|
|
|
if(::GetClassInfo(processInstance(),className(),(WNDCLASS FAR*)&wndClass))return;
|
|
wndClass.style =CS_HREDRAW|CS_VREDRAW; //|CS_OWNDC|CS_DBLCLKS;
|
|
wndClass.lpfnWndProc =(WNDPROC)Window::WndProc;
|
|
wndClass.cbClsExtra =0;
|
|
wndClass.cbWndExtra =sizeof(MainWindow*);
|
|
wndClass.hInstance =processInstance();
|
|
wndClass.hIcon =::LoadIcon(NULL,IDI_APPLICATION);
|
|
wndClass.hCursor =::LoadCursor(NULL,IDC_ARROW);
|
|
wndClass.hbrBackground =(HBRUSH)::GetStockObject(WHITE_BRUSH);
|
|
wndClass.lpszMenuName =szMenuName;
|
|
wndClass.lpszClassName =szClassName;
|
|
::RegisterClass(&wndClass);
|
|
assert(0!=::GetClassInfo(processInstance(),className(),(WNDCLASS FAR*)&wndClass));
|
|
}
|
|
|
|
CallbackData::ReturnType MainWindow::createHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainWindow::destroyHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
removeHandlers();
|
|
::PostQuitMessage(0);
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainWindow::activateAppHandler(CallbackData &someCallbackData)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainWindow::displayChangeHandler(CallbackData &someCallbackData)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainWindow::sizeHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainWindow::commandHandler(CallbackData &someCallbackData)
|
|
{
|
|
switch(someCallbackData.wmCommandID())
|
|
{
|
|
case MAINMENU_FILEPRINT :
|
|
handleFilePrint();
|
|
break;
|
|
case MAINMENU_FILEOPEN :
|
|
handleFileOpen();
|
|
break;
|
|
default :
|
|
break;
|
|
}
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainWindow::paintHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainWindow::timerHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainWindow::keyDownHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
void MainWindow::handleFilePrint(void)
|
|
{
|
|
}
|
|
|
|
|
|
void MainWindow::handleFileOpen(void)
|
|
{
|
|
return;
|
|
}
|
|
|