62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
#include "HeaderControl.h"
|
|
#include "InterfaceDefine.hpp"
|
|
#include "LogControl.h"
|
|
#include <ClientCore.h>
|
|
|
|
HeaderControl::HeaderControl(wxWindow* parent, std::shared_ptr<ClientCore>& clientCore) : wxPanel(parent), clientCore_(clientCore)
|
|
{
|
|
Init();
|
|
}
|
|
|
|
HeaderControl::~HeaderControl()
|
|
{
|
|
}
|
|
|
|
void HeaderControl::SetLogControl(LogControl* logControl)
|
|
{
|
|
logControl_ = logControl;
|
|
}
|
|
|
|
void HeaderControl::Init()
|
|
{
|
|
auto* topSizer = new wxBoxSizer(wxHORIZONTAL);
|
|
|
|
textIP_ = new wxTextCtrl(this, wxID_ANY);
|
|
textPort_ = new wxTextCtrl(this, wxID_ANY);
|
|
btnConnect_ = new wxButton(this, wxID_ANY, _("Connect"));
|
|
btnDisconnect_ = new wxButton(this, wxID_ANY, _("Disconnect"));
|
|
|
|
topSizer->Add(textIP_, 0, wxALL, gBorder);
|
|
topSizer->Add(textPort_, 0, wxALL, gBorder);
|
|
topSizer->Add(btnConnect_, 0, wxALL, gBorder);
|
|
topSizer->Add(btnDisconnect_, 0, wxALL, gBorder);
|
|
|
|
SetSizer(topSizer);
|
|
Layout();
|
|
|
|
Bind(wxEVT_BUTTON, &HeaderControl::OnConnect, this, btnConnect_->GetId());
|
|
|
|
textIP_->SetValue(wxT("127.0.0.1"));
|
|
textPort_->SetValue(wxT("8080"));
|
|
}
|
|
|
|
void HeaderControl::OnConnect(wxCommandEvent& event)
|
|
{
|
|
wxString ip = textIP_->GetValue();
|
|
unsigned int port{};
|
|
if (!textPort_->GetValue().ToUInt(&port)) {
|
|
logControl_->AddLog(_("Invalid port."));
|
|
return;
|
|
}
|
|
auto uPort = static_cast<unsigned short>(port);
|
|
if (!clientCore_->Connect(ip, uPort)) {
|
|
logControl_->AddLog(wxString::Format(_("Connect to %s:%d failed."), ip, uPort));
|
|
return;
|
|
}
|
|
logControl_->AddLog(wxString::Format(_("Connect to %s:%d Success."), ip, uPort));
|
|
}
|
|
|
|
void HeaderControl::OnDisconnect(wxCommandEvent& event)
|
|
{
|
|
}
|