First attempt at adding buttons to each DebuggerDialog class. The PromptDialog

is currently broken.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@477 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2005-06-09 19:04:59 +00:00
parent 90ed128060
commit 7e7d0b57f5
4 changed files with 66 additions and 14 deletions

View File

@ -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.4 2005-06-08 21:16:06 stephena Exp $ // $Id: DebuggerDialog.cxx,v 1.5 2005-06-09 19:04:59 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
@ -47,7 +47,7 @@ DebuggerDialog::DebuggerDialog(OSystem* osystem, DialogContainer* parent,
const int space = 5; const int space = 5;
const int width = 40; const int width = 40;
int xpos = border; int xpos = border;
/*
// Add a row of buttons for the various debugger operations // Add a row of buttons for the various debugger operations
new ButtonWidget(this, xpos, border, width, 16, "Prompt", kPromptCmd, 0); new ButtonWidget(this, xpos, border, width, 16, "Prompt", kPromptCmd, 0);
xpos += space + width; xpos += space + width;
@ -61,11 +61,14 @@ DebuggerDialog::DebuggerDialog(OSystem* osystem, DialogContainer* parent,
xpos += space + width; xpos += space + width;
new ButtonWidget(this, xpos, border, width, 16, "Code", kCodeCmd, 0); new ButtonWidget(this, xpos, border, width, 16, "Code", kCodeCmd, 0);
xpos += space + width; xpos += space + width;
*/
const int xoff = border; const int xoff = border;
const int yoff = border + 16 + 2; const int yoff = border + 16 + 2;
// And create the debugger dialog boxes
myPromptDialog = new PromptDialog(osystem, parent, x + xoff, y + yoff, // Create the debugger dialog boxes
// myPromptDialog = new PromptDialog(this, osystem, parent, x, y, w, h);
myPromptDialog = new PromptDialog(this, osystem, parent, x + xoff, y + yoff,
w - xoff - 2, h - yoff - 3); w - xoff - 2, h - yoff - 3);
} }
@ -82,6 +85,30 @@ DebuggerDialog::~DebuggerDialog()
*/ */
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void DebuggerDialog::addButtons(GuiObject* boss)
{
// This is a terrible hack, but it does seem to work ...
const int border = 5;
const int space = 5;
const int width = 40;
int xpos = border;
// Add a row of buttons for the various debugger operations
new ButtonWidget(boss, xpos, border, width, 16, "Prompt", kPromptCmd, 0);
xpos += space + width;
new ButtonWidget(boss, xpos, border, width, 16, "CPU", kCpuCmd, 0);
xpos += space + width;
new ButtonWidget(boss, xpos, border, width, 16, "RAM", kRamCmd, 0);
xpos += space + width;
new ButtonWidget(boss, xpos, border, width, 16, "ROM", kRomCmd, 0);
xpos += space + width;
new ButtonWidget(boss, xpos, border, width, 16, "TIA", kTiaCmd, 0);
xpos += space + width;
new ButtonWidget(boss, xpos, border, width, 16, "Code", kCodeCmd, 0);
xpos += space + width;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void DebuggerDialog::loadConfig() void DebuggerDialog::loadConfig()
{ {

View File

@ -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.hxx,v 1.3 2005-06-07 01:27:06 stephena Exp $ // $Id: DebuggerDialog.hxx,v 1.4 2005-06-09 19:04:59 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
@ -43,6 +43,8 @@ class DebuggerDialog : public Dialog
virtual void loadConfig(); virtual void loadConfig();
virtual void handleCommand(CommandSender* sender, int cmd, int data); virtual void handleCommand(CommandSender* sender, int cmd, int data);
void addButtons(GuiObject* boss);
protected: protected:
// The debugger dialogs // The debugger dialogs
PromptDialog* myPromptDialog; PromptDialog* myPromptDialog;

View File

@ -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: PromptDialog.cxx,v 1.7 2005-06-09 15:08:23 stephena Exp $ // $Id: PromptDialog.cxx,v 1.8 2005-06-09 19:04:59 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
@ -24,6 +24,7 @@
#include "EventHandler.hxx" #include "EventHandler.hxx"
#include "Version.hxx" #include "Version.hxx"
#include "Debugger.hxx" #include "Debugger.hxx"
#include "DebuggerDialog.hxx"
#include "PromptDialog.hxx" #include "PromptDialog.hxx"
@ -38,10 +39,29 @@
*/ */
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PromptDialog::PromptDialog(OSystem* osystem, DialogContainer* parent, PromptDialog::PromptDialog(DebuggerDialog* dbg, OSystem* osystem,
DialogContainer* parent,
int x, int y, int w, int h) int x, int y, int w, int h)
: Dialog(osystem, parent, x, y, w, h) : Dialog(osystem, parent, x, y, w, h),
myDebuggerDialog(dbg)
{ {
// Add the buttons common to all DebuggerDialog children
// myDebuggerDialog->addButtons(this);
/*
const int border = 5;
const int space = 5;
const int width = 40;
int xpos = border;
// Add a row of buttons for the various debugger operations
new ButtonWidget(this, xpos, border, width, 16, "Prompt", 0, 0);
*/
new ButtonWidget(this, 10, 10, 50, 20, "Prompt", 0);
_kConsoleCharWidth = instance()->consoleFont().getMaxCharWidth(); _kConsoleCharWidth = instance()->consoleFont().getMaxCharWidth();
_kConsoleLineHeight = instance()->consoleFont().getFontHeight() + 2; _kConsoleLineHeight = instance()->consoleFont().getFontHeight() + 2;
@ -91,7 +111,7 @@ void PromptDialog::loadConfig()
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PromptDialog::drawDialog() void PromptDialog::drawDialog1()
{ {
FrameBuffer& fb = instance()->frameBuffer(); FrameBuffer& fb = instance()->frameBuffer();

View File

@ -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: PromptDialog.hxx,v 1.5 2005-06-09 15:08:23 stephena Exp $ // $Id: PromptDialog.hxx,v 1.6 2005-06-09 19:04:59 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,7 +25,7 @@
class CommandSender; class CommandSender;
class DialogContainer; class DialogContainer;
class ScrollBarWidget; class ScrollBarWidget;
class DebuggerParser; class DebuggerDialog;
#include <stdarg.h> #include <stdarg.h>
#include "Dialog.hxx" #include "Dialog.hxx"
@ -40,7 +40,7 @@ enum {
class PromptDialog : public Dialog class PromptDialog : public Dialog
{ {
public: public:
PromptDialog(OSystem* osystem, DialogContainer* parent, PromptDialog(DebuggerDialog* dbg, OSystem* osystem, DialogContainer* parent,
int x, int y, int w, int h); int x, int y, int w, int h);
virtual ~PromptDialog(); virtual ~PromptDialog();
@ -53,7 +53,7 @@ class PromptDialog : public Dialog
protected: protected:
inline char &buffer(int idx) { return _buffer[idx % kBufferSize]; } inline char &buffer(int idx) { return _buffer[idx % kBufferSize]; }
void drawDialog(); void drawDialog1();
void drawCaret(); void drawCaret();
void putcharIntern(int c); void putcharIntern(int c);
void insertIntoPrompt(const char *str); void insertIntoPrompt(const char *str);
@ -101,6 +101,9 @@ class PromptDialog : public Dialog
int _historyLine; int _historyLine;
int _kConsoleCharWidth, _kConsoleLineHeight; int _kConsoleCharWidth, _kConsoleLineHeight;
private:
DebuggerDialog* myDebuggerDialog;
}; };
#endif #endif