#include "HeaderControl.h" #include "InterfaceDefine.hpp" #include "LogControl.h" HeaderControl::HeaderControl(wxWindow* parent) : wxPanel(parent) { 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()); } void HeaderControl::OnConnect(wxCommandEvent& event) { wxString ip = textIP_->GetValue(); unsigned int port{}; if (!textPort_->GetValue().ToUInt(&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) { }