Added 'debuggerres' commandline argument, which can specify the width &

height of the debugger dialog (similar to 'launcherres' argument).  Since
this provides the functionality of 'debugheight', that setting has been
removed.

Added configuration of debugger width/height to UIDialog.  Still TODO is
make the debugger 'resize' its widgets properly.

Changed 'height' debugger command to 'resolution', which will eventually
set the 'debuggerres' argument.

Made UI palette changes from UIDialog dynamic (Stella doesn't have to
be restarted for it to take effect.  Also renamed palette choices to
'Standard' and 'Classic'.

Changed default size of the Launcher to 400x300.

Some cleanups to Widget and CheckboxWidget for recent palette updates.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1342 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2007-08-10 18:27:12 +00:00
parent f49eb18079
commit afc12e4977
17 changed files with 225 additions and 151 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: Debugger.cxx,v 1.110 2007-06-20 20:36:28 stephena Exp $ // $Id: Debugger.cxx,v 1.111 2007-08-10 18:27:10 stephena Exp $
//============================================================================ //============================================================================
#include "bspf.hxx" #include "bspf.hxx"
@ -101,8 +101,19 @@ Debugger::Debugger(OSystem* osystem)
equateList(NULL), equateList(NULL),
breakPoints(NULL), breakPoints(NULL),
readTraps(NULL), readTraps(NULL),
writeTraps(NULL) writeTraps(NULL),
myWidth(1030),
myHeight(690)
{ {
// Get the dialog size
int w, h;
myOSystem->settings().getSize("debuggerres", w, h);
myWidth = BSPF_max(w, 0);
myHeight = BSPF_max(h, 0);
myWidth = BSPF_max(myWidth, 1030u);
myHeight = BSPF_max(myHeight, 690u);
myOSystem->settings().setSize("debuggerres", myWidth, myHeight);
// Init parser // Init parser
myParser = new DebuggerParser(this); myParser = new DebuggerParser(this);
equateList = new EquateList(); equateList = new EquateList();
@ -879,22 +890,6 @@ int Debugger::dpeek(int addr) {
return mySystem->peek(addr) | (mySystem->peek(addr+1) << 8); return mySystem->peek(addr) | (mySystem->peek(addr+1) << 8);
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Debugger::setHeight(int height)
{
if(height < kDebuggerLines)
height = kDebuggerLines;
myOSystem->settings().setInt("debugheight", height);
// Inform the debugger dialog about the new size
quit();
resizeDialog();
start();
return height;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
string Debugger::showWatches() { string Debugger::showWatches() {
return myParser->showWatches(); return myParser->showWatches();
@ -974,25 +969,7 @@ void Debugger::setQuitState()
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GUI::Rect Debugger::getDialogBounds() const GUI::Rect Debugger::getDialogBounds() const
{ {
// FIXME - This whole method is due for an overall GUI::Rect r(0, 0, myWidth, myHeight);
// We need to decide if Stella GUI size will be pixel based
// or font based, and update the GUI code everywhere
GUI::Rect tia = getTiaBounds();
int userHeight = myOSystem->settings().getInt("debugheight");
if(userHeight < kDebuggerLines)
{
userHeight = kDebuggerLines;
myOSystem->settings().setInt("debugheight", userHeight);
}
userHeight = (userHeight + 3) * kDebuggerLineHeight - 8;
// Make sure window is always at least 'kDebuggerHeight' high
// We need this to make positioning of widget easier
if(userHeight + tia.height() < kDebuggerHeight)
userHeight = kDebuggerHeight;
GUI::Rect r(0, 0, kDebuggerWidth, userHeight + tia.height());
return r; return r;
} }

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: Debugger.hxx,v 1.87 2007-01-01 18:04:41 stephena Exp $ // $Id: Debugger.hxx,v 1.88 2007-08-10 18:27:10 stephena Exp $
//============================================================================ //============================================================================
#ifndef DEBUGGER_HXX #ifndef DEBUGGER_HXX
@ -69,7 +69,7 @@ typedef uInt16 (Debugger::*DEBUGGER_WORD_METHOD)();
for all debugging operations in Stella (parser, 6502 debugger, etc). for all debugging operations in Stella (parser, 6502 debugger, etc).
@author Stephen Anthony @author Stephen Anthony
@version $Id: Debugger.hxx,v 1.87 2007-01-01 18:04:41 stephena Exp $ @version $Id: Debugger.hxx,v 1.88 2007-08-10 18:27:10 stephena Exp $
*/ */
class Debugger : public DialogContainer class Debugger : public DialogContainer
{ {
@ -321,8 +321,6 @@ class Debugger : public DialogContainer
bool writeTrap(int t); bool writeTrap(int t);
void clearAllTraps(); void clearAllTraps();
int setHeight(int height);
void reloadROM(); void reloadROM();
/** /**
@ -350,13 +348,6 @@ class Debugger : public DialogContainer
const string invIfChanged(int reg, int oldReg); const string invIfChanged(int reg, int oldReg);
private: private:
enum {
kDebuggerWidth = 1023,
kDebuggerHeight = 700,
kDebuggerLineHeight = 15, // based on the height of the console font
kDebuggerLines = 27,
};
typedef multimap<string,string> ListFile; typedef multimap<string,string> ListFile;
typedef ListFile::const_iterator ListIter; typedef ListFile::const_iterator ListIter;
@ -386,6 +377,10 @@ class Debugger : public DialogContainer
FunctionMap functions; FunctionMap functions;
FunctionDefMap functionDefs; FunctionDefMap functionDefs;
// Dimensions of the entire debugger window
uInt32 myWidth;
uInt32 myHeight;
}; };
#endif #endif

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: DebuggerParser.cxx,v 1.96 2007-01-01 18:04:42 stephena Exp $ // $Id: DebuggerParser.cxx,v 1.97 2007-08-10 18:27:10 stephena Exp $
//============================================================================ //============================================================================
#include <fstream> #include <fstream>
@ -912,15 +912,6 @@ void DebuggerParser::executeExec()
commandResult = exec(argStrings[0]); commandResult = exec(argStrings[0]);
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// "height"
void DebuggerParser::executeHeight()
{
int height = debugger->setHeight(args[0]);
commandResult = "height set to " + debugger->valueToString(height, kBASE_10) +
"\nExit debugger and reload ROM to take effect";
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// "help" // "help"
void DebuggerParser::executeHelp() void DebuggerParser::executeHelp()
@ -1363,6 +1354,18 @@ void DebuggerParser::executeZ()
debugger->cpuDebug().setZ(args[0]); debugger->cpuDebug().setZ(args[0]);
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// "change resolution"
void DebuggerParser::executeResolution()
{
commandResult = "TODO - add functionality";
/*
int height = debugger->setHeight(args[0]);
commandResult = "height set to " + debugger->valueToString(height, kBASE_10) +
"\nExit debugger and reload ROM to take effect";
*/
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// .hxx // .hxx
@ -1556,15 +1559,6 @@ DebuggerParser::Command DebuggerParser::commands[kNumCommands] = {
&DebuggerParser::executeFunction &DebuggerParser::executeFunction
}, },
{
"height",
"Change height of debugger window",
true,
false,
{ kARG_WORD, kARG_END_ARGS },
&DebuggerParser::executeHeight
},
{ {
"help", "help",
"This cruft", "This cruft",
@ -1905,5 +1899,14 @@ DebuggerParser::Command DebuggerParser::commands[kNumCommands] = {
true, true,
{ kARG_BOOL, kARG_END_ARGS }, { kARG_BOOL, kARG_END_ARGS },
&DebuggerParser::executeZ &DebuggerParser::executeZ
},
{
"resolution",
"Change resolution of debugger window",
true,
false,
{ kARG_WORD, kARG_END_ARGS },
&DebuggerParser::executeResolution
} }
}; };

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: DebuggerParser.hxx,v 1.48 2007-01-01 18:04:42 stephena Exp $ // $Id: DebuggerParser.hxx,v 1.49 2007-08-10 18:27:11 stephena Exp $
//============================================================================ //============================================================================
#ifndef DEBUGGER_PARSER_HXX #ifndef DEBUGGER_PARSER_HXX
@ -156,7 +156,6 @@ class DebuggerParser
void executeExec(); void executeExec();
void executeFrame(); void executeFrame();
void executeFunction(); void executeFunction();
void executeHeight();
void executeHelp(); void executeHelp();
void executeList(); void executeList();
void executeListbreaks(); void executeListbreaks();
@ -194,6 +193,7 @@ class DebuggerParser
void executeX(); void executeX();
void executeY(); void executeY();
void executeZ(); void executeZ();
void executeResolution();
// List of commands available // List of commands available
static Command commands[kNumCommands]; static Command commands[kNumCommands];

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: FrameBuffer.cxx,v 1.121 2007-08-07 14:38:51 stephena Exp $ // $Id: FrameBuffer.cxx,v 1.122 2007-08-10 18:27:11 stephena Exp $
//============================================================================ //============================================================================
#include <sstream> #include <sstream>
@ -784,7 +784,12 @@ VideoMode FrameBuffer::getSavedVidMode()
} }
#ifdef DEBUGGER_SUPPORT #ifdef DEBUGGER_SUPPORT
else if(state == EventHandler::S_DEBUGGER) else if(state == EventHandler::S_DEBUGGER)
cerr << "TODO: check debugger size\n"; {
int lw, lh;
myOSystem->settings().getSize("debuggerres", lw, lh);
w = BSPF_max(w, lw);
h = BSPF_max(h, lh);
}
#endif #endif
myCurrentModeList = &myFullscreenModeList; myCurrentModeList = &myFullscreenModeList;

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: OSystem.cxx,v 1.103 2007-08-07 14:38:51 stephena Exp $ // $Id: OSystem.cxx,v 1.104 2007-08-10 18:27:11 stephena Exp $
//============================================================================ //============================================================================
#include <cassert> #include <cassert>
@ -219,6 +219,15 @@ void OSystem::setConfigPaths()
mySettings->setString("propsfile", myPropertiesFile); mySettings->setString("propsfile", myPropertiesFile);
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void OSystem::setUIPalette()
{
int palette = mySettings->getInt("uipalette") - 1;
if(palette < 0 || palette >= kNumUIPalettes) palette = 0;
myFrameBuffer->setUIPalette(&ourGUIColors[palette][0]);
myEventHandler->refreshDisplay();
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void OSystem::setBaseDir(const string& basedir) void OSystem::setBaseDir(const string& basedir)
{ {
@ -282,12 +291,7 @@ bool OSystem::createFrameBuffer(bool showmessage)
if(changeBuffer) myEventHandler->setupJoysticks(); if(changeBuffer) myEventHandler->setupJoysticks();
// Update the UI palette // Update the UI palette
// For now, we just use the standard palette setUIPalette();
// Once an interface is created for this, it will be changable
// within the emulation
int palette = mySettings->getInt("uipalette") - 1;
if(palette < 0 || palette >= kNumUIPalettes) palette = 0;
myFrameBuffer->setUIPalette(&ourGUIColors[palette][0]);
if(showmessage) if(showmessage)
{ {
@ -799,7 +803,7 @@ uInt32 OSystem::ourGUIColors[kNumUIPalettes][kNumColors-256] = {
// Normal mode // Normal mode
{ 0x686868, // kColor { 0x686868, // kColor
0x000000, // kBGColor 0x000000, // kBGColor
0x606060, // kShadowColor 0x404040, // kShadowColor
0xc8c8ff, // kHiliteColor 0xc8c8ff, // kHiliteColor
0x000000, // kTextColor 0x000000, // kTextColor
0x62a108, // kTextColorHi 0x62a108, // kTextColorHi
@ -816,9 +820,9 @@ uInt32 OSystem::ourGUIColors[kNumUIPalettes][kNumColors-256] = {
}, },
// GP2X // GP2X
{ 0x686868, 0x000000, 0x404040, 0xc8c8ff, 0x20a020, 0x0000ff, 0xc80000, { 0x686868, 0x000000, 0x404040, 0xc8c8ff, 0x20a020, 0x00ff00, 0xc80000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x20a020, 0x00ff00, 0x000000,
0x000000, 0x000000 } 0x000000, 0xc80000 }
}; };
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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: OSystem.hxx,v 1.53 2007-07-19 16:21:39 stephena Exp $ // $Id: OSystem.hxx,v 1.54 2007-08-10 18:27:11 stephena Exp $
//============================================================================ //============================================================================
#ifndef OSYSTEM_HXX #ifndef OSYSTEM_HXX
@ -51,7 +51,7 @@ typedef Common::Array<Resolution> ResolutionList;
other objects belong. other objects belong.
@author Stephen Anthony @author Stephen Anthony
@version $Id: OSystem.hxx,v 1.53 2007-07-19 16:21:39 stephena Exp $ @version $Id: OSystem.hxx,v 1.54 2007-08-10 18:27:11 stephena Exp $
*/ */
class OSystem class OSystem
{ {
@ -197,6 +197,11 @@ class OSystem
*/ */
void setConfigPaths(); void setConfigPaths();
/**
Set the user-interface palette which is specified in current settings.
*/
void setUIPalette();
/** /**
Get the current framerate for the video system. Get the current framerate for the video system.

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: Settings.cxx,v 1.121 2007-08-07 14:38:51 stephena Exp $ // $Id: Settings.cxx,v 1.122 2007-08-10 18:27:11 stephena Exp $
//============================================================================ //============================================================================
#include <cassert> #include <cassert>
@ -81,7 +81,7 @@ Settings::Settings(OSystem* osystem)
setInternal("palettefile", ""); setInternal("palettefile", "");
setInternal("propsfile", ""); setInternal("propsfile", "");
setInternal("debugheight", "0"); setInternal("debuggerres", "1030x690");
setInternal("launcherres", "400x300"); setInternal("launcherres", "400x300");
setInternal("uipalette", "0"); setInternal("uipalette", "0");
setInternal("autoslot", "false"); setInternal("autoslot", "false");
@ -317,8 +317,8 @@ void Settings::usage()
<< " The following options are meant for developers\n" << " The following options are meant for developers\n"
<< " Arguments are more fully explained in the manual\n" << " Arguments are more fully explained in the manual\n"
<< endl << endl
<< " -debuggerres <WxH> The resolution to use in debugger mode\n"
<< " -break <address> Set a breakpoint at 'address'\n" << " -break <address> Set a breakpoint at 'address'\n"
<< " -debugheight <number> Set height of debugger in lines of text (NOT pixels)\n"
<< " -debug Start in debugger mode\n" << " -debug Start in debugger mode\n"
<< " -holdreset Start the emulator with the Game Reset switch held down\n" << " -holdreset Start the emulator with the Game Reset switch held down\n"
<< " -holdselect Start the emulator with the Game Select switch held down\n" << " -holdselect Start the emulator with the Game Select switch held down\n"

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: DialogContainer.hxx,v 1.21 2007-01-01 18:04:52 stephena Exp $ // $Id: DialogContainer.hxx,v 1.22 2007-08-10 18:27:11 stephena Exp $
//============================================================================ //============================================================================
#ifndef DIALOG_CONTAINER_HXX #ifndef DIALOG_CONTAINER_HXX
@ -36,7 +36,7 @@ class OSystem;
a stack, and handles their events. a stack, and handles their events.
@author Stephen Anthony @author Stephen Anthony
@version $Id: DialogContainer.hxx,v 1.21 2007-01-01 18:04:52 stephena Exp $ @version $Id: DialogContainer.hxx,v 1.22 2007-08-10 18:27:11 stephena Exp $
*/ */
class DialogContainer class DialogContainer
{ {
@ -148,11 +148,6 @@ class DialogContainer
*/ */
const Dialog* baseDialog() const { return myBaseDialog; } const Dialog* baseDialog() const { return myBaseDialog; }
/**
(Re)initialize the menuing system. This isn't necessary in most cases.
*/
virtual void initialize() {}
private: private:
void reset(); void reset();

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: Launcher.cxx,v 1.17 2007-07-31 15:46:21 stephena Exp $ // $Id: Launcher.cxx,v 1.18 2007-08-10 18:27:11 stephena Exp $
//============================================================================ //============================================================================
#include <sstream> #include <sstream>
@ -29,8 +29,8 @@
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Launcher::Launcher(OSystem* osystem) Launcher::Launcher(OSystem* osystem)
: DialogContainer(osystem), : DialogContainer(osystem),
myWidth(320), myWidth(400),
myHeight(240) myHeight(300)
{ {
int w, h; int w, h;
myOSystem->settings().getSize("launcherres", w, h); myOSystem->settings().getSize("launcherres", w, h);

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: Launcher.hxx,v 1.10 2007-06-20 16:33:23 stephena Exp $ // $Id: Launcher.hxx,v 1.11 2007-08-10 18:27:11 stephena Exp $
//============================================================================ //============================================================================
#ifndef LAUNCHER_HXX #ifndef LAUNCHER_HXX
@ -27,7 +27,7 @@ class OSystem;
The base dialog for the ROM launcher in Stella. The base dialog for the ROM launcher in Stella.
@author Stephen Anthony @author Stephen Anthony
@version $Id: Launcher.hxx,v 1.10 2007-06-20 16:33:23 stephena Exp $ @version $Id: Launcher.hxx,v 1.11 2007-08-10 18:27:11 stephena Exp $
*/ */
class Launcher : public DialogContainer class Launcher : public DialogContainer
{ {
@ -49,7 +49,6 @@ class Launcher : public DialogContainer
private: private:
// The width and height of this dialog // The width and height of this dialog
// These can only be changed by exiting and restarting Stella
uInt32 myWidth; uInt32 myWidth;
uInt32 myHeight; uInt32 myHeight;
}; };

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: OptionsDialog.cxx,v 1.55 2007-08-07 14:38:52 stephena Exp $ // $Id: OptionsDialog.cxx,v 1.56 2007-08-10 18:27:11 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
@ -75,8 +75,8 @@ OptionsDialog::OptionsDialog(OSystem* osystem, DialogContainer* parent,
b = addBigButton("Input Settings", kInptCmd); b = addBigButton("Input Settings", kInptCmd);
wid.push_back(b); wid.push_back(b);
b = addBigButton("UI Settings", kUsrIfaceCmd); myUIButton = addBigButton("UI Settings", kUsrIfaceCmd);
wid.push_back(b); wid.push_back(myUIButton);
myFileSnapButton = addBigButton("Config Files", kFileSnapCmd); myFileSnapButton = addBigButton("Config Files", kFileSnapCmd);
wid.push_back(myFileSnapButton); wid.push_back(myFileSnapButton);
@ -114,17 +114,16 @@ OptionsDialog::OptionsDialog(OSystem* osystem, DialogContainer* parent,
myAudioDialog = new AudioDialog(myOSystem, parent, font, x, y, w, h); myAudioDialog = new AudioDialog(myOSystem, parent, font, x, y, w, h);
#ifdef _WIN32_WCE #ifdef _WIN32_WCE
int sx = myOSystem->desktopWidth();
// we scale the input dialog down a bit in low res devices. // we scale the input dialog down a bit in low res devices.
// looks only a little ugly, but the functionality is very welcome // looks only a little ugly, but the functionality is very welcome
if(sx < 320) { w = 220; h = 176; } if(myOSystem->desktopWidth() < 320) { w = 220; h = 176; }
else { w = 230; h = 185; } else { w = 230; h = 185; }
#else #else
w = 230; h = 185; w = 230; h = 185;
#endif #endif
myInputDialog = new InputDialog(myOSystem, parent, font, x, y, w, h); myInputDialog = new InputDialog(myOSystem, parent, font, x, y, w, h);
w = 200; h = 105; w = 200; h = 135;
myUIDialog = new UIDialog(myOSystem, parent, font, x, y, w, h); myUIDialog = new UIDialog(myOSystem, parent, font, x, y, w, h);
w = 280; h = 170; w = 280; h = 170;
@ -147,7 +146,7 @@ OptionsDialog::OptionsDialog(OSystem* osystem, DialogContainer* parent,
addToFocusList(wid); addToFocusList(wid);
// Certain buttons are always disabled while in game mode // Certain buttons are disabled depending on mode
if(myIsGlobal) if(myIsGlobal)
{ {
myGameInfoButton->clearFlags(WIDGET_ENABLED); myGameInfoButton->clearFlags(WIDGET_ENABLED);
@ -155,17 +154,17 @@ OptionsDialog::OptionsDialog(OSystem* osystem, DialogContainer* parent,
} }
#ifdef _WIN32_WCE #ifdef _WIN32_WCE
myAudioSettingsButton->clearFlags(WIDGET_ENABLED); // not honored in wince port myAudioSettingsButton->clearFlags(WIDGET_ENABLED); // not honored in wince port
if(sx < 320) #endif
if(myOSystem->desktopWidth() < 320)
{ {
// these cannot be displayed in low res devices // These cannot be displayed in low res devices
myVideoSettingsButton->clearFlags(WIDGET_ENABLED); myVideoSettingsButton->clearFlags(WIDGET_ENABLED);
myFileSnapButton->clearFlags(WIDGET_ENABLED); myFileSnapButton->clearFlags(WIDGET_ENABLED);
myGameInfoButton->clearFlags(WIDGET_ENABLED); myGameInfoButton->clearFlags(WIDGET_ENABLED);
myHelpButton->clearFlags(WIDGET_ENABLED); myHelpButton->clearFlags(WIDGET_ENABLED);
myAboutButton->clearFlags(WIDGET_ENABLED); myAboutButton->clearFlags(WIDGET_ENABLED);
} }
#endif
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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: OptionsDialog.hxx,v 1.24 2007-01-23 09:37:39 knakos Exp $ // $Id: OptionsDialog.hxx,v 1.25 2007-08-10 18:27:12 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
@ -63,6 +63,7 @@ class OptionsDialog : public Dialog
ButtonWidget* myVideoSettingsButton; ButtonWidget* myVideoSettingsButton;
ButtonWidget* myAudioSettingsButton; ButtonWidget* myAudioSettingsButton;
ButtonWidget* myUIButton;
ButtonWidget* myFileSnapButton; ButtonWidget* myFileSnapButton;
ButtonWidget* myGameInfoButton; ButtonWidget* myGameInfoButton;
ButtonWidget* myCheatCodeButton; ButtonWidget* myCheatCodeButton;

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: UIDialog.cxx,v 1.5 2007-07-31 15:46:21 stephena Exp $ // $Id: UIDialog.cxx,v 1.6 2007-08-10 18:27:12 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
@ -39,15 +39,15 @@ UIDialog::UIDialog(OSystem* osystem, DialogContainer* parent,
const int lineHeight = font.getLineHeight(), const int lineHeight = font.getLineHeight(),
fontHeight = font.getFontHeight(); fontHeight = font.getFontHeight();
int xpos, ypos; int xpos, ypos;
int lwidth = font.getStringWidth("Rom launcher size: "), int lwidth = font.getStringWidth("Debugger Height (*): "),
pwidth = font.getStringWidth("xxxxxxx"); pwidth = font.getStringWidth("Standard");
WidgetArray wid; WidgetArray wid;
xpos = 10; ypos = 10; xpos = 10; ypos = 10;
// Launcher width and height // Launcher width and height
myLauncherWidthSlider = new SliderWidget(this, font, xpos, ypos, pwidth, myLauncherWidthSlider = new SliderWidget(this, font, xpos, ypos, pwidth,
lineHeight, "Launcher Width: ", lineHeight, "Launcher Width (*): ",
lwidth, kLWidthChanged); lwidth, kLWidthChanged);
myLauncherWidthSlider->setMinValue(320); myLauncherWidthSlider->setMinValue(320);
myLauncherWidthSlider->setMaxValue(800); myLauncherWidthSlider->setMaxValue(800);
@ -56,12 +56,12 @@ UIDialog::UIDialog(OSystem* osystem, DialogContainer* parent,
myLauncherWidthLabel = myLauncherWidthLabel =
new StaticTextWidget(this, font, new StaticTextWidget(this, font,
xpos + myLauncherWidthSlider->getWidth() + 4, xpos + myLauncherWidthSlider->getWidth() + 4,
ypos + 1, 15, fontHeight, "", kTextAlignLeft); ypos + 1, 20, fontHeight, "", kTextAlignLeft);
myLauncherWidthLabel->setFlags(WIDGET_CLEARBG); myLauncherWidthLabel->setFlags(WIDGET_CLEARBG);
ypos += lineHeight + 4; ypos += lineHeight + 4;
myLauncherHeightSlider = new SliderWidget(this, font, xpos, ypos, pwidth, myLauncherHeightSlider = new SliderWidget(this, font, xpos, ypos, pwidth,
lineHeight, "Launcher Height: ", lineHeight, "Launcher Height (*): ",
lwidth, kLHeightChanged); lwidth, kLHeightChanged);
myLauncherHeightSlider->setMinValue(240); myLauncherHeightSlider->setMinValue(240);
myLauncherHeightSlider->setMaxValue(600); myLauncherHeightSlider->setMaxValue(600);
@ -70,22 +70,51 @@ UIDialog::UIDialog(OSystem* osystem, DialogContainer* parent,
myLauncherHeightLabel = myLauncherHeightLabel =
new StaticTextWidget(this, font, new StaticTextWidget(this, font,
xpos + myLauncherHeightSlider->getWidth() + 4, xpos + myLauncherHeightSlider->getWidth() + 4,
ypos + 1, 15, fontHeight, "", kTextAlignLeft); ypos + 1, 20, fontHeight, "", kTextAlignLeft);
myLauncherHeightLabel->setFlags(WIDGET_CLEARBG); myLauncherHeightLabel->setFlags(WIDGET_CLEARBG);
ypos += lineHeight + 4; ypos += lineHeight + 4;
// Debugger width and height
myDebuggerWidthSlider = new SliderWidget(this, font, xpos, ypos, pwidth,
lineHeight, "Debugger Width (*): ",
lwidth, kDWidthChanged);
myDebuggerWidthSlider->setMinValue(1030);
myDebuggerWidthSlider->setMaxValue(1600);
myDebuggerWidthSlider->setStepValue(10);
wid.push_back(myDebuggerWidthSlider);
myDebuggerWidthLabel =
new StaticTextWidget(this, font,
xpos + myDebuggerWidthSlider->getWidth() + 4,
ypos + 1, 20, fontHeight, "", kTextAlignLeft);
myDebuggerWidthLabel->setFlags(WIDGET_CLEARBG);
ypos += lineHeight + 4;
myDebuggerHeightSlider = new SliderWidget(this, font, xpos, ypos, pwidth,
lineHeight, "Debugger Height (*): ",
lwidth, kDHeightChanged);
myDebuggerHeightSlider->setMinValue(690);
myDebuggerHeightSlider->setMaxValue(1200);
myDebuggerHeightSlider->setStepValue(10);
wid.push_back(myDebuggerHeightSlider);
myDebuggerHeightLabel =
new StaticTextWidget(this, font,
xpos + myDebuggerHeightSlider->getWidth() + 4,
ypos + 1, 20, fontHeight, "", kTextAlignLeft);
myDebuggerHeightLabel->setFlags(WIDGET_CLEARBG);
ypos += lineHeight + 4;
// UI Palette // UI Palette
myPalettePopup = new PopUpWidget(this, font, xpos, ypos, pwidth, lineHeight, myPalettePopup = new PopUpWidget(this, font, xpos, ypos, pwidth, lineHeight,
"Interface Palette: ", lwidth); "Interface Palette: ", lwidth);
myPalettePopup->appendEntry("Classic", 1); myPalettePopup->appendEntry("Standard", 1);
myPalettePopup->appendEntry("GP2X", 2); myPalettePopup->appendEntry("Classic", 2);
wid.push_back(myPalettePopup); wid.push_back(myPalettePopup);
ypos += lineHeight + 4; ypos += lineHeight + 4;
// Add message concerning usage // Add message concerning usage
lwidth = font.getStringWidth("(*) Changes require application restart"); lwidth = font.getStringWidth("(*) Requires application restart");
new StaticTextWidget(this, font, 10, _h - 38, lwidth, fontHeight, new StaticTextWidget(this, font, 10, _h - 38, lwidth, fontHeight,
"(*) Changes require application restart", "(*) Requires application restart",
kTextAlignLeft); kTextAlignLeft);
// Add Defaults, OK and Cancel buttons // Add Defaults, OK and Cancel buttons
@ -110,6 +139,13 @@ UIDialog::UIDialog(OSystem* osystem, DialogContainer* parent,
addToFocusList(wid); addToFocusList(wid);
#ifndef DEBUGGER_SUPPORT
myDebuggerWidthSlider->clearFlags(WIDGET_ENABLED);
myDebuggerWidthLabel->clearFlags(WIDGET_ENABLED);
myDebuggerHeightSlider->clearFlags(WIDGET_ENABLED);
myDebuggerHeightLabel->clearFlags(WIDGET_ENABLED);
#endif
#ifdef _WIN32_WCE #ifdef _WIN32_WCE
myLauncherPopup->clearFlags(WIDGET_ENABLED); myLauncherPopup->clearFlags(WIDGET_ENABLED);
#endif #endif
@ -123,8 +159,9 @@ UIDialog::~UIDialog()
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void UIDialog::loadConfig() void UIDialog::loadConfig()
{ {
// Launcher size
int w, h; int w, h;
// Launcher size
instance()->settings().getSize("launcherres", w, h); instance()->settings().getSize("launcherres", w, h);
if(w < 320) w = 320; if(w < 320) w = 320;
if(w > 800) w = 800; if(w > 800) w = 800;
@ -136,6 +173,18 @@ void UIDialog::loadConfig()
myLauncherHeightSlider->setValue(h); myLauncherHeightSlider->setValue(h);
myLauncherHeightLabel->setValue(h); myLauncherHeightLabel->setValue(h);
// Debugger size
instance()->settings().getSize("debuggerres", w, h);
if(w < 1030) w = 1030;
if(w > 1600) w = 1600;
if(h < 690) h = 690;
if(h > 1200) h = 1200;
myDebuggerWidthSlider->setValue(w);
myDebuggerWidthLabel->setValue(w);
myDebuggerHeightSlider->setValue(h);
myDebuggerHeightLabel->setValue(h);
// UI palette // UI palette
int i = instance()->settings().getInt("uipalette"); int i = instance()->settings().getInt("uipalette");
if(i < 1 || i > 2) if(i < 1 || i > 2)
@ -150,6 +199,10 @@ void UIDialog::saveConfig()
instance()->settings().setSize("launcherres", instance()->settings().setSize("launcherres",
myLauncherWidthSlider->getValue(), myLauncherHeightSlider->getValue()); myLauncherWidthSlider->getValue(), myLauncherHeightSlider->getValue());
// Debugger size
instance()->settings().setSize("debuggerres",
myDebuggerWidthSlider->getValue(), myDebuggerHeightSlider->getValue());
// UI palette // UI palette
instance()->settings().setInt("uipalette", instance()->settings().setInt("uipalette",
myPalettePopup->getSelectedTag()); myPalettePopup->getSelectedTag());
@ -165,11 +218,12 @@ void UIDialog::setDefaults()
myLauncherHeightSlider->setValue(h); myLauncherHeightSlider->setValue(h);
myLauncherHeightLabel->setValue(h); myLauncherHeightLabel->setValue(h);
#if !defined (GP2X) myDebuggerWidthSlider->setValue(1030);
myDebuggerWidthLabel->setValue(1030);
myDebuggerHeightSlider->setValue(690);
myDebuggerHeightLabel->setValue(690);
myPalettePopup->setSelectedTag(1); myPalettePopup->setSelectedTag(1);
#else
myPalettePopup->setSelectedTag(2);
#endif
_dirty = true; _dirty = true;
} }
@ -187,9 +241,18 @@ void UIDialog::handleCommand(CommandSender* sender, int cmd, int data, int id)
myLauncherHeightLabel->setValue(myLauncherHeightSlider->getValue()); myLauncherHeightLabel->setValue(myLauncherHeightSlider->getValue());
break; break;
case kDWidthChanged:
myDebuggerWidthLabel->setValue(myDebuggerWidthSlider->getValue());
break;
case kDHeightChanged:
myDebuggerHeightLabel->setValue(myDebuggerHeightSlider->getValue());
break;
case kOKCmd: case kOKCmd:
saveConfig(); saveConfig();
close(); close();
instance()->setUIPalette();
break; break;
case kDefaultsCmd: case kDefaultsCmd:

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: UIDialog.hxx,v 1.3 2007-06-20 16:33:23 stephena Exp $ // $Id: UIDialog.hxx,v 1.4 2007-08-10 18:27:12 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,11 @@ class UIDialog : public Dialog
SliderWidget* myLauncherHeightSlider; SliderWidget* myLauncherHeightSlider;
StaticTextWidget* myLauncherHeightLabel; StaticTextWidget* myLauncherHeightLabel;
SliderWidget* myDebuggerWidthSlider;
StaticTextWidget* myDebuggerWidthLabel;
SliderWidget* myDebuggerHeightSlider;
StaticTextWidget* myDebuggerHeightLabel;
PopUpWidget* myPalettePopup; PopUpWidget* myPalettePopup;
private: private:
@ -57,6 +62,8 @@ class UIDialog : public Dialog
enum { enum {
kLWidthChanged = 'UIlw', kLWidthChanged = 'UIlw',
kLHeightChanged = 'UIlh', kLHeightChanged = 'UIlh',
kDWidthChanged = 'UIdw',
kDHeightChanged = 'UIdh'
}; };
}; };

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: Widget.cxx,v 1.52 2007-08-07 14:38:52 stephena Exp $ // $Id: Widget.cxx,v 1.53 2007-08-10 18:27:12 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
@ -76,21 +76,18 @@ void Widget::draw()
if(!isVisible() || !_boss->isVisible()) if(!isVisible() || !_boss->isVisible())
return; return;
bool hasBorder = _flags & WIDGET_BORDER;
int oldX = _x, oldY = _y, oldW = _w, oldH = _h; int oldX = _x, oldY = _y, oldW = _w, oldH = _h;
// Account for our relative position in the dialog // Account for our relative position in the dialog
_x = getAbsX(); _x = getAbsX();
_y = getAbsY(); _y = getAbsY();
// fb.fillRect(_x+1, _y+1, _w-2, _h-2,
// Clear background (unless alpha blending is enabled) // Clear background (unless alpha blending is enabled)
if(_flags & WIDGET_CLEARBG) if(_flags & WIDGET_CLEARBG)
{ {
int x = _x, y = _y, w = _w, h = _h; int x = _x, y = _y, w = _w, h = _h;
if(_flags & WIDGET_BORDER) if(hasBorder)
{ {
x++; y++; w-=2; h-=2; x++; y++; w-=2; h-=2;
} }
@ -98,12 +95,8 @@ void Widget::draw()
} }
// Draw border // Draw border
if(_flags & WIDGET_BORDER) { if(hasBorder) {
int colorA = kColor; fb.box(_x, _y, _w, _h, kColor, kShadowColor);
int colorB = kShadowColor;
if((_flags & WIDGET_INV_BORDER) == WIDGET_INV_BORDER)
BSPF_swap(colorA, colorB);
fb.box(_x, _y, _w, _h, colorA, colorB);
_x += 4; _x += 4;
_y += 4; _y += 4;
_w -= 8; _w -= 8;
@ -114,7 +107,7 @@ void Widget::draw()
drawWidget((_flags & WIDGET_HILITED) ? true : false); drawWidget((_flags & WIDGET_HILITED) ? true : false);
// Restore x/y // Restore x/y
if (_flags & WIDGET_BORDER) { if (hasBorder) {
_x -= 4; _x -= 4;
_y -= 4; _y -= 4;
_w += 8; _w += 8;
@ -358,8 +351,7 @@ ButtonWidget::ButtonWidget(GuiObject *boss, const GUI::Font& font,
const string& label, int cmd) const string& label, int cmd)
: StaticTextWidget(boss, font, x, y, w, h, label, kTextAlignCenter), : StaticTextWidget(boss, font, x, y, w, h, label, kTextAlignCenter),
CommandSender(boss), CommandSender(boss),
_cmd(cmd), _cmd(cmd)
_editable(false)
{ {
_flags = WIDGET_ENABLED | WIDGET_BORDER | WIDGET_CLEARBG; _flags = WIDGET_ENABLED | WIDGET_BORDER | WIDGET_CLEARBG;
_type = kButtonWidget; _type = kButtonWidget;
@ -367,6 +359,8 @@ ButtonWidget::ButtonWidget(GuiObject *boss, const GUI::Font& font,
_bgcolorhi = kBtnColorHi; _bgcolorhi = kBtnColorHi;
_textcolor = kBtnFntColor; _textcolor = kBtnFntColor;
_textcolorhi = kBtnFntColorHi; _textcolorhi = kBtnFntColorHi;
_editable = false;
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -420,7 +414,7 @@ void ButtonWidget::drawWidget(bool hilite)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/* 8x8 checkbox bitmap */ /* 8x8 checkbox bitmap */
static unsigned int checked_img[8] = static unsigned int checked_img_x[8] =
{ {
0x00000000, 0x00000000,
0x01000010, 0x01000010,
@ -432,14 +426,26 @@ static unsigned int checked_img[8] =
0x00000000, 0x00000000,
}; };
static unsigned int checked_img_o[8] =
{
0x00000000,
0x01000010,
0x00100100,
0x00011000,
0x00011000,
0x00000000,
0x00000000,
0x00000000,
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CheckboxWidget::CheckboxWidget(GuiObject *boss, const GUI::Font& font, CheckboxWidget::CheckboxWidget(GuiObject *boss, const GUI::Font& font,
int x, int y, const string& label, int x, int y, const string& label,
int cmd) int cmd)
: ButtonWidget(boss, font, x, y, 16, 16, label, cmd), : ButtonWidget(boss, font, x, y, 16, 16, label, cmd),
_state(false), _state(false),
_editable(true),
_holdFocus(true), _holdFocus(true),
_fillRect(false),
_drawBox(true), _drawBox(true),
_fillColor(kColor), _fillColor(kColor),
_boxY(0), _boxY(0),
@ -452,6 +458,8 @@ CheckboxWidget::CheckboxWidget(GuiObject *boss, const GUI::Font& font,
_textcolor = kBtnFntColor; _textcolor = kBtnFntColor;
_textcolorhi = kBtnFntColorHi; _textcolorhi = kBtnFntColorHi;
_editable = true;
if(label == "") if(label == "")
_w = 14; _w = 14;
else else
@ -506,11 +514,26 @@ void CheckboxWidget::drawWidget(bool hilite)
fb.box(_x, _y + _boxY, 14, 14, kColor, kShadowColor); fb.box(_x, _y + _boxY, 14, 14, kColor, kShadowColor);
// Do we draw a square or cross? // Do we draw a square or cross?
fb.fillRect(_x + 2, _y + _boxY + 2, 10, 10, _bgcolor);
if(isEnabled())
{
if(_state)
{
unsigned int* img = _fillRect ? checked_img_o : checked_img_x;
fb.drawBitmap(img, _x + 3, _y + _boxY + 3, kBtnColor);
}
}
else
fb.fillRect(_x + 2, _y + _boxY + 2, 10, 10, kColor);
/*
int checked = !isEnabled() ? kColor : _state ? _bgcolorhi : _bgcolor; int checked = !isEnabled() ? kColor : _state ? _bgcolorhi : _bgcolor;
fb.fillRect(_x + 2, _y + _boxY + 2, 10, 10, checked); fb.fillRect(_x + 2, _y + _boxY + 2, 10, 10, checked);
if(!_fillRect && isEnabled() && _state) // draw a cross if(!_fillRect && isEnabled() && _state) // draw a cross
fb.drawBitmap(checked_img, _x + 3, _y + _boxY + 3, _textcolor); fb.drawBitmap(checked_img, _x + 3, _y + _boxY + 3, _textcolor);
*/
// Finally draw the label // Finally draw the label
fb.drawString(_font, _label, _x + 20, _y + _textY, _w, fb.drawString(_font, _label, _x + 20, _y + _textY, _w,

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: Widget.hxx,v 1.55 2007-08-06 20:16:51 stephena Exp $ // $Id: Widget.hxx,v 1.56 2007-08-10 18:27:12 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
@ -88,7 +88,7 @@ enum {
This is the base class for all widgets. This is the base class for all widgets.
@author Stephen Anthony @author Stephen Anthony
@version $Id: Widget.hxx,v 1.55 2007-08-06 20:16:51 stephena Exp $ @version $Id: Widget.hxx,v 1.56 2007-08-10 18:27:12 stephena Exp $
*/ */
class Widget : public GuiObject class Widget : public GuiObject
{ {
@ -238,7 +238,6 @@ class ButtonWidget : public StaticTextWidget, public CommandSender
protected: protected:
int _cmd; int _cmd;
bool _editable;
}; };
@ -268,7 +267,6 @@ class CheckboxWidget : public ButtonWidget
protected: protected:
bool _state; bool _state;
bool _editable;
bool _holdFocus; bool _holdFocus;
bool _fillRect; bool _fillRect;
bool _drawBox; bool _drawBox;