1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef REGISTERS_VIEW_H
6#define REGISTERS_VIEW_H
7
8#include <GroupView.h>
9
10#include "table/Table.h"
11#include "Team.h"
12
13
14class Architecture;
15
16
17class RegistersView : public BGroupView, private TableListener {
18public:
19								RegistersView(Architecture* architecture);
20								~RegistersView();
21
22	static	RegistersView*		Create(Architecture* architecture);
23									// throws
24
25			void				SetCpuState(CpuState* cpuState);
26
27			void				LoadSettings(const BMessage& settings);
28			status_t			SaveSettings(BMessage& settings);
29
30private:
31			class RegisterValueColumn;
32			class RegisterTableModel;
33
34private:
35	// TableListener
36	virtual	void				TableRowInvoked(Table* table, int32 rowIndex);
37
38			void				_Init();
39
40private:
41			Architecture*		fArchitecture;
42			CpuState*			fCpuState;
43			Table*				fRegisterTable;
44			RegisterTableModel*	fRegisterTableModel;
45};
46
47
48#endif	// REGISTERS_VIEW_H
49