X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgui%2Fmainwin.cpp;h=ac017ceb4b5e87c5ea573a542e45b2bbb7e5bf1f;hb=178d7f01b40cf8367cfe5b71219e6d20f60f92d4;hp=43996880984c307d46bfe1406dc45fe2c75fe83d;hpb=3bfba0b6be74e6eff2854c779bdb9a958385068e;p=virtualjaguar diff --git a/src/gui/mainwin.cpp b/src/gui/mainwin.cpp index 4399688..ac017ce 100644 --- a/src/gui/mainwin.cpp +++ b/src/gui/mainwin.cpp @@ -43,6 +43,8 @@ #include "configdialog.h" #include "generaltab.h" #include "version.h" +#include "debug/memorybrowser.h" +#include "debug/cpubrowser.h" #include "dac.h" #include "jaguar.h" @@ -96,6 +98,8 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false), aboutWin = new AboutWindow(this); helpWin = new HelpWindow(this); filePickWin = new FilePickerWindow(this); + memBrowseWin = new MemoryBrowserWindow(this); + cpuBrowseWin = new CPUBrowserWindow(this); videoWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -197,6 +201,17 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false), frameAdvanceAct->setShortcut(QKeySequence(tr("F7"))); connect(frameAdvanceAct, SIGNAL(triggered()), this, SLOT(FrameAdvance())); + // Debugger Actions + memBrowseAct = new QAction(QIcon(":/res/generic.png"), tr("Memory Browser"), this); + memBrowseAct->setStatusTip(tr("Shows the Jaguar memory browser window")); +// memBrowseAct->setCheckable(true); + connect(memBrowseAct, SIGNAL(triggered()), this, SLOT(ShowMemoryBrowserWin())); + + cpuBrowseAct = new QAction(QIcon(":/res/generic.png"), tr("CPU Browser"), this); + cpuBrowseAct->setStatusTip(tr("Shows the Jaguar CPU browser window")); +// memBrowseAct->setCheckable(true); + connect(cpuBrowseAct, SIGNAL(triggered()), this, SLOT(ShowCPUBrowserWin())); + // Misc. connections... connect(filePickWin, SIGNAL(RequestLoad(QString)), this, SLOT(LoadSoftware(QString))); connect(filePickWin, SIGNAL(FilePickerHiding()), this, SLOT(Unpause())); @@ -212,6 +227,13 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false), fileMenu->addAction(configAct); fileMenu->addAction(quitAppAct); + if (vjs.hardwareTypeAlpine) + { + debugMenu = menuBar()->addMenu(tr("&Debug")); + debugMenu->addAction(memBrowseAct); + debugMenu->addAction(cpuBrowseAct); + } + helpMenu = menuBar()->addMenu(tr("&Help")); helpMenu->addAction(helpAct); helpMenu->addAction(aboutAct); @@ -231,6 +253,13 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false), toolbar->addSeparator(); toolbar->addAction(blurAct); + if (vjs.hardwareTypeAlpine) + { + debugbar = addToolBar(tr("&Debug")); + debugbar->addAction(memBrowseAct); + debugbar->addAction(cpuBrowseAct); + } + // Create status bar statusBar()->showMessage(tr("Ready")); @@ -759,6 +788,20 @@ void MainWin::FrameAdvance(void) } +void MainWin::ShowMemoryBrowserWin(void) +{ + memBrowseWin->show(); + memBrowseWin->RefreshContents(); +} + + +void MainWin::ShowCPUBrowserWin(void) +{ + cpuBrowseWin->show(); + cpuBrowseWin->RefreshContents(); +} + + void MainWin::ResizeMainWindow(void) { videoWidget->setFixedSize(zoomLevel * 320, zoomLevel * (vjs.hardwareTypeNTSC ? 240 : 256));