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
|
// 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()
|
||||||
{
|
{
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue