//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: continousbuildbasepane.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////

#include "continousbuildbasepane.h"

// Declare the bitmap loading function
extern void wxC47E7InitBitmapResources();

static bool bBitmapLoaded = false;

ContinousBuildBasePane::ContinousBuildBasePane(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size,
                                               long style)
    : wxPanel(parent, id, pos, size, style)
{
    if(!bBitmapLoaded) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxC47E7InitBitmapResources();
        bBitmapLoaded = true;
    }

    wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(mainSizer);

    wxBoxSizer* bSizer5 = new wxBoxSizer(wxHORIZONTAL);

    mainSizer->Add(bSizer5, 0, wxEXPAND, WXC_FROM_DIP(5));

    m_checkBox1 = new wxCheckBox(this, wxID_ANY, _("Enable continuous build"), wxDefaultPosition,
                                 wxDLG_UNIT(this, wxSize(-1, -1)), 0);
    m_checkBox1->SetValue(false);

    bSizer5->Add(m_checkBox1, 0, wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5));

    bSizer5->Add(0, 0, 1, wxEXPAND, WXC_FROM_DIP(5));

    m_buttonCancel =
        new clThemedButton(this, wxID_ANY, _("&Clear All"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);
    m_buttonCancel->SetDefault();

    bSizer5->Add(m_buttonCancel, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    wxBoxSizer* bSizer51 = new wxBoxSizer(wxHORIZONTAL);

    mainSizer->Add(bSizer51, 1, wxEXPAND, WXC_FROM_DIP(5));

    wxBoxSizer* bSizer6 = new wxBoxSizer(wxVERTICAL);

    bSizer51->Add(bSizer6, 1, wxEXPAND, WXC_FROM_DIP(5));

    wxArrayString m_listBoxQueueArr;
    m_listBoxQueue = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)),
                                   m_listBoxQueueArr, wxBORDER_NONE);

    bSizer6->Add(m_listBoxQueue, 1, wxEXPAND, WXC_FROM_DIP(5));

    wxBoxSizer* bSizer9 = new wxBoxSizer(wxVERTICAL);

    bSizer51->Add(bSizer9, 1, wxEXPAND, WXC_FROM_DIP(5));

    m_staticText4 =
        new wxStaticText(this, wxID_ANY, _("Failed Files:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);
    wxFont m_staticText4Font(12, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxT("Arial"));
    m_staticText4->SetFont(m_staticText4Font);
    m_staticText4->Hide();

    bSizer9->Add(m_staticText4, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5));

    wxArrayString m_listBoxFailedFilesArr;
    m_listBoxFailedFiles =
        new wxListBox(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), m_listBoxFailedFilesArr, 0);
    m_listBoxFailedFiles->Hide();

    bSizer9->Add(m_listBoxFailedFiles, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    SetName(wxT("ContinousBuildBasePane"));
    SetSize(wxDLG_UNIT(this, wxSize(-1, -1)));
    if(GetSizer()) { GetSizer()->Fit(this); }
    // Connect events
    m_checkBox1->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ContinousBuildBasePane::OnEnableCB),
                         NULL, this);
    m_buttonCancel->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ContinousBuildBasePane::OnStopAll),
                            NULL, this);
    m_buttonCancel->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ContinousBuildBasePane::OnStopUI), NULL, this);
    m_listBoxQueue->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ContinousBuildBasePane::OnEnableContBuildUI), NULL,
                            this);
    m_staticText4->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ContinousBuildBasePane::OnEnableContBuildUI), NULL,
                           this);
    m_listBoxFailedFiles->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ContinousBuildBasePane::OnEnableContBuildUI),
                                  NULL, this);
}

ContinousBuildBasePane::~ContinousBuildBasePane()
{
    m_checkBox1->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ContinousBuildBasePane::OnEnableCB),
                            NULL, this);
    m_buttonCancel->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ContinousBuildBasePane::OnStopAll),
                               NULL, this);
    m_buttonCancel->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ContinousBuildBasePane::OnStopUI), NULL, this);
    m_listBoxQueue->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ContinousBuildBasePane::OnEnableContBuildUI),
                               NULL, this);
    m_staticText4->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ContinousBuildBasePane::OnEnableContBuildUI),
                              NULL, this);
    m_listBoxFailedFiles->Disconnect(wxEVT_UPDATE_UI,
                                     wxUpdateUIEventHandler(ContinousBuildBasePane::OnEnableContBuildUI), NULL, this);
}
