Initial
This commit is contained in:
133
remotepsapp/viewdialog.cpp
Normal file
133
remotepsapp/viewdialog.cpp
Normal file
@@ -0,0 +1,133 @@
|
||||
#include <remotepsapp/viewdialog.hpp>
|
||||
#include <remotepsapp/remoteps.hpp>
|
||||
#include <remotepsapp/windowview.hpp>
|
||||
#include <common/stdio.hpp>
|
||||
#include <common/mdifrm.hpp>
|
||||
#include <com/cominit.hpp>
|
||||
#include <statbar/statbarx.hpp>
|
||||
|
||||
ViewDialog::ViewDialog(void)
|
||||
{
|
||||
mInitHandler.setCallback(this,&ViewDialog::initHandler);
|
||||
mDestroyHandler.setCallback(this,&ViewDialog::destroyHandler);
|
||||
mCommandHandler.setCallback(this,&ViewDialog::commandHandler);
|
||||
mCloseHandler.setCallback(this,&ViewDialog::closeHandler);
|
||||
mSizeHandler.setCallback(this,&ViewDialog::sizeHandler);
|
||||
DWindow::insertHandler(VectorHandler::InitDialogHandler,&mInitHandler);
|
||||
DWindow::insertHandler(VectorHandler::DestroyHandler,&mDestroyHandler);
|
||||
DWindow::insertHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
||||
DWindow::insertHandler(VectorHandler::CloseHandler,&mCloseHandler);
|
||||
DWindow::insertHandler(VectorHandler::SizeHandler,&mSizeHandler);
|
||||
}
|
||||
|
||||
ViewDialog::ViewDialog(const ViewDialog &/*someViewDialog*/)
|
||||
{ // private implementation
|
||||
}
|
||||
|
||||
ViewDialog::~ViewDialog()
|
||||
{
|
||||
DWindow::removeHandler(VectorHandler::InitDialogHandler,&mInitHandler);
|
||||
DWindow::removeHandler(VectorHandler::DestroyHandler,&mDestroyHandler);
|
||||
DWindow::removeHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
||||
DWindow::removeHandler(VectorHandler::CloseHandler,&mCloseHandler);
|
||||
DWindow::removeHandler(VectorHandler::SizeHandler,&mSizeHandler);
|
||||
}
|
||||
|
||||
ViewDialog &ViewDialog::operator=(const ViewDialog &/*someViewDialog*/)
|
||||
{ // private implementation
|
||||
return *this;
|
||||
}
|
||||
|
||||
void ViewDialog::connect(const String &serverName)
|
||||
{
|
||||
handleConnect(serverName);
|
||||
}
|
||||
|
||||
bool ViewDialog::perform(MDIWindow &parentWindow,SmartPointer<StatusBarEx> &statusBar)
|
||||
{
|
||||
mStatusBar=statusBar;
|
||||
mMDIParent=&parentWindow;
|
||||
createDialogParam(*(parentWindow.getFrame()),parentWindow,String("VIEWDIALOG"),(LPARAM)(DWindow*)this);
|
||||
return isValid();
|
||||
}
|
||||
|
||||
CallbackData::ReturnType ViewDialog::initHandler(CallbackData &someCallbackData)
|
||||
{
|
||||
mCloseButton.assumeControl(getItem(IDOK),IDOK,false);
|
||||
mRefreshButton.assumeControl(getItem(VIEWDIALOG_REFRESHNOW),VIEWDIALOG_REFRESHNOW,false);
|
||||
mWindowView=::new WindowView;
|
||||
mWindowView.disposition(PointerDisposition::Delete);
|
||||
// mWindowView->create(*mMDIParent,*mMDIParent,Rect(10,height()+10,mMDIParent->width()-20,mMDIParent->height()-105),WindowViewControlID);
|
||||
mWindowView->create(*this,*this,Rect(10,75,width()-20,height()-75),WindowViewControlID);
|
||||
if(!mWindowView->isValid())return false;
|
||||
mWindowView->show(SW_SHOW);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType ViewDialog::sizeHandler(CallbackData &someCallbackData)
|
||||
{
|
||||
mCloseButton.move(Point(width()-mCloseButton.width(),10));
|
||||
mRefreshButton.move(Point(width()-mRefreshButton.width(),35));
|
||||
mWindowView->moveWindow(Rect(10,75,width(),height()));
|
||||
return false;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType ViewDialog::commandHandler(CallbackData &someCallbackData)
|
||||
{
|
||||
switch(someCallbackData.wmCommandID())
|
||||
{
|
||||
case IDOK :
|
||||
if(isInConnect())break;
|
||||
GUIWindow::postMessage(parent(),WM_CLOSE,0,0L);
|
||||
endDialog(true);
|
||||
break;
|
||||
case IDCANCEL :
|
||||
if(isInConnect())break;
|
||||
GUIWindow::postMessage(parent(),WM_CLOSE,0,0L);
|
||||
endDialog(false);
|
||||
break;
|
||||
case VIEWDIALOG_REFRESHNOW :
|
||||
handleRefreshNow();
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType ViewDialog::closeHandler(CallbackData &someCallbackData)
|
||||
{
|
||||
if(isInConnect())return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType ViewDialog::destroyHandler(CallbackData &someCallbackData)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void ViewDialog::handleRefreshNow(void)
|
||||
{
|
||||
handleConnect(serverName());
|
||||
}
|
||||
|
||||
// virtuals
|
||||
|
||||
void ViewDialog::preConnect(const String &strServerName)
|
||||
{
|
||||
mStatusBar->setText(String("Connecting to '")+strServerName+String("'"));
|
||||
}
|
||||
|
||||
void ViewDialog::connectionHandler(RemoteProcessInfo &remoteProcessInfo)
|
||||
{
|
||||
mStatusBar->setText("Retrieving desktop image.");
|
||||
remoteProcessInfo.getDesktopWindow(*mWindowView);
|
||||
}
|
||||
|
||||
void ViewDialog::preDisconnect(const String &strServerName)
|
||||
{
|
||||
mStatusBar->setText(String("Disconnected from '")+strServerName+String("'"));
|
||||
}
|
||||
|
||||
void ViewDialog::errorHandler(void)
|
||||
{
|
||||
mStatusBar->setText(String("Remote activation failed '"));
|
||||
}
|
||||
Reference in New Issue
Block a user