mirror of https://github.com/stella-emu/stella.git
Second pass at TiaWidget. It now contains a DataGridWidget for the 16 bytes
of RAM in the TIA, but it isn't tied to the TIA yet (so changes have no effect). I suspect that development on this tab will now proceed quickly, since I think I've found a way to lay everything out in one tab. Removed the 2 second delay from configure when an invalid option is given. There's no need to delay; printing an error is sufficient. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@612 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
ed06990d04
commit
1b81357126
|
@ -317,9 +317,7 @@ for ac_option in $@; do
|
||||||
_mandir=`echo $ac_option | cut -d '=' -f 2`
|
_mandir=`echo $ac_option | cut -d '=' -f 2`
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "warning: unrecognised option: $ac_option
|
echo "warning: unrecognised option: $ac_option"
|
||||||
Try \`$0 --help' for more information." >&2
|
|
||||||
sleep 2
|
|
||||||
;;
|
;;
|
||||||
esac;
|
esac;
|
||||||
done;
|
done;
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: DataGridWidget.hxx,v 1.7 2005-07-05 18:00:05 stephena Exp $
|
// $Id: DataGridWidget.hxx,v 1.8 2005-07-06 15:09:15 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -78,15 +78,6 @@ class DataGridWidget : public EditableWidget, public CommandSender
|
||||||
|
|
||||||
int colWidth() { return _colWidth; }
|
int colWidth() { return _colWidth; }
|
||||||
|
|
||||||
//* Common operations on the currently selected cell */
|
|
||||||
void negateCell();
|
|
||||||
void invertCell();
|
|
||||||
void decrementCell();
|
|
||||||
void incrementCell();
|
|
||||||
void lshiftCell();
|
|
||||||
void rshiftCell();
|
|
||||||
void zeroCell();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void drawWidget(bool hilite);
|
void drawWidget(bool hilite);
|
||||||
|
|
||||||
|
@ -120,6 +111,16 @@ class DataGridWidget : public EditableWidget, public CommandSender
|
||||||
int _selectedItem;
|
int _selectedItem;
|
||||||
int _currentKeyDown;
|
int _currentKeyDown;
|
||||||
string _backupString;
|
string _backupString;
|
||||||
|
|
||||||
|
private:
|
||||||
|
//* Common operations on the currently selected cell */
|
||||||
|
void negateCell();
|
||||||
|
void invertCell();
|
||||||
|
void decrementCell();
|
||||||
|
void incrementCell();
|
||||||
|
void lshiftCell();
|
||||||
|
void rshiftCell();
|
||||||
|
void zeroCell();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: DebuggerDialog.cxx,v 1.21 2005-07-05 15:25:44 stephena Exp $
|
// $Id: DebuggerDialog.cxx,v 1.22 2005-07-06 15:09:16 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -25,6 +25,7 @@
|
||||||
#include "PromptWidget.hxx"
|
#include "PromptWidget.hxx"
|
||||||
#include "CpuWidget.hxx"
|
#include "CpuWidget.hxx"
|
||||||
#include "RamWidget.hxx"
|
#include "RamWidget.hxx"
|
||||||
|
#include "TiaWidget.hxx"
|
||||||
#include "CheatWidget.hxx"
|
#include "CheatWidget.hxx"
|
||||||
#include "Debugger.hxx"
|
#include "Debugger.hxx"
|
||||||
|
|
||||||
|
@ -70,6 +71,8 @@ DebuggerDialog::DebuggerDialog(OSystem* osystem, DialogContainer* parent,
|
||||||
|
|
||||||
// 5) The TIA tab
|
// 5) The TIA tab
|
||||||
myTab->addTab("TIA");
|
myTab->addTab("TIA");
|
||||||
|
TiaWidget* tia = new TiaWidget(myTab, 2, 2, vWidth - vBorder, _h - 25);
|
||||||
|
myTab->setParentWidget(3, tia, tia->activeWidget());
|
||||||
|
|
||||||
|
|
||||||
// 6) The ROM tab
|
// 6) The ROM tab
|
||||||
|
|
|
@ -13,14 +13,12 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: TiaWidget.cxx,v 1.2 2005-07-05 15:25:44 stephena Exp $
|
// $Id: TiaWidget.cxx,v 1.3 2005-07-06 15:09:16 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include <sstream>
|
|
||||||
|
|
||||||
#include "OSystem.hxx"
|
#include "OSystem.hxx"
|
||||||
#include "FrameBuffer.hxx"
|
#include "FrameBuffer.hxx"
|
||||||
#include "GuiUtils.hxx"
|
#include "GuiUtils.hxx"
|
||||||
|
@ -30,38 +28,44 @@
|
||||||
#include "EditTextWidget.hxx"
|
#include "EditTextWidget.hxx"
|
||||||
#include "DataGridWidget.hxx"
|
#include "DataGridWidget.hxx"
|
||||||
|
|
||||||
#include "RamWidget.hxx"
|
#include "TiaWidget.hxx"
|
||||||
|
|
||||||
|
// ID's for the various widgets
|
||||||
|
// We need ID's, since there are more than one of several types of widgets
|
||||||
|
enum {
|
||||||
|
kRamID,
|
||||||
|
kCOLUP0ID,
|
||||||
|
kCOLUP1ID,
|
||||||
|
kCOLUBKID,
|
||||||
|
kCOLUPFID
|
||||||
|
};
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
RamWidget::RamWidget(GuiObject* boss, int x, int y, int w, int h)
|
TiaWidget::TiaWidget(GuiObject* boss, int x, int y, int w, int h)
|
||||||
: Widget(boss, x, y, w, h),
|
: Widget(boss, x, y, w, h),
|
||||||
CommandSender(boss)
|
CommandSender(boss)
|
||||||
{
|
{
|
||||||
int xpos = 10;
|
int xpos = 10;
|
||||||
int ypos = 20;
|
int ypos = 20;
|
||||||
int lwidth = 30;
|
int lwidth = 25;
|
||||||
const int vWidth = _w - kButtonWidth - 20, space = 6, buttonw = 24;
|
const int vWidth = _w - kButtonWidth - 20, space = 6, buttonw = 24;
|
||||||
const GUI::Font& font = instance()->consoleFont();
|
const GUI::Font& font = instance()->consoleFont();
|
||||||
_oldValueList = new ValueList;
|
|
||||||
|
|
||||||
// Create a 16x8 grid holding byte values (16 x 8 = 128 RAM bytes) with labels
|
// Create a 16x1 grid holding byte values with labels
|
||||||
myRamGrid = new DataGridWidget(boss, xpos+lwidth + 5, ypos, 16, 8, 2, 0xff, kBASE_16);
|
myRamGrid = new DataGridWidget(boss, xpos+lwidth, ypos, 16, 1, 2, 8, kBASE_16);
|
||||||
myRamGrid->setTarget(this);
|
myRamGrid->setTarget(this);
|
||||||
myRamGrid->clearFlags(WIDGET_TAB_NAVIGATE);
|
myRamGrid->setID(kRamID);
|
||||||
myActiveWidget = myRamGrid;
|
myActiveWidget = myRamGrid;
|
||||||
|
|
||||||
for(int row = 0; row < 8; ++row)
|
StaticTextWidget* t = new StaticTextWidget(boss, xpos, ypos + 2,
|
||||||
{
|
|
||||||
StaticTextWidget* t = new StaticTextWidget(boss, xpos, ypos + row*kLineHeight + 2,
|
|
||||||
lwidth, kLineHeight,
|
lwidth, kLineHeight,
|
||||||
Debugger::to_hex_16(row*16 + kRamStart) + string(":"),
|
Debugger::to_hex_8(0) + string(":"),
|
||||||
kTextAlignLeft);
|
kTextAlignLeft);
|
||||||
t->setFont(font);
|
t->setFont(font);
|
||||||
}
|
|
||||||
for(int col = 0; col < 16; ++col)
|
for(int col = 0; col < 16; ++col)
|
||||||
{
|
{
|
||||||
StaticTextWidget* t = new StaticTextWidget(boss,
|
StaticTextWidget* t = new StaticTextWidget(boss,
|
||||||
xpos + col*myRamGrid->colWidth() + lwidth + 12,
|
xpos + col*myRamGrid->colWidth() + lwidth + 7,
|
||||||
ypos - kLineHeight,
|
ypos - kLineHeight,
|
||||||
lwidth, kLineHeight,
|
lwidth, kLineHeight,
|
||||||
Debugger::to_hex_4(col),
|
Debugger::to_hex_4(col),
|
||||||
|
@ -69,7 +73,7 @@ RamWidget::RamWidget(GuiObject* boss, int x, int y, int w, int h)
|
||||||
t->setFont(font);
|
t->setFont(font);
|
||||||
}
|
}
|
||||||
|
|
||||||
xpos = 20; ypos = 11 * kLineHeight;
|
xpos = 20; ypos = 4 * kLineHeight;
|
||||||
new StaticTextWidget(boss, xpos, ypos, 30, kLineHeight, "Label: ", kTextAlignLeft);
|
new StaticTextWidget(boss, xpos, ypos, 30, kLineHeight, "Label: ", kTextAlignLeft);
|
||||||
xpos += 30;
|
xpos += 30;
|
||||||
myLabel = new EditTextWidget(boss, xpos, ypos-2, 100, kLineHeight, "");
|
myLabel = new EditTextWidget(boss, xpos, ypos-2, 100, kLineHeight, "");
|
||||||
|
@ -93,65 +97,32 @@ RamWidget::RamWidget(GuiObject* boss, int x, int y, int w, int h)
|
||||||
myBinValue->setFont(font);
|
myBinValue->setFont(font);
|
||||||
myBinValue->setEditable(false);
|
myBinValue->setEditable(false);
|
||||||
|
|
||||||
|
/*
|
||||||
// Add some buttons for common actions
|
// Add some buttons for common actions
|
||||||
ButtonWidget* b;
|
ButtonWidget* b;
|
||||||
xpos = vWidth + 10; ypos = 20;
|
xpos = vWidth + 10; ypos = 20;
|
||||||
b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, "0", kRZeroCmd, 0);
|
b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, "0", kRZeroCmd, 0);
|
||||||
b->setTarget(this);
|
b->setTarget(this);
|
||||||
|
|
||||||
ypos += 16 + space;
|
|
||||||
b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, "Inv", kRInvertCmd, 0);
|
|
||||||
b->setTarget(this);
|
|
||||||
|
|
||||||
ypos += 16 + space;
|
|
||||||
b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, "++", kRIncCmd, 0);
|
|
||||||
b->setTarget(this);
|
|
||||||
|
|
||||||
ypos += 16 + space;
|
|
||||||
b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, "<<", kRShiftLCmd, 0);
|
|
||||||
b->setTarget(this);
|
|
||||||
|
|
||||||
ypos += 16 + space;
|
|
||||||
// keep a pointer to this one, it gets disabled/enabled
|
|
||||||
myUndoButton = b = new ButtonWidget(boss, xpos, ypos, buttonw*2+10, 16, "Undo", kUndoCmd, 0);
|
|
||||||
b->setTarget(this);
|
|
||||||
|
|
||||||
ypos += 16 + space;
|
|
||||||
// keep a pointer to this one, it gets disabled/enabled
|
|
||||||
myRevertButton = b = new ButtonWidget(boss, xpos, ypos, buttonw*2+10, 16, "Revert", kRevertCmd, 0);
|
|
||||||
b->setTarget(this);
|
|
||||||
|
|
||||||
xpos = vWidth + 30 + 10; ypos = 20;
|
xpos = vWidth + 30 + 10; ypos = 20;
|
||||||
// b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, "", kRCmd, 0);
|
// b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, "", kRCmd, 0);
|
||||||
// b->setTarget(this);
|
// b->setTarget(this);
|
||||||
|
*/
|
||||||
ypos += 16 + space;
|
|
||||||
b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, "Neg", kRNegateCmd, 0);
|
|
||||||
b->setTarget(this);
|
|
||||||
|
|
||||||
ypos += 16 + space;
|
|
||||||
b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, "--", kRDecCmd, 0);
|
|
||||||
b->setTarget(this);
|
|
||||||
|
|
||||||
ypos += 16 + space;
|
|
||||||
b = new ButtonWidget(boss, xpos, ypos, buttonw, 16, ">>", kRShiftRCmd, 0);
|
|
||||||
b->setTarget(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
RamWidget::~RamWidget()
|
TiaWidget::~TiaWidget()
|
||||||
{
|
{
|
||||||
delete _oldValueList;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void RamWidget::handleCommand(CommandSender* sender, int cmd, int data, int id)
|
void TiaWidget::handleCommand(CommandSender* sender, int cmd, int data, int id)
|
||||||
{
|
{
|
||||||
// We simply change the values in the ByteGridWidget
|
// We simply change the values in the ByteGridWidget
|
||||||
// It will then send the 'kDGItemDataChangedCmd' signal to change the actual
|
// It will then send the 'kDGItemDataChangedCmd' signal to change the actual
|
||||||
// memory location
|
// memory location
|
||||||
int addr, value;
|
int addr, value;
|
||||||
unsigned char byte;
|
|
||||||
const char* buf;
|
const char* buf;
|
||||||
|
|
||||||
Debugger& dbg = instance()->debugger();
|
Debugger& dbg = instance()->debugger();
|
||||||
|
@ -159,20 +130,23 @@ void RamWidget::handleCommand(CommandSender* sender, int cmd, int data, int id)
|
||||||
switch(cmd)
|
switch(cmd)
|
||||||
{
|
{
|
||||||
case kDGItemDataChangedCmd:
|
case kDGItemDataChangedCmd:
|
||||||
addr = myRamGrid->getSelectedAddr();
|
switch(id)
|
||||||
value = myRamGrid->getSelectedValue();
|
{
|
||||||
|
case kRamID:
|
||||||
|
changeRam();
|
||||||
|
break;
|
||||||
|
|
||||||
myUndoAddress = addr;
|
default:
|
||||||
myUndoValue = dbg.readRAM(addr - kRamStart);
|
cerr << "TiaWidget DG changed\n";
|
||||||
|
break;
|
||||||
instance()->debugger().writeRAM(addr - kRamStart, value);
|
}
|
||||||
myDecValue->setEditString(instance()->debugger().valueToString(value, kBASE_10));
|
// FIXME - maybe issue a full reload, since changing one item can affect
|
||||||
myBinValue->setEditString(instance()->debugger().valueToString(value, kBASE_2));
|
// others in this tab??
|
||||||
myRevertButton->setFlags(WIDGET_ENABLED);
|
|
||||||
myUndoButton->setFlags(WIDGET_ENABLED);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kDGSelectionChangedCmd:
|
case kDGSelectionChangedCmd:
|
||||||
|
// FIXME - for now, only the RAM has multiple cells, so it's the only one
|
||||||
|
// that can receive this signal
|
||||||
addr = myRamGrid->getSelectedAddr();
|
addr = myRamGrid->getSelectedAddr();
|
||||||
value = myRamGrid->getSelectedValue();
|
value = myRamGrid->getSelectedValue();
|
||||||
|
|
||||||
|
@ -183,59 +157,6 @@ void RamWidget::handleCommand(CommandSender* sender, int cmd, int data, int id)
|
||||||
myDecValue->setEditString(instance()->debugger().valueToString(value, kBASE_10));
|
myDecValue->setEditString(instance()->debugger().valueToString(value, kBASE_10));
|
||||||
myBinValue->setEditString(instance()->debugger().valueToString(value, kBASE_2));
|
myBinValue->setEditString(instance()->debugger().valueToString(value, kBASE_2));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kRZeroCmd:
|
|
||||||
myRamGrid->setSelectedValue(0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case kRInvertCmd:
|
|
||||||
byte = (unsigned char) myRamGrid->getSelectedValue();
|
|
||||||
byte = ~byte;
|
|
||||||
myRamGrid->setSelectedValue((int)byte);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case kRNegateCmd:
|
|
||||||
byte = (unsigned char) myRamGrid->getSelectedValue();
|
|
||||||
byte = (~byte) + 1;
|
|
||||||
myRamGrid->setSelectedValue((int)byte);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case kRIncCmd:
|
|
||||||
byte = (unsigned char) myRamGrid->getSelectedValue();
|
|
||||||
byte += 1;
|
|
||||||
myRamGrid->setSelectedValue((int)byte);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case kRDecCmd:
|
|
||||||
byte = (unsigned char) myRamGrid->getSelectedValue();
|
|
||||||
byte -= 1;
|
|
||||||
myRamGrid->setSelectedValue((int)byte);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case kRShiftLCmd:
|
|
||||||
byte = (unsigned char) myRamGrid->getSelectedValue();
|
|
||||||
byte <<= 1;
|
|
||||||
myRamGrid->setSelectedValue((int)byte);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case kRShiftRCmd:
|
|
||||||
byte = (unsigned char) myRamGrid->getSelectedValue();
|
|
||||||
byte >>= 1;
|
|
||||||
myRamGrid->setSelectedValue((int)byte);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case kRevertCmd:
|
|
||||||
for(unsigned int i = 0; i < kRamSize; i++)
|
|
||||||
dbg.writeRAM(i, (*_oldValueList)[i]);
|
|
||||||
fillGrid(true);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case kUndoCmd:
|
|
||||||
dbg.writeRAM(myUndoAddress - kRamStart, myUndoValue);
|
|
||||||
myUndoButton->clearFlags(WIDGET_ENABLED);
|
|
||||||
fillGrid(false);
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO - dirty rect, or is it necessary here?
|
// TODO - dirty rect, or is it necessary here?
|
||||||
|
@ -243,33 +164,36 @@ void RamWidget::handleCommand(CommandSender* sender, int cmd, int data, int id)
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void RamWidget::loadConfig()
|
void TiaWidget::loadConfig()
|
||||||
{
|
{
|
||||||
fillGrid(true);
|
fillGrid();
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void RamWidget::fillGrid(bool updateOld)
|
void TiaWidget::fillGrid()
|
||||||
{
|
{
|
||||||
AddrList alist;
|
AddrList alist;
|
||||||
ValueList vlist;
|
ValueList vlist;
|
||||||
BoolArray changed;
|
BoolArray changed;
|
||||||
|
|
||||||
if(updateOld) _oldValueList->clear();
|
// FIXME - have this actually talk to TIADebug
|
||||||
|
|
||||||
Debugger& dbg = instance()->debugger();
|
Debugger& dbg = instance()->debugger();
|
||||||
for(unsigned int i = 0; i < kRamSize; i++)
|
for(unsigned int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
alist.push_back(kRamStart + i);
|
alist.push_back(i);
|
||||||
vlist.push_back(dbg.readRAM(i));
|
vlist.push_back(i);
|
||||||
if(updateOld) _oldValueList->push_back(dbg.readRAM(i));
|
changed.push_back(false);
|
||||||
changed.push_back(dbg.ramChanged(i));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
myRamGrid->setList(alist, vlist, changed);
|
myRamGrid->setList(alist, vlist, changed);
|
||||||
if(updateOld)
|
}
|
||||||
{
|
|
||||||
myRevertButton->clearFlags(WIDGET_ENABLED);
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
myUndoButton->clearFlags(WIDGET_ENABLED);
|
void TiaWidget::changeRam()
|
||||||
}
|
{
|
||||||
|
int addr = myRamGrid->getSelectedAddr();
|
||||||
|
int value = myRamGrid->getSelectedValue();
|
||||||
|
|
||||||
|
//FIXME instance()->debugger().writeRAM(addr - kRamStart, value);
|
||||||
|
myDecValue->setEditString(instance()->debugger().valueToString(value, kBASE_10));
|
||||||
|
myBinValue->setEditString(instance()->debugger().valueToString(value, kBASE_2));
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: TiaWidget.hxx,v 1.2 2005-07-05 15:25:44 stephena Exp $
|
// $Id: TiaWidget.hxx,v 1.3 2005-07-06 15:09:16 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -45,6 +45,8 @@ class TiaWidget : public Widget, public CommandSender
|
||||||
void loadConfig();
|
void loadConfig();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void fillGrid();
|
||||||
|
void changeRam();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Widget* myActiveWidget;
|
Widget* myActiveWidget;
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: Widget.cxx,v 1.22 2005-07-05 15:25:44 stephena Exp $
|
// $Id: Widget.cxx,v 1.23 2005-07-06 15:09:16 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -36,7 +36,7 @@ Widget::Widget(GuiObject* boss, int x, int y, int w, int h)
|
||||||
: GuiObject(boss->instance(), boss->parent(), x, y, w, h),
|
: GuiObject(boss->instance(), boss->parent(), x, y, w, h),
|
||||||
_type(0),
|
_type(0),
|
||||||
_boss(boss),
|
_boss(boss),
|
||||||
_id(0),
|
_id(-1),
|
||||||
_flags(0),
|
_flags(0),
|
||||||
_hasFocus(false),
|
_hasFocus(false),
|
||||||
_color(kTextColor),
|
_color(kTextColor),
|
||||||
|
|
|
@ -31,6 +31,7 @@ MODULE_OBJS := \
|
||||||
src/gui/RamWidget.o \
|
src/gui/RamWidget.o \
|
||||||
src/gui/ScrollBarWidget.o \
|
src/gui/ScrollBarWidget.o \
|
||||||
src/gui/TabWidget.o \
|
src/gui/TabWidget.o \
|
||||||
|
src/gui/TiaWidget.o \
|
||||||
src/gui/ToggleBitWidget.o \
|
src/gui/ToggleBitWidget.o \
|
||||||
src/gui/VideoDialog.o \
|
src/gui/VideoDialog.o \
|
||||||
src/gui/Widget.o \
|
src/gui/Widget.o \
|
||||||
|
|
Loading…
Reference in New Issue