Initial
This commit is contained in:
172
browse/Mainfrm.cpp
Normal file
172
browse/Mainfrm.cpp
Normal file
@@ -0,0 +1,172 @@
|
||||
#include <browse/mainfrm.hpp>
|
||||
#include <browse/browse.hpp>
|
||||
#include <browse/brwsview.hpp>
|
||||
#include <statbar/statbarx.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 FILE_BROWSE :
|
||||
handleFileBrowse();
|
||||
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*/)
|
||||
{
|
||||
createControls();
|
||||
show(SW_SHOW);
|
||||
update();
|
||||
mStatusControl->setText("Ready.");
|
||||
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)
|
||||
{
|
||||
Rect statusRect;
|
||||
Rect cRect;
|
||||
|
||||
mStatusControl->windowRect(statusRect);
|
||||
cRect.right(someCallbackData.loWord());
|
||||
cRect.bottom(someCallbackData.hiWord());
|
||||
getClient().moveWindow(0,0,cRect.right(),cRect.bottom()-(statusRect.bottom()-statusRect.top()));
|
||||
return (CallbackData::ReturnType)FALSE;
|
||||
}
|
||||
|
||||
void MainFrame::createControls(void)
|
||||
{
|
||||
Rect controlRect;
|
||||
Rect statusRect;
|
||||
|
||||
mStatusControl=::new StatusBarEx(*this,StatusBarID);
|
||||
mStatusControl.disposition(PointerDisposition::Delete);
|
||||
mStatusControl->clientRect(statusRect);
|
||||
controlRect.bottom(height()/2-statusRect.bottom());
|
||||
}
|
||||
|
||||
BrowseView &MainFrame::createBrowseView(void)
|
||||
{
|
||||
SmartPointer<MDIWindow> mdiWindow;
|
||||
BrowseView *pBrowseView;
|
||||
|
||||
if(getDocumentClass("BrowseView",mdiWindow)){mdiWindow->top();return (BrowseView&)*mdiWindow;}
|
||||
insert(*(pBrowseView=::new BrowseView));
|
||||
operator[](size()-1).createWindow(*this,"BrowseView","Browse","mainMenu","PAINT");
|
||||
return *pBrowseView;
|
||||
}
|
||||
|
||||
void MainFrame::handleFileBrowse(void)
|
||||
{
|
||||
BrowseView &browseView=createBrowseView();
|
||||
// browseView.browse("d:\\download\\altbin~1.den");
|
||||
browseView.browse("d:\\download\\altbin~1.den");
|
||||
// browseView.browse("d:\\download\\altbin~1.pho");
|
||||
// browseView.browse("c:\\work\\nntp\\news\\altbin~1.den");
|
||||
}
|
||||
|
||||
// ** virtuals
|
||||
|
||||
void MainFrame::mdiDestroy(MDIWindow &mdiWindow)
|
||||
{
|
||||
}
|
||||
|
||||
void MainFrame::mdiActivate(MDIWindow &mdiWindow)
|
||||
{
|
||||
}
|
||||
|
||||
void MainFrame::mdiDeactivate(MDIWindow &mdiWindow)
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user