89 lines
3.1 KiB
C++
89 lines
3.1 KiB
C++
#include <remotepsapp/connectiondialog.hpp>
|
|
#include <remotepsapp/remoteps.hpp>
|
|
#include <remotepsapp/optnsreg.hpp>
|
|
|
|
ConnectionDialog::ConnectionDialog(void)
|
|
{
|
|
mInitHandler.setCallback(this,&ConnectionDialog::initHandler);
|
|
mDestroyHandler.setCallback(this,&ConnectionDialog::destroyHandler);
|
|
mCommandHandler.setCallback(this,&ConnectionDialog::commandHandler);
|
|
mCloseHandler.setCallback(this,&ConnectionDialog::closeHandler);
|
|
mDlgCodeHandler.setCallback(this,&ConnectionDialog::dlgCodeHandler);
|
|
DWindow::insertHandler(VectorHandler::InitDialogHandler,&mInitHandler);
|
|
DWindow::insertHandler(VectorHandler::DestroyHandler,&mDestroyHandler);
|
|
DWindow::insertHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
|
DWindow::insertHandler(VectorHandler::CloseHandler,&mCloseHandler);
|
|
DWindow::insertHandler(VectorHandler::DialogCodeHandler,&mDlgCodeHandler);
|
|
}
|
|
|
|
ConnectionDialog::~ConnectionDialog()
|
|
{
|
|
DWindow::removeHandler(VectorHandler::InitDialogHandler,&mInitHandler);
|
|
DWindow::removeHandler(VectorHandler::DestroyHandler,&mDestroyHandler);
|
|
DWindow::removeHandler(VectorHandler::CommandHandler,&mCommandHandler);
|
|
DWindow::removeHandler(VectorHandler::CloseHandler,&mCloseHandler);
|
|
DWindow::removeHandler(VectorHandler::DialogCodeHandler,&mDlgCodeHandler);
|
|
}
|
|
|
|
ConnectionDialog &ConnectionDialog::operator=(const ConnectionDialog &/*someConnectionDialog*/)
|
|
{ // private implementation
|
|
return *this;
|
|
}
|
|
|
|
bool ConnectionDialog::perform(GUIWindow &parentWindow,String &strComputerName)
|
|
{
|
|
if(!::DialogBoxParam(processInstance(),(LPSTR)"CONNECT",(HWND)parentWindow,DWindow::DlgProc,(LPARAM)(DWindow*)this))return false;
|
|
strComputerName=mStrComputerName;
|
|
return true;
|
|
}
|
|
|
|
CallbackData::ReturnType ConnectionDialog::initHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
OptionsReg optionsReg;
|
|
Block<String> strConnectionNames;
|
|
|
|
mComputerNameCombo.assumeControl(getItem(CONNECT_COMPUTERNAME),CONNECT_COMPUTERNAME,false);
|
|
optionsReg.getConnections(strConnectionNames);
|
|
for(int index=0;index<strConnectionNames.size();index++)mComputerNameCombo.sendMessage(CB_INSERTSTRING,-1,(LPARAM)(LPSTR)strConnectionNames[index]);
|
|
mComputerNameCombo.sendMessage(CB_SETCURSEL,0,0L);
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType ConnectionDialog::destroyHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType ConnectionDialog::dlgCodeHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)DLGC_WANTARROWS|DLGC_WANTCHARS;
|
|
}
|
|
|
|
CallbackData::ReturnType ConnectionDialog::commandHandler(CallbackData &someCallbackData)
|
|
{
|
|
switch(someCallbackData.wmCommandID())
|
|
{
|
|
case IDOK :
|
|
handleOk();
|
|
break;
|
|
case IDCANCEL :
|
|
endDialog(FALSE);
|
|
break;
|
|
}
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType ConnectionDialog::closeHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
void ConnectionDialog::handleOk(void)
|
|
{
|
|
OptionsReg optionsReg;
|
|
|
|
getText(CONNECT_COMPUTERNAME,mStrComputerName);
|
|
if(mStrComputerName.isNull()){endDialog(false);return;}
|
|
optionsReg.insertConnection(mStrComputerName);
|
|
endDialog(true);
|
|
} |