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

#include "CompilersFoundDlgBase.h"

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

static bool bBitmapLoaded = false;

CompilersFoundDlgBase::CompilersFoundDlgBase(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);
        wxCFE1CInitBitmapResources();
        bBitmapLoaded = true;
    }

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

    m_staticText43 = new wxStaticText(this, wxID_ANY, _("Select the compilers to configure:"), wxDefaultPosition,
                                      wxDLG_UNIT(this, wxSize(-1, -1)), 0);

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

    m_dataview = new clThemedListCtrl(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)),
                                      wxDV_ROW_LINES | wxDV_SINGLE);
    m_dataview->SetFocus();

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

    m_dataview->AppendTextColumn(_("Name"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(-2), wxALIGN_LEFT,
                                 wxDATAVIEW_COL_RESIZABLE);
    m_dataview->AppendTextColumn(_("Installation path"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(-2), wxALIGN_LEFT,
                                 wxDATAVIEW_COL_RESIZABLE);
    boxSizer31 = new wxBoxSizer(wxHORIZONTAL);

    boxSizer2->Add(boxSizer31, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5));

    m_stdBtnSizer4 = new wxStdDialogButtonSizer();

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

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

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

    SetName(wxT("CompilersFoundDlgBase"));
    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
}

CompilersFoundDlgBase::~CompilersFoundDlgBase() {}

CompilersModifiedDlgBase::CompilersModifiedDlgBase(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);
        wxCFE1CInitBitmapResources();
        bBitmapLoaded = true;
    }

    boxSizer16 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(boxSizer16);

    m_staticText27 = new wxStaticText(this, wxID_ANY,
                                      _("Some of the compilers referred  by the workspace no longer exist.\nDefine "
                                        "each missing compiler by cloning an existing compiler."),
                                      wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);

    boxSizer16->Add(m_staticText27, 0, wxALL, WXC_FROM_DIP(5));

    wxArrayString m_pgMgrCompilersArr;
    wxUnusedVar(m_pgMgrCompilersArr);
    wxArrayInt m_pgMgrCompilersIntArr;
    wxUnusedVar(m_pgMgrCompilersIntArr);
    m_pgMgrCompilers = new wxPropertyGridManager(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)),
                                                 wxPG_DESCRIPTION | wxPG_SPLITTER_AUTO_CENTER | wxPG_BOLD_MODIFIED);

    boxSizer16->Add(m_pgMgrCompilers, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    m_pgPropHeader = m_pgMgrCompilers->Append(new wxPropertyCategory(_("Compilers")));
    m_pgPropHeader->SetHelpString(wxT(""));

    m_stdBtnSizer18 = new wxStdDialogButtonSizer();

    boxSizer16->Add(m_stdBtnSizer18, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5));

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

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

    SetName(wxT("CompilersModifiedDlgBase"));
    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_pgMgrCompilers->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CompilersModifiedDlgBase::OnValueChanged),
                              NULL, this);
    m_buttonOK->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilersModifiedDlgBase::OnOKUI), NULL, this);
}

CompilersModifiedDlgBase::~CompilersModifiedDlgBase()
{
    m_pgMgrCompilers->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CompilersModifiedDlgBase::OnValueChanged),
                                 NULL, this);
    m_buttonOK->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilersModifiedDlgBase::OnOKUI), NULL, this);
}
