#include "HeaderControl.h" #include "InterfaceDefine.hpp" #include "LogControl.h" #include HeaderControl::HeaderControl(wxWindow* parent, std::shared_ptr& 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(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) { }