150 lines
4.3 KiB
C++
150 lines
4.3 KiB
C++
#include <splitter/mainfrm.hpp>
|
|
#include <splitter/splitter.hpp>
|
|
#include <splitter/SplitterWnd.hpp>
|
|
#include <common/mdiwin.hpp>
|
|
#include <common/control.hpp>
|
|
|
|
MainFrame::MainFrame(void)
|
|
{
|
|
mPaintHandler.setCallback(this,&MainFrame::paintHandler);
|
|
mCloseHandler.setCallback(this,&MainFrame::closeHandler);
|
|
mQueryEndSessionHandler.setCallback(this,&MainFrame::queryEndSessionHandler);
|
|
mDestroyHandler.setCallback(this,&MainFrame::destroyHandler);
|
|
mCommandHandler.setCallback(this,&MainFrame::commandHandler);
|
|
mKeyDownHandler.setCallback(this,&MainFrame::keyDownHandler);
|
|
mSizeHandler.setCallback(this,&MainFrame::sizeHandler);
|
|
mCreateHandler.setCallback(this,&MainFrame::createHandler);
|
|
insertHandlers();
|
|
}
|
|
|
|
MainFrame::~MainFrame()
|
|
{
|
|
removeHandlers();
|
|
}
|
|
|
|
void MainFrame::insertHandlers(void)
|
|
{
|
|
FrameWindow::insertHandler(MainFrame::DestroyHandler,&mDestroyHandler);
|
|
FrameWindow::insertHandler(VectorHandler::PaintHandler,&mPaintHandler);
|
|
FrameWindow::insertHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
|
FrameWindow::insertHandler(VectorHandler::SizeHandler,&mSizeHandler);
|
|
FrameWindow::insertHandler(VectorHandler::KeyDownHandler,&mKeyDownHandler);
|
|
FrameWindow::insertHandler(VectorHandler::CloseHandler,&mCloseHandler);
|
|
FrameWindow::insertHandler(VectorHandler::QueryEndSessionHandler,&mQueryEndSessionHandler);
|
|
FrameWindow::insertHandler(VectorHandler::CreateHandler,&mCreateHandler);
|
|
}
|
|
|
|
void MainFrame::removeHandlers(void)
|
|
{
|
|
FrameWindow::removeHandler(VectorHandler::DestroyHandler,&mDestroyHandler);
|
|
FrameWindow::removeHandler(VectorHandler::PaintHandler,&mPaintHandler);
|
|
FrameWindow::removeHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
|
FrameWindow::removeHandler(VectorHandler::SizeHandler,&mSizeHandler);
|
|
FrameWindow::removeHandler(VectorHandler::KeyDownHandler,&mKeyDownHandler);
|
|
FrameWindow::removeHandler(VectorHandler::CreateHandler,&mCreateHandler);
|
|
FrameWindow::removeHandler(VectorHandler::CloseHandler,&mCloseHandler);
|
|
FrameWindow::removeHandler(VectorHandler::QueryEndSessionHandler,&mQueryEndSessionHandler);
|
|
}
|
|
|
|
CallbackData::ReturnType MainFrame::commandHandler(CallbackData &someCallbackData)
|
|
{
|
|
switch(someCallbackData.wParam())
|
|
{
|
|
case IDM_CASCADE :
|
|
cascade();
|
|
break;
|
|
case IDM_TILE :
|
|
tile();
|
|
break;
|
|
case IDM_ARRANGE :
|
|
arrange();
|
|
break;
|
|
case IDM_CLOSEALL :
|
|
closeAll();
|
|
break;
|
|
case IDM_MINIMIZEALL :
|
|
minimizeAll();
|
|
break;
|
|
case IDM_RESTOREALL :
|
|
restoreAll();
|
|
break;
|
|
case SPLITTER_FILE_OPEN :
|
|
break;
|
|
case SPLITTER_FILE_BROWSE :
|
|
break;
|
|
case SPLITTER_FILE_EXIT :
|
|
break;
|
|
default :
|
|
break;
|
|
}
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainFrame::keyDownHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainFrame::paintHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainFrame::createHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
show(SW_SHOW);
|
|
update();
|
|
|
|
mControl2=::new Control();
|
|
mControl2.disposition(PointerDisposition::Delete);
|
|
mControl2->createControl("EDIT","pane2",WS_VISIBLE,Rect(CW_USEDEFAULT,CW_USEDEFAULT,100,100),*this,102);
|
|
|
|
mNewsTree=::new NewsTree(*this,Rect(0,0,100,100),105);
|
|
mNewsTree.disposition(PointerDisposition::Delete);
|
|
|
|
mSplitterWnd=::new SplitterWnd(*this,*mNewsTree,*mControl2);
|
|
mSplitterWnd.disposition(PointerDisposition::Delete);
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainFrame::queryEndSessionHandler(CallbackData &someCallbackData)
|
|
{
|
|
if(getClient().hasChildren())return (CallbackData::ReturnType)FALSE;
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainFrame::closeHandler(CallbackData &someCallbackData)
|
|
{
|
|
destroy();
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainFrame::destroyHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
removeHandlers();
|
|
::PostQuitMessage(0);
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType MainFrame::sizeHandler(CallbackData &someCallbackData)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
|
|
// ** virtuals
|
|
|
|
void MainFrame::mdiDestroy(MDIWindow &mdiWindow)
|
|
{
|
|
}
|
|
|
|
void MainFrame::mdiActivate(MDIWindow &mdiWindow)
|
|
{
|
|
}
|
|
|
|
void MainFrame::mdiDeactivate(MDIWindow &mdiWindow)
|
|
{
|
|
}
|
|
|
|
|