mirror of https://github.com/stella-emu/stella.git
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:
parent
90ed128060
commit
7e7d0b57f5
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// 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
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -47,7 +47,7 @@ DebuggerDialog::DebuggerDialog(OSystem* osystem, DialogContainer* parent,
|
|||
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", kPromptCmd, 0);
|
||||
xpos += space + width;
|
||||
|
@ -61,11 +61,14 @@ DebuggerDialog::DebuggerDialog(OSystem* osystem, DialogContainer* parent,
|
|||
xpos += space + width;
|
||||
new ButtonWidget(this, xpos, border, width, 16, "Code", kCodeCmd, 0);
|
||||
xpos += space + width;
|
||||
|
||||
*/
|
||||
const int xoff = border;
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -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()
|
||||
{
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// 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
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -43,6 +43,8 @@ class DebuggerDialog : public Dialog
|
|||
virtual void loadConfig();
|
||||
virtual void handleCommand(CommandSender* sender, int cmd, int data);
|
||||
|
||||
void addButtons(GuiObject* boss);
|
||||
|
||||
protected:
|
||||
// The debugger dialogs
|
||||
PromptDialog* myPromptDialog;
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// 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
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -24,6 +24,7 @@
|
|||
#include "EventHandler.hxx"
|
||||
#include "Version.hxx"
|
||||
#include "Debugger.hxx"
|
||||
#include "DebuggerDialog.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)
|
||||
: 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();
|
||||
_kConsoleLineHeight = instance()->consoleFont().getFontHeight() + 2;
|
||||
|
||||
|
@ -91,7 +111,7 @@ void PromptDialog::loadConfig()
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void PromptDialog::drawDialog()
|
||||
void PromptDialog::drawDialog1()
|
||||
{
|
||||
FrameBuffer& fb = instance()->frameBuffer();
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the file "license" for information on usage and redistribution of
|
||||
// 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
|
||||
// Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -25,7 +25,7 @@
|
|||
class CommandSender;
|
||||
class DialogContainer;
|
||||
class ScrollBarWidget;
|
||||
class DebuggerParser;
|
||||
class DebuggerDialog;
|
||||
|
||||
#include <stdarg.h>
|
||||
#include "Dialog.hxx"
|
||||
|
@ -40,7 +40,7 @@ enum {
|
|||
class PromptDialog : public Dialog
|
||||
{
|
||||
public:
|
||||
PromptDialog(OSystem* osystem, DialogContainer* parent,
|
||||
PromptDialog(DebuggerDialog* dbg, OSystem* osystem, DialogContainer* parent,
|
||||
int x, int y, int w, int h);
|
||||
virtual ~PromptDialog();
|
||||
|
||||
|
@ -53,7 +53,7 @@ class PromptDialog : public Dialog
|
|||
protected:
|
||||
inline char &buffer(int idx) { return _buffer[idx % kBufferSize]; }
|
||||
|
||||
void drawDialog();
|
||||
void drawDialog1();
|
||||
void drawCaret();
|
||||
void putcharIntern(int c);
|
||||
void insertIntoPrompt(const char *str);
|
||||
|
@ -101,6 +101,9 @@ class PromptDialog : public Dialog
|
|||
int _historyLine;
|
||||
|
||||
int _kConsoleCharWidth, _kConsoleLineHeight;
|
||||
|
||||
private:
|
||||
DebuggerDialog* myDebuggerDialog;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue