2005-05-16 00:02:32 +00:00
|
|
|
//============================================================================
|
|
|
|
//
|
2016-12-30 00:00:30 +00:00
|
|
|
// SSSS tt lll lll
|
|
|
|
// SS SS tt ll ll
|
|
|
|
// SS tttttt eeee ll ll aaaa
|
2005-05-16 00:02:32 +00:00
|
|
|
// SSSS tt ee ee ll ll aa
|
|
|
|
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
|
|
|
// SS SS tt ee ll ll aa aa
|
|
|
|
// SSSS ttt eeeee llll llll aaaaa
|
|
|
|
//
|
2017-12-29 20:40:37 +00:00
|
|
|
// Copyright (c) 1995-2018 by Bradford W. Mott, Stephen Anthony
|
2010-04-10 21:37:23 +00:00
|
|
|
// and the Stella Team
|
2005-05-16 00:02:32 +00:00
|
|
|
//
|
2010-01-10 03:23:32 +00:00
|
|
|
// See the file "License.txt" for information on usage and redistribution of
|
2005-05-16 00:02:32 +00:00
|
|
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
|
|
//============================================================================
|
|
|
|
|
|
|
|
#include "Dialog.hxx"
|
2007-09-03 18:37:24 +00:00
|
|
|
#include "OSystem.hxx"
|
2005-05-16 00:02:32 +00:00
|
|
|
#include "Version.hxx"
|
2007-09-03 18:37:24 +00:00
|
|
|
#include "Widget.hxx"
|
2017-11-17 17:00:17 +00:00
|
|
|
#include "Font.hxx"
|
2005-05-16 00:02:32 +00:00
|
|
|
#include "AboutDialog.hxx"
|
|
|
|
|
|
|
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
2014-10-26 17:45:42 +00:00
|
|
|
AboutDialog::AboutDialog(OSystem& osystem, DialogContainer& parent,
|
2009-01-04 22:27:44 +00:00
|
|
|
const GUI::Font& font)
|
2014-11-09 04:01:31 +00:00
|
|
|
: Dialog(osystem, parent),
|
2008-12-25 23:05:16 +00:00
|
|
|
myPage(1),
|
2011-12-31 21:56:36 +00:00
|
|
|
myNumPages(4),
|
2017-12-09 11:08:31 +00:00
|
|
|
myLinesPerPage(13)
|
2005-05-16 00:02:32 +00:00
|
|
|
{
|
2008-12-25 23:05:16 +00:00
|
|
|
const int lineHeight = font.getLineHeight(),
|
2009-01-04 22:27:44 +00:00
|
|
|
fontWidth = font.getMaxCharWidth(),
|
2008-12-25 23:05:16 +00:00
|
|
|
fontHeight = font.getFontHeight(),
|
|
|
|
buttonWidth = font.getStringWidth("Defaults") + 20,
|
|
|
|
buttonHeight = font.getLineHeight() + 4;
|
|
|
|
int xpos, ypos;
|
Huge GUI-related changes. The GUI in launcher/options/command modes
is now fully navigable via the keyboard be means of 'tab-like'
functionality. This means that eventually systems without a keyboard
will also be able to navigate the interface without resorting to the
buggy joymouse code (which is soon to be removed).
Laid the infrastructure for remapping GUI events, whereby (for example)
a widget checks for Event::UISelect for 'doing its thing', vs. looking
at the Enter/Return key. So widgets now respond to events, and events
can (eventually) be remapped to *any* device.
Currently, these UI events are as follows:
UIUp, UIDown, UILeft, UIRight, UIHome, UIEnd, UIPgUp, UIPgDown,
UIPrevDir, UINavNext, UINavPrev, UITabNext, UITabPrev, UISelect
At present, they're hardcoded to key events only, so pressing 'Return'
will send a UISelect, cursor up a UIUp, etc. When the remapping code
is complete, *any* input will be able to send these events, and that
remapping will be distinct from emulation mode. So, for example,
cursor up in GUI mode might generate a UIUp event, but in emulation
mode might generate a left joystick up event.
Modified 'tab' key while in emulation mode to only enter the options
menu. Once inside the menu, the tab key acts as navigation between
elements, and exiting the options menu requires navigating to the
'Exit menu' button.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-05-04 17:45:25 +00:00
|
|
|
WidgetArray wid;
|
|
|
|
|
2009-01-04 22:27:44 +00:00
|
|
|
// Set real dimensions
|
2014-02-15 21:37:29 +00:00
|
|
|
_w = 55 * fontWidth + 8;
|
2017-12-09 11:08:31 +00:00
|
|
|
_h = 15 * lineHeight + 20;
|
2009-01-04 22:27:44 +00:00
|
|
|
|
2005-05-16 00:02:32 +00:00
|
|
|
// Add Previous, Next and Close buttons
|
2008-12-25 23:05:16 +00:00
|
|
|
xpos = 10; ypos = _h - buttonHeight - 10;
|
|
|
|
myPrevButton =
|
|
|
|
new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
2017-10-04 21:03:24 +00:00
|
|
|
"Previous", GuiObject::kPrevCmd);
|
2005-05-16 00:02:32 +00:00
|
|
|
myPrevButton->clearFlags(WIDGET_ENABLED);
|
Huge GUI-related changes. The GUI in launcher/options/command modes
is now fully navigable via the keyboard be means of 'tab-like'
functionality. This means that eventually systems without a keyboard
will also be able to navigate the interface without resorting to the
buggy joymouse code (which is soon to be removed).
Laid the infrastructure for remapping GUI events, whereby (for example)
a widget checks for Event::UISelect for 'doing its thing', vs. looking
at the Enter/Return key. So widgets now respond to events, and events
can (eventually) be remapped to *any* device.
Currently, these UI events are as follows:
UIUp, UIDown, UILeft, UIRight, UIHome, UIEnd, UIPgUp, UIPgDown,
UIPrevDir, UINavNext, UINavPrev, UITabNext, UITabPrev, UISelect
At present, they're hardcoded to key events only, so pressing 'Return'
will send a UISelect, cursor up a UIUp, etc. When the remapping code
is complete, *any* input will be able to send these events, and that
remapping will be distinct from emulation mode. So, for example,
cursor up in GUI mode might generate a UIUp event, but in emulation
mode might generate a left joystick up event.
Modified 'tab' key while in emulation mode to only enter the options
menu. Once inside the menu, the tab key acts as navigation between
elements, and exiting the options menu requires navigating to the
'Exit menu' button.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-05-04 17:45:25 +00:00
|
|
|
wid.push_back(myPrevButton);
|
|
|
|
|
2018-01-23 10:08:17 +00:00
|
|
|
xpos += buttonWidth + 8;
|
2008-12-25 23:05:16 +00:00
|
|
|
myNextButton =
|
|
|
|
new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
2017-10-04 21:03:24 +00:00
|
|
|
"Next", GuiObject::kNextCmd);
|
Huge GUI-related changes. The GUI in launcher/options/command modes
is now fully navigable via the keyboard be means of 'tab-like'
functionality. This means that eventually systems without a keyboard
will also be able to navigate the interface without resorting to the
buggy joymouse code (which is soon to be removed).
Laid the infrastructure for remapping GUI events, whereby (for example)
a widget checks for Event::UISelect for 'doing its thing', vs. looking
at the Enter/Return key. So widgets now respond to events, and events
can (eventually) be remapped to *any* device.
Currently, these UI events are as follows:
UIUp, UIDown, UILeft, UIRight, UIHome, UIEnd, UIPgUp, UIPgDown,
UIPrevDir, UINavNext, UINavPrev, UITabNext, UITabPrev, UISelect
At present, they're hardcoded to key events only, so pressing 'Return'
will send a UISelect, cursor up a UIUp, etc. When the remapping code
is complete, *any* input will be able to send these events, and that
remapping will be distinct from emulation mode. So, for example,
cursor up in GUI mode might generate a UIUp event, but in emulation
mode might generate a left joystick up event.
Modified 'tab' key while in emulation mode to only enter the options
menu. Once inside the menu, the tab key acts as navigation between
elements, and exiting the options menu requires navigating to the
'Exit menu' button.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-05-04 17:45:25 +00:00
|
|
|
wid.push_back(myNextButton);
|
|
|
|
|
2008-12-25 23:05:16 +00:00
|
|
|
xpos = _w - buttonWidth - 10;
|
|
|
|
ButtonWidget* b =
|
|
|
|
new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
2017-10-04 21:03:24 +00:00
|
|
|
"Close", GuiObject::kCloseCmd);
|
Huge GUI-related changes. The GUI in launcher/options/command modes
is now fully navigable via the keyboard be means of 'tab-like'
functionality. This means that eventually systems without a keyboard
will also be able to navigate the interface without resorting to the
buggy joymouse code (which is soon to be removed).
Laid the infrastructure for remapping GUI events, whereby (for example)
a widget checks for Event::UISelect for 'doing its thing', vs. looking
at the Enter/Return key. So widgets now respond to events, and events
can (eventually) be remapped to *any* device.
Currently, these UI events are as follows:
UIUp, UIDown, UILeft, UIRight, UIHome, UIEnd, UIPgUp, UIPgDown,
UIPrevDir, UINavNext, UINavPrev, UITabNext, UITabPrev, UISelect
At present, they're hardcoded to key events only, so pressing 'Return'
will send a UISelect, cursor up a UIUp, etc. When the remapping code
is complete, *any* input will be able to send these events, and that
remapping will be distinct from emulation mode. So, for example,
cursor up in GUI mode might generate a UIUp event, but in emulation
mode might generate a left joystick up event.
Modified 'tab' key while in emulation mode to only enter the options
menu. Once inside the menu, the tab key acts as navigation between
elements, and exiting the options menu requires navigating to the
'Exit menu' button.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-05-04 17:45:25 +00:00
|
|
|
wid.push_back(b);
|
2006-11-29 18:22:56 +00:00
|
|
|
addOKWidget(b); addCancelWidget(b);
|
2005-05-16 00:02:32 +00:00
|
|
|
|
2008-12-25 23:05:16 +00:00
|
|
|
xpos = 5; ypos = 5;
|
|
|
|
myTitle = new StaticTextWidget(this, font, xpos, ypos, _w - 10, fontHeight,
|
2017-12-15 00:59:45 +00:00
|
|
|
"", TextAlign::Center);
|
2007-08-15 17:43:51 +00:00
|
|
|
myTitle->setTextColor(kTextColorEm);
|
2005-05-16 00:02:32 +00:00
|
|
|
|
2008-12-25 23:05:16 +00:00
|
|
|
xpos = 10; ypos += lineHeight + 4;
|
2011-12-31 21:56:36 +00:00
|
|
|
for(int i = 0; i < myLinesPerPage; i++)
|
2005-05-16 00:02:32 +00:00
|
|
|
{
|
2011-12-31 21:56:36 +00:00
|
|
|
myDesc.push_back(new StaticTextWidget(this, font, xpos, ypos, _w - 20,
|
2017-12-15 00:59:45 +00:00
|
|
|
fontHeight, "", TextAlign::Left));
|
2011-12-31 21:56:36 +00:00
|
|
|
myDescStr.push_back("");
|
2008-12-25 23:05:16 +00:00
|
|
|
ypos += fontHeight;
|
2005-05-16 00:02:32 +00:00
|
|
|
}
|
Huge GUI-related changes. The GUI in launcher/options/command modes
is now fully navigable via the keyboard be means of 'tab-like'
functionality. This means that eventually systems without a keyboard
will also be able to navigate the interface without resorting to the
buggy joymouse code (which is soon to be removed).
Laid the infrastructure for remapping GUI events, whereby (for example)
a widget checks for Event::UISelect for 'doing its thing', vs. looking
at the Enter/Return key. So widgets now respond to events, and events
can (eventually) be remapped to *any* device.
Currently, these UI events are as follows:
UIUp, UIDown, UILeft, UIRight, UIHome, UIEnd, UIPgUp, UIPgDown,
UIPrevDir, UINavNext, UINavPrev, UITabNext, UITabPrev, UISelect
At present, they're hardcoded to key events only, so pressing 'Return'
will send a UISelect, cursor up a UIUp, etc. When the remapping code
is complete, *any* input will be able to send these events, and that
remapping will be distinct from emulation mode. So, for example,
cursor up in GUI mode might generate a UIUp event, but in emulation
mode might generate a left joystick up event.
Modified 'tab' key while in emulation mode to only enter the options
menu. Once inside the menu, the tab key acts as navigation between
elements, and exiting the options menu requires navigating to the
'Exit menu' button.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-05-04 17:45:25 +00:00
|
|
|
|
|
|
|
addToFocusList(wid);
|
2005-05-16 00:02:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// The following commands can be put at the start of a line (all subject to change):
|
|
|
|
// \C, \L, \R -- set center/left/right alignment
|
|
|
|
// \c0 - \c5 -- set a custom color:
|
|
|
|
// 0 normal text (green)
|
|
|
|
// 1 highlighted text (light green)
|
|
|
|
// 2 light border (light gray)
|
|
|
|
// 3 dark border (dark gray)
|
|
|
|
// 4 background (black)
|
|
|
|
// 5 emphasized text (red)
|
|
|
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
2009-06-04 13:52:10 +00:00
|
|
|
void AboutDialog::updateStrings(int page, int lines, string& title)
|
2005-05-16 00:02:32 +00:00
|
|
|
{
|
|
|
|
int i = 0;
|
2014-11-10 23:35:24 +00:00
|
|
|
auto ADD_ATEXT = [&](const string& d) { myDescStr[i] = d; i++; };
|
|
|
|
auto ADD_ALINE = [&]() { ADD_ATEXT(""); };
|
|
|
|
|
2005-05-16 00:02:32 +00:00
|
|
|
switch(page)
|
|
|
|
{
|
|
|
|
case 1:
|
|
|
|
title = string("Stella ") + STELLA_VERSION;
|
|
|
|
ADD_ATEXT("\\CA multi-platform Atari 2600 VCS emulator");
|
2010-02-15 19:54:15 +00:00
|
|
|
ADD_ATEXT(string("\\C\\c2Features: ") + instance().features());
|
2009-10-25 22:34:40 +00:00
|
|
|
ADD_ATEXT(string("\\C\\c2") + instance().buildInfo());
|
2014-11-10 23:35:24 +00:00
|
|
|
ADD_ALINE();
|
2017-12-29 20:40:37 +00:00
|
|
|
ADD_ATEXT("\\CCopyright (C) 1995-2018 The Stella Team");
|
2016-12-31 20:49:29 +00:00
|
|
|
ADD_ATEXT("\\C(https://stella-emu.github.io)");
|
2014-11-10 23:35:24 +00:00
|
|
|
ADD_ALINE();
|
2011-12-31 21:56:36 +00:00
|
|
|
ADD_ATEXT("\\CStella is now DonationWare!");
|
2016-12-31 20:49:29 +00:00
|
|
|
ADD_ATEXT("\\C(https://stella-emu.github.io/donations.html)");
|
2014-11-10 23:35:24 +00:00
|
|
|
ADD_ALINE();
|
2017-12-09 11:08:31 +00:00
|
|
|
ADD_ATEXT("\\CStella is free software released under the GNU GPL.");
|
|
|
|
ADD_ATEXT("\\CSee manual for further details.");
|
2005-05-16 00:02:32 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2010-01-10 03:23:32 +00:00
|
|
|
title = "The Stella Team";
|
2005-05-16 00:02:32 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" Stephen Anthony");
|
2017-12-09 11:08:31 +00:00
|
|
|
ADD_ATEXT("\\L\\c2"" Lead developer, current maintainer for the");
|
|
|
|
ADD_ATEXT("\\L\\c2"" Linux/OSX and Windows ports ");
|
|
|
|
ADD_ATEXT("\\L\\c0"" Christian Speckner");
|
|
|
|
ADD_ATEXT("\\L\\c2"" Emulation core development, TIA core");
|
2011-12-31 21:56:36 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" Eckhard Stolberg");
|
|
|
|
ADD_ATEXT("\\L\\c2"" Emulation core development");
|
2017-12-09 11:08:31 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" Thomas Jentzsch");
|
|
|
|
ADD_ATEXT("\\L\\c2"" Emulation core development, jack-of-all-trades");
|
2005-05-16 00:02:32 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" Brian Watson");
|
|
|
|
ADD_ATEXT("\\L\\c2"" Emulation core enhancement, debugger support");
|
2017-12-09 11:08:31 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" Bradford W. Mott");
|
|
|
|
ADD_ATEXT("\\L\\c2"" Original author of Stella");
|
2005-05-16 00:02:32 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2009-06-04 13:52:10 +00:00
|
|
|
title = "Contributors";
|
2016-12-31 20:49:29 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" See https://stella-emu.github.io/credits.html for");
|
2017-12-09 11:08:31 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" people that have contributed to Stella.");
|
2014-11-10 23:35:24 +00:00
|
|
|
ADD_ALINE();
|
2017-12-09 11:08:31 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" Thanks to the ScummVM project for the GUI code.");
|
2014-11-10 23:35:24 +00:00
|
|
|
ADD_ALINE();
|
2009-06-04 13:52:10 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" Thanks to Ian Bogost and the Georgia Tech");
|
2017-12-09 11:08:31 +00:00
|
|
|
ADD_ATEXT("\\L\\c0"" Atari Team for the CRT Simulation effects.");
|
2005-05-16 00:02:32 +00:00
|
|
|
break;
|
|
|
|
|
2011-12-31 21:56:36 +00:00
|
|
|
case 4:
|
2005-05-16 00:02:32 +00:00
|
|
|
title = "Cast of thousands";
|
|
|
|
ADD_ATEXT("\\L\\c0""Special thanks to AtariAge for introducing the");
|
2017-12-09 11:08:31 +00:00
|
|
|
ADD_ATEXT("\\L\\c0""Atari 2600 to a whole new generation.");
|
2005-05-16 00:02:32 +00:00
|
|
|
ADD_ATEXT("\\L\\c2"" http://www.atariage.com");
|
2014-11-10 23:35:24 +00:00
|
|
|
ADD_ALINE();
|
2005-05-16 00:02:32 +00:00
|
|
|
ADD_ATEXT("\\L\\c0""Finally, a huge thanks to the original Atari 2600");
|
|
|
|
ADD_ATEXT("\\L\\c0""VCS team for giving us the magic, and to the");
|
2017-12-09 11:08:31 +00:00
|
|
|
ADD_ATEXT("\\L\\c0""homebrew developers for keeping the magic alive.");
|
2005-05-16 00:02:32 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
while(i < lines)
|
2014-11-10 23:35:24 +00:00
|
|
|
ADD_ALINE();
|
2005-05-16 00:02:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
void AboutDialog::displayInfo()
|
|
|
|
{
|
2009-06-04 13:52:10 +00:00
|
|
|
string titleStr;
|
2011-12-31 21:56:36 +00:00
|
|
|
updateStrings(myPage, myLinesPerPage, titleStr);
|
2005-05-16 00:02:32 +00:00
|
|
|
|
|
|
|
myTitle->setLabel(titleStr);
|
2011-12-31 21:56:36 +00:00
|
|
|
for(int i = 0; i < myLinesPerPage; i++)
|
2005-05-16 00:02:32 +00:00
|
|
|
{
|
2009-06-04 13:52:10 +00:00
|
|
|
const char* str = myDescStr[i].c_str();
|
2017-12-15 00:59:45 +00:00
|
|
|
TextAlign align = TextAlign::Center;
|
2009-01-03 22:57:12 +00:00
|
|
|
uInt32 color = kTextColor;
|
2005-05-16 00:02:32 +00:00
|
|
|
|
|
|
|
while (str[0] == '\\')
|
|
|
|
{
|
|
|
|
switch (str[1])
|
|
|
|
{
|
|
|
|
case 'C':
|
2017-12-15 00:59:45 +00:00
|
|
|
align = TextAlign::Center;
|
2005-05-16 00:02:32 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 'L':
|
2017-12-15 00:59:45 +00:00
|
|
|
align = TextAlign::Left;
|
2005-05-16 00:02:32 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 'R':
|
2017-12-15 00:59:45 +00:00
|
|
|
align = TextAlign::Right;
|
2005-05-16 00:02:32 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 'c':
|
|
|
|
switch (str[2])
|
|
|
|
{
|
|
|
|
case '0':
|
|
|
|
color = kTextColor;
|
|
|
|
break;
|
|
|
|
case '1':
|
|
|
|
color = kTextColorHi;
|
|
|
|
break;
|
|
|
|
case '2':
|
|
|
|
color = kColor;
|
|
|
|
break;
|
|
|
|
case '3':
|
|
|
|
color = kShadowColor;
|
|
|
|
break;
|
|
|
|
case '4':
|
|
|
|
color = kBGColor;
|
|
|
|
break;
|
|
|
|
case '5':
|
|
|
|
color = kTextColorEm;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
str++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
str += 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
myDesc[i]->setAlign(align);
|
2007-08-06 20:16:51 +00:00
|
|
|
myDesc[i]->setTextColor(color);
|
2005-05-16 00:02:32 +00:00
|
|
|
myDesc[i]->setLabel(str);
|
|
|
|
}
|
|
|
|
|
2005-08-01 22:33:16 +00:00
|
|
|
// Redraw entire dialog
|
|
|
|
_dirty = true;
|
2005-05-16 00:02:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
2005-07-05 15:25:45 +00:00
|
|
|
void AboutDialog::handleCommand(CommandSender* sender, int cmd, int data, int id)
|
2005-05-16 00:02:32 +00:00
|
|
|
{
|
|
|
|
switch(cmd)
|
|
|
|
{
|
2017-10-04 21:03:24 +00:00
|
|
|
case GuiObject::kNextCmd:
|
2005-05-16 00:02:32 +00:00
|
|
|
myPage++;
|
|
|
|
if(myPage >= myNumPages)
|
|
|
|
myNextButton->clearFlags(WIDGET_ENABLED);
|
|
|
|
if(myPage >= 2)
|
|
|
|
myPrevButton->setFlags(WIDGET_ENABLED);
|
|
|
|
|
|
|
|
displayInfo();
|
|
|
|
break;
|
|
|
|
|
2017-10-04 21:03:24 +00:00
|
|
|
case GuiObject::kPrevCmd:
|
2005-05-16 00:02:32 +00:00
|
|
|
myPage--;
|
|
|
|
if(myPage <= myNumPages)
|
|
|
|
myNextButton->setFlags(WIDGET_ENABLED);
|
|
|
|
if(myPage <= 1)
|
|
|
|
myPrevButton->clearFlags(WIDGET_ENABLED);
|
|
|
|
|
|
|
|
displayInfo();
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
2005-07-05 15:25:45 +00:00
|
|
|
Dialog::handleCommand(sender, cmd, data, 0);
|
2005-05-16 00:02:32 +00:00
|
|
|
}
|
|
|
|
}
|