2025-05-08 21:44:16 +08:00
|
|
|
#include "HeaderControl.h"
|
2025-05-08 22:11:39 +08:00
|
|
|
#include "InterfaceDefine.hpp"
|
2025-05-11 00:00:10 +08:00
|
|
|
#include "LogControl.h"
|
2025-05-11 21:27:59 +08:00
|
|
|
#include <ClientCore.h>
|
2025-05-08 21:44:16 +08:00
|
|
|
|
2025-05-11 21:27:59 +08:00
|
|
|
HeaderControl::HeaderControl(wxWindow* parent, std::shared_ptr<ClientCore>& clientCore) : wxPanel(parent), clientCore_(clientCore)
|
2025-05-08 21:44:16 +08:00
|
|
|
{
|
2025-05-08 22:11:39 +08:00
|
|
|
Init();
|
2025-05-08 21:44:16 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
HeaderControl::~HeaderControl()
|
|
|
|
{
|
|
|
|
}
|
2025-05-08 22:11:39 +08:00
|
|
|
|
2025-05-11 00:00:10 +08:00
|
|
|
void HeaderControl::SetLogControl(LogControl* logControl)
|
|
|
|
{
|
|
|
|
logControl_ = logControl;
|
|
|
|
}
|
|
|
|
|
2025-05-08 22:11:39 +08:00
|
|
|
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();
|
2025-05-11 00:00:10 +08:00
|
|
|
|
|
|
|
Bind(wxEVT_BUTTON, &HeaderControl::OnConnect, this, btnConnect_->GetId());
|
2025-05-11 21:27:59 +08:00
|
|
|
|
|
|
|
textIP_->SetValue(wxT("127.0.0.1"));
|
|
|
|
textPort_->SetValue(wxT("8080"));
|
2025-05-11 00:00:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
void HeaderControl::OnConnect(wxCommandEvent& event)
|
|
|
|
{
|
|
|
|
wxString ip = textIP_->GetValue();
|
|
|
|
unsigned int port{};
|
|
|
|
if (!textPort_->GetValue().ToUInt(&port)) {
|
2025-05-11 00:32:52 +08:00
|
|
|
logControl_->AddLog(_("Invalid port."));
|
2025-05-11 00:00:10 +08:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
auto uPort = static_cast<unsigned short>(port);
|
2025-05-11 21:27:59 +08:00
|
|
|
if (!clientCore_->Connect(ip, uPort)) {
|
2025-05-11 00:00:10 +08:00
|
|
|
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)
|
|
|
|
{
|
|
|
|
}
|