81 lines
1.6 KiB
C++
81 lines
1.6 KiB
C++
#ifndef NO_LINK
|
|
|
|
#include "stdafx.h"
|
|
#include "vba.h"
|
|
#include "JoybusOptions.h"
|
|
#include "../gba/GBALink.h"
|
|
|
|
// JoybusOptions dialog
|
|
|
|
IMPLEMENT_DYNAMIC(JoybusOptions, CDialog)
|
|
|
|
JoybusOptions::JoybusOptions(CWnd* pParent /*=NULL*/)
|
|
: CDialog(JoybusOptions::IDD, pParent)
|
|
{
|
|
}
|
|
|
|
JoybusOptions::~JoybusOptions()
|
|
{
|
|
}
|
|
|
|
void JoybusOptions::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_JOYBUS_ENABLE, enable_check);
|
|
DDX_Control(pDX, IDC_JOYBUS_HOSTNAME, hostname);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(JoybusOptions, CDialog)
|
|
ON_BN_CLICKED(IDC_JOYBUS_ENABLE, &JoybusOptions::OnBnClickedJoybusEnable)
|
|
ON_BN_CLICKED(IDOK, &JoybusOptions::OnBnClickedOk)
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL JoybusOptions::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
enable_check.SetCheck(gba_joybus_enabled ? BST_CHECKED : BST_UNCHECKED);
|
|
|
|
hostname.EnableWindow(enable_check.GetCheck() == BST_CHECKED);
|
|
|
|
hostname.SetWindowText(joybusHostAddr.ToString().c_str());
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void JoybusOptions::OnBnClickedJoybusEnable()
|
|
{
|
|
hostname.EnableWindow(enable_check.GetCheck() == BST_CHECKED);
|
|
}
|
|
|
|
void JoybusOptions::OnBnClickedOk()
|
|
{
|
|
if ( (hostname.GetWindowTextLength() == 0)
|
|
&& (enable_check.GetCheck() == BST_CHECKED) )
|
|
{
|
|
hostname.SetWindowText("Enter IP or Hostname");
|
|
return;
|
|
}
|
|
|
|
gba_joybus_enabled = enable_check.GetCheck() == BST_CHECKED;
|
|
|
|
CString address;
|
|
hostname.GetWindowText(address);
|
|
|
|
sf::IPAddress new_server;
|
|
new_server = std::string(address);
|
|
|
|
if (!new_server.IsValid())
|
|
{
|
|
hostname.SetWindowText("Enter IP or Hostname");
|
|
return;
|
|
}
|
|
|
|
joybusHostAddr = new_server;
|
|
JoyBusConnect();
|
|
|
|
OnOK();
|
|
}
|
|
|
|
#endif // NO_LINK
|