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

#include "listctrlpanelbase.h"


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

static bool bBitmapLoaded = false;


ListCtrlPanelBase::ListCtrlPanelBase(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);
        wxCF3AAInitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(mainSizer);
    
    m_dvListCtrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxDV_SINGLE);
    
    mainSizer->Add(m_dvListCtrl, 1, wxEXPAND, 5);
    
    m_dvListCtrl->AppendIconTextColumn(_("Level"), wxDATAVIEW_CELL_INERT, -1, wxALIGN_LEFT);
    m_dvListCtrl->AppendTextColumn(_("Address"), wxDATAVIEW_CELL_INERT, -1, wxALIGN_LEFT);
    m_dvListCtrl->AppendTextColumn(_("Function"), wxDATAVIEW_CELL_INERT, 200, wxALIGN_LEFT);
    m_dvListCtrl->AppendTextColumn(_("File"), wxDATAVIEW_CELL_INERT, 400, wxALIGN_LEFT);
    m_dvListCtrl->AppendTextColumn(_("Line"), wxDATAVIEW_CELL_INERT, -1, wxALIGN_LEFT);
    
    SetName(wxT("ListCtrlPanelBase"));
    SetSizeHints(500,300);
    if ( GetSizer() ) {
         GetSizer()->Fit(this);
    }
    CentreOnParent(wxBOTH);
    // Connect events
    m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(ListCtrlPanelBase::OnItemActivated), NULL, this);
    m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler(ListCtrlPanelBase::OnMenu), NULL, this);
    
}

ListCtrlPanelBase::~ListCtrlPanelBase()
{
    m_dvListCtrl->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(ListCtrlPanelBase::OnItemActivated), NULL, this);
    m_dvListCtrl->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler(ListCtrlPanelBase::OnMenu), NULL, this);
    
}

DebuggerBtImgList::DebuggerBtImgList()
    : wxImageList(16, 16, true)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxCF3AAInitBitmapResources();
        bBitmapLoaded = true;
    }
    
    {
        wxBitmap bmp;
        wxIcon icn;
        bmp = wxXmlResource::Get()->LoadBitmap(wxT("arrowActive"));
        icn.CopyFromBitmap( bmp );
        this->Add( icn );
        m_bitmaps.insert( std::make_pair(wxT("arrowActive"), bmp ) );
    }
    
    {
        wxBitmap bmp;
        wxIcon icn;
        bmp = wxXmlResource::Get()->LoadBitmap(wxT("arrowInactive"));
        icn.CopyFromBitmap( bmp );
        this->Add( icn );
        m_bitmaps.insert( std::make_pair(wxT("arrowInactive"), bmp ) );
    }
    
}

DebuggerBtImgList::~DebuggerBtImgList()
{
}
