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

#include "GotoAnythingBaseUI.h"


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

static bool bBitmapLoaded = false;


GotoAnythingBaseDlg::GotoAnythingBaseDlg(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);
        wxCrafterp2zZ39InitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* boxSizer2 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(boxSizer2);
    
    m_textCtrlSearch = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxTE_PROCESS_ENTER);
    m_textCtrlSearch->SetFocus();
    #if wxVERSION_NUMBER >= 3000
    m_textCtrlSearch->SetHint(_("Search..."));
    #endif
    
    boxSizer2->Add(m_textCtrlSearch, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5));
    
    m_dvListCtrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(300,100)), wxDV_ROW_LINES|wxDV_SINGLE);
    
    boxSizer2->Add(m_dvListCtrl, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5));
    
    m_dvListCtrl->AppendIconTextColumn(_("Matches"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(400), wxALIGN_LEFT);
    m_dvListCtrl->AppendTextColumn(_("Shortcut"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(-2), wxALIGN_LEFT);
    
    SetName(wxT("GotoAnythingBaseDlg"));
    SetSize(-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
    this->Connect(wxEVT_IDLE, wxIdleEventHandler(GotoAnythingBaseDlg::OnIdle), NULL, this);
    m_textCtrlSearch->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(GotoAnythingBaseDlg::OnKeyDown), NULL, this);
    m_textCtrlSearch->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(GotoAnythingBaseDlg::OnEnter), NULL, this);
    m_dvListCtrl->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(GotoAnythingBaseDlg::OnKeyDown), NULL, this);
    m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(GotoAnythingBaseDlg::OnItemActivated), NULL, this);
    
}

GotoAnythingBaseDlg::~GotoAnythingBaseDlg()
{
    this->Disconnect(wxEVT_IDLE, wxIdleEventHandler(GotoAnythingBaseDlg::OnIdle), NULL, this);
    m_textCtrlSearch->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(GotoAnythingBaseDlg::OnKeyDown), NULL, this);
    m_textCtrlSearch->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(GotoAnythingBaseDlg::OnEnter), NULL, this);
    m_dvListCtrl->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(GotoAnythingBaseDlg::OnKeyDown), NULL, this);
    m_dvListCtrl->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(GotoAnythingBaseDlg::OnItemActivated), NULL, this);
    
}
