mirror of https://github.com/stella-emu/stella.git
minimal rewind button state refactoring
This commit is contained in:
parent
cdb2e18324
commit
474c9941d5
|
@ -29,7 +29,6 @@
|
|||
#include "Settings.hxx"
|
||||
#include "DebuggerDialog.hxx"
|
||||
#include "DebuggerParser.hxx"
|
||||
#include "StateManager.hxx"
|
||||
|
||||
#include "Console.hxx"
|
||||
#include "System.hxx"
|
||||
|
@ -451,6 +450,14 @@ void Debugger::nextFrame(int frames)
|
|||
lockBankswitchState();
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Debugger::updateRewindbuttons(const RewindManager& r)
|
||||
{
|
||||
myDialog->rewindButton().setEnabled(!r.atLast());
|
||||
myDialog->unwindButton().setEnabled(!r.atFirst());
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
bool Debugger::windState(bool unwind)
|
||||
{
|
||||
RewindManager& r = myOSystem.state().rewindManager();
|
||||
|
@ -461,9 +468,7 @@ bool Debugger::windState(bool unwind)
|
|||
bool result = unwind ? r.unwindState() : r.rewindState();
|
||||
lockBankswitchState();
|
||||
|
||||
myDialog->rewindButton().setEnabled(!r.atLast());
|
||||
myDialog->unwindButton().setEnabled(!r.atFirst());
|
||||
|
||||
updateRewindbuttons(r);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -517,8 +522,7 @@ void Debugger::saveOldState(string rewindMsg)
|
|||
{
|
||||
RewindManager& r = myOSystem.state().rewindManager();
|
||||
r.addState(rewindMsg);
|
||||
myDialog->rewindButton().setEnabled(!r.atLast());
|
||||
myDialog->unwindButton().setEnabled(!r.atFirst());
|
||||
updateRewindbuttons(r);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -529,8 +533,7 @@ void Debugger::setStartState()
|
|||
lockBankswitchState();
|
||||
|
||||
RewindManager& r = myOSystem.state().rewindManager();
|
||||
myDialog->rewindButton().setEnabled(!r.atLast());
|
||||
myDialog->unwindButton().setEnabled(!r.atFirst());
|
||||
updateRewindbuttons(r);
|
||||
|
||||
// Save initial state, but don't add it to the rewind list
|
||||
saveOldState();
|
||||
|
|
|
@ -36,6 +36,7 @@ class ButtonWidget;
|
|||
#include "DialogContainer.hxx"
|
||||
#include "DebuggerDialog.hxx"
|
||||
#include "DebuggerParser.hxx"
|
||||
#include "StateManager.hxx"
|
||||
#include "M6502.hxx"
|
||||
#include "System.hxx"
|
||||
#include "Stack.hxx"
|
||||
|
@ -327,7 +328,10 @@ class Debugger : public DialogContainer
|
|||
static PseudoRegister ourPseudoRegisters[NUM_PSEUDO_REGS];
|
||||
|
||||
private:
|
||||
// rewind/unwind one state
|
||||
bool windState(bool unwind);
|
||||
// update the rewind/unwind button state
|
||||
void updateRewindbuttons(const RewindManager& r);
|
||||
|
||||
// Following constructors and assignment operators not supported
|
||||
Debugger() = delete;
|
||||
|
|
|
@ -1174,30 +1174,30 @@ static const uInt16 console_font_bits[] = {
|
|||
+--------+
|
||||
| |
|
||||
| |
|
||||
| * |
|
||||
| * |
|
||||
| * |
|
||||
| * |
|
||||
| * |
|
||||
| * |
|
||||
| * |
|
||||
| * |
|
||||
| * |
|
||||
| * |
|
||||
| * |
|
||||
| |
|
||||
| |
|
||||
+--------+
|
||||
*/
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x4000,
|
||||
0x2000,
|
||||
0x1000,
|
||||
0x0800,
|
||||
0x0400,
|
||||
0x0200,
|
||||
0x0400,
|
||||
0x0800,
|
||||
0x1000,
|
||||
0x2000,
|
||||
0x4000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
|
||||
|
|
Loading…
Reference in New Issue