* Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
* Copyright 2013-2015, Rene Gollent, rene@gollent.com.
* Distributed under the terms of the MIT License.
*/
#ifndef REGISTERS_VIEW_H
#define REGISTERS_VIEW_H
#include <GroupView.h>
#include "table/Table.h"
#include "Team.h"
class Architecture;
class BMenu;
class RegistersView : public BGroupView, private TableListener {
public:
RegistersView(Architecture* architecture);
~RegistersView();
static RegistersView* Create(Architecture* architecture);
virtual void MessageReceived(BMessage* message);
void SetCpuState(CpuState* cpuState);
void LoadSettings(const BMessage& settings);
status_t SaveSettings(BMessage& settings);
private:
class RegisterValueColumn;
class RegisterTableModel;
private:
virtual void TableRowInvoked(Table* table, int32 rowIndex);
virtual void TableCellMouseDown(Table* table, int32 rowIndex,
int32 columnIndex, BPoint screenWhere,
uint32 buttons);
void _Init();
status_t _AddFormatItem(BMenu* menu, int32 format);
private:
Architecture* fArchitecture;
CpuState* fCpuState;
Table* fRegisterTable;
RegisterTableModel* fRegisterTableModel;
};
#endif