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

#include "ConfigManagerBaseDlg.h"

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

static bool bBitmapLoaded = false;

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

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

    wxBoxSizer* boxSizer12 = new wxBoxSizer(wxVERTICAL);

    boxSizer2->Add(boxSizer12, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    m_staticText18 =
        new wxStaticText(this, wxID_ANY, _("Select the workspace configuration to edit from the drop down list:"),
                         wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);

    boxSizer12->Add(m_staticText18, 0, wxALL, WXC_FROM_DIP(5));

    wxArrayString m_choiceConfigurationsArr;
    m_choiceConfigurations =
        new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), m_choiceConfigurationsArr, 0);
    m_choiceConfigurations->SetFocus();

    boxSizer12->Add(m_choiceConfigurations, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    m_dvListCtrl = new clThemedListCtrl(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, 200)),
                                        wxDV_ROW_LINES | wxDV_SINGLE);

    boxSizer12->Add(m_dvListCtrl, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    m_dvListCtrl->AppendTextColumn(_("Project"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(-2), wxALIGN_LEFT,
                                   wxDATAVIEW_COL_RESIZABLE);
    m_dvListCtrl->AppendTextColumn(_("Configuration"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(-2), wxALIGN_LEFT,
                                   wxDATAVIEW_COL_RESIZABLE);
    m_stdBtnSizer4 = new wxStdDialogButtonSizer();

    boxSizer2->Add(m_stdBtnSizer4, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(10));

    m_button8 = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);
    m_button8->SetDefault();
    m_stdBtnSizer4->AddButton(m_button8);

    m_button6 = new wxButton(this, wxID_APPLY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);
    m_stdBtnSizer4->AddButton(m_button6);

    m_button10 = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);
    m_stdBtnSizer4->AddButton(m_button10);
    m_stdBtnSizer4->Realize();

    SetName(wxT("ConfigManagerBaseDlg"));
    SetSize(wxDLG_UNIT(this, wxSize(-1, -1)));
    if(GetSizer()) { GetSizer()->Fit(this); }
    if(GetParent()) {
        CentreOnParent(wxBOTH);
    } else {
        CentreOnScreen(wxBOTH);
    }
#if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(this)) {
        wxPersistenceManager::Get().RegisterAndRestore(this);
    } else {
        wxPersistenceManager::Get().Restore(this);
    }
#endif
    // Connect events
    m_choiceConfigurations->Connect(wxEVT_COMMAND_CHOICE_SELECTED,
                                    wxCommandEventHandler(ConfigManagerBaseDlg::OnWorkspaceConfigSelected), NULL, this);
    m_button8->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ConfigManagerBaseDlg::OnButtonOK), NULL,
                       this);
    m_button6->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ConfigManagerBaseDlg::OnButtonApply), NULL,
                       this);
    m_button6->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ConfigManagerBaseDlg::OnButtonApplyUI), NULL, this);
}

ConfigManagerBaseDlg::~ConfigManagerBaseDlg()
{
    m_choiceConfigurations->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED,
                                       wxCommandEventHandler(ConfigManagerBaseDlg::OnWorkspaceConfigSelected), NULL,
                                       this);
    m_button8->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ConfigManagerBaseDlg::OnButtonOK), NULL,
                          this);
    m_button6->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ConfigManagerBaseDlg::OnButtonApply),
                          NULL, this);
    m_button6->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ConfigManagerBaseDlg::OnButtonApplyUI), NULL, this);
}
