#include "ControlManager.h"
#include <ClientCore.h>

ControlManager::ControlManager(wxWindow* parent) : parent_(parent), header_(nullptr), local_(nullptr)
{
}

void ControlManager::Init(std::shared_ptr<ClientCore>& clientCore)
{
    log_ = new LogControl(parent_);
    header_ = new HeaderControl(parent_, clientCore);
    local_ = new LocalControl(parent_);
    remote_ = new RemoteControl(parent_);
    task_ = new TaskControl(parent_);
    online_ = new OnlineControl(parent_, clientCore);

    header_->SetLogControl(log_);
    online_->SetLogControl(log_);
    header_->SetOnlineControl(online_);

    clientCore->SetLogCallback([this](const wxString& msg) { log_->AddLog(msg); });
}