2
* This file is part of the Code::Blocks IDE and licensed under the GNU General Public License, version 3
3
* http://www.gnu.org/licenses/gpl-3.0.html
6
* $Id: cpuregistersdlg.cpp 4909 2008-02-27 13:15:26Z mortenmacfly $
7
* $HeadURL: svn://svn.berlios.de/codeblocks/tags/8.02/src/plugins/debuggergdb/cpuregistersdlg.cpp $
11
#include "cpuregistersdlg.h"
12
#include "debuggergdb.h"
15
#include <wx/listctrl.h>
17
BEGIN_EVENT_TABLE(CPURegistersDlg, wxPanel)
18
// EVT_BUTTON(XRCID("btnRefresh"), CPURegistersDlg::OnRefresh)
21
CPURegistersDlg::CPURegistersDlg(wxWindow* parent, DebuggerGDB* debugger)
22
: wxPanel(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize),
26
wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL);
27
m_pList = new wxListCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT | wxLC_SINGLE_SEL);
28
sizer->Add(m_pList, 1, wxGROW);
32
wxFont font(8, wxMODERN, wxNORMAL, wxNORMAL);
33
m_pList->SetFont(font);
38
CPURegistersDlg::~CPURegistersDlg()
43
void CPURegistersDlg::Clear()
47
m_pList->DeleteAllItems();
48
m_pList->InsertColumn(0, _("Register"), wxLIST_FORMAT_LEFT);
49
m_pList->InsertColumn(1, _("Hex"), wxLIST_FORMAT_RIGHT);
50
m_pList->InsertColumn(2, _("Integer"), wxLIST_FORMAT_RIGHT);
54
int CPURegistersDlg::RegisterIndex(const wxString& reg_name)
56
for (int i = 0; i < m_pList->GetItemCount(); ++i)
58
if (m_pList->GetItemText(i).CmpNoCase(reg_name) == 0)
64
void CPURegistersDlg::SetRegisterValue(const wxString& reg_name, unsigned long int value)
66
// find existing register
67
int idx = RegisterIndex(reg_name);
70
// if it doesn't exist, add it
71
idx = m_pList->GetItemCount();
72
m_pList->InsertItem(idx, reg_name);
76
fmt.Printf(_T("0x%x"), (size_t)value);
77
m_pList->SetItem(idx, 1, fmt);
78
fmt.Printf(_T("%u"), value);
79
m_pList->SetItem(idx, 2, fmt);
81
for (int i = 0; i < 3; ++i)
83
m_pList->SetColumnWidth(i, wxLIST_AUTOSIZE);