Added tool bar to Qt debugger window.

This commit is contained in:
mjbudd77 2021-07-02 15:15:26 -04:00
parent c3fbabc633
commit fd6876a09d
11 changed files with 99 additions and 9 deletions

BIN
icons/RunPpuFrame.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

BIN
icons/RunPpuScanline.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

BIN
icons/StepBack.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

BIN
icons/StepInto.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

BIN
icons/StepOut.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

BIN
icons/StepOver.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B

BIN
icons/arrow-cursor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
icons/debug-run.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

View File

@ -14,5 +14,12 @@
<file>icons/movie.png</file> <file>icons/movie.png</file>
<file>icons/camera.png</file> <file>icons/camera.png</file>
<file>icons/reticle.png</file> <file>icons/reticle.png</file>
<file>icons/debug-run.png</file>
<file>icons/StepInto.png</file>
<file>icons/StepOver.png</file>
<file>icons/StepOut.png</file>
<file>icons/RunPpuFrame.png</file>
<file>icons/RunPpuScanline.png</file>
<file>icons/arrow-cursor.png</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@ -84,7 +84,8 @@ static int lastBpIdx = 0;
ConsoleDebugger::ConsoleDebugger(QWidget *parent) ConsoleDebugger::ConsoleDebugger(QWidget *parent)
: QDialog( parent, Qt::Window ) : QDialog( parent, Qt::Window )
{ {
QHBoxLayout *mainLayout; QVBoxLayout *mainLayoutv;
QHBoxLayout *mainLayouth;
QVBoxLayout *vbox, *vbox1, *vbox2, *vbox3, *vbox4; QVBoxLayout *vbox, *vbox1, *vbox2, *vbox3, *vbox4;
QHBoxLayout *hbox, *hbox1, *hbox2, *hbox3; QHBoxLayout *hbox, *hbox1, *hbox2, *hbox3;
QGridLayout *grid; QGridLayout *grid;
@ -113,6 +114,7 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
//resize( 512, 512 ); //resize( 512, 512 );
menuBar = new QMenuBar(this); menuBar = new QMenuBar(this);
toolBar = new QToolBar(this);
// This is needed for menu bar to show up on MacOS // This is needed for menu bar to show up on MacOS
g_config->getOption( "SDL.UseNativeMenuBar", &useNativeMenuBar ); g_config->getOption( "SDL.UseNativeMenuBar", &useNativeMenuBar );
@ -148,6 +150,8 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
act = new QAction(tr("&Run"), this); act = new QAction(tr("&Run"), this);
act->setShortcut(QKeySequence( tr("F5") ) ); act->setShortcut(QKeySequence( tr("F5") ) );
act->setStatusTip(tr("Run")); act->setStatusTip(tr("Run"));
//act->setIcon( style()->standardIcon( QStyle::SP_MediaPlay ) );
act->setIcon( QIcon(":icons/debug-run.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugRunCB(void)) ); connect( act, SIGNAL(triggered()), this, SLOT(debugRunCB(void)) );
debugMenu->addAction(act); debugMenu->addAction(act);
@ -156,6 +160,7 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
act = new QAction(tr("Step &Into"), this); act = new QAction(tr("Step &Into"), this);
act->setShortcut(QKeySequence( tr("F11") ) ); act->setShortcut(QKeySequence( tr("F11") ) );
act->setStatusTip(tr("Step Into")); act->setStatusTip(tr("Step Into"));
act->setIcon( QIcon(":icons/StepInto.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugStepIntoCB(void)) ); connect( act, SIGNAL(triggered()), this, SLOT(debugStepIntoCB(void)) );
debugMenu->addAction(act); debugMenu->addAction(act);
@ -164,6 +169,7 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
act = new QAction(tr("&Step Out"), this); act = new QAction(tr("&Step Out"), this);
act->setShortcut(QKeySequence( tr("Shift+F11") ) ); act->setShortcut(QKeySequence( tr("Shift+F11") ) );
act->setStatusTip(tr("Step Out")); act->setStatusTip(tr("Step Out"));
act->setIcon( QIcon(":icons/StepOut.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugStepOutCB(void)) ); connect( act, SIGNAL(triggered()), this, SLOT(debugStepOutCB(void)) );
debugMenu->addAction(act); debugMenu->addAction(act);
@ -172,6 +178,7 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
act = new QAction(tr("Step &Over"), this); act = new QAction(tr("Step &Over"), this);
act->setShortcut(QKeySequence( tr("F10") ) ); act->setShortcut(QKeySequence( tr("F10") ) );
act->setStatusTip(tr("Step Over")); act->setStatusTip(tr("Step Over"));
act->setIcon( QIcon(":icons/StepOver.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugStepOverCB(void)) ); connect( act, SIGNAL(triggered()), this, SLOT(debugStepOverCB(void)) );
debugMenu->addAction(act); debugMenu->addAction(act);
@ -180,6 +187,7 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
act = new QAction(tr("Run to S&elected Line"), this); act = new QAction(tr("Run to S&elected Line"), this);
act->setShortcut(QKeySequence( tr("F1") ) ); act->setShortcut(QKeySequence( tr("F1") ) );
act->setStatusTip(tr("Run to Selected Line")); act->setStatusTip(tr("Run to Selected Line"));
act->setIcon( QIcon(":icons/arrow-cursor.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugRunToCursorCB(void)) ); connect( act, SIGNAL(triggered()), this, SLOT(debugRunToCursorCB(void)) );
debugMenu->addAction(act); debugMenu->addAction(act);
@ -188,6 +196,7 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
act = new QAction(tr("Run &Line"), this); act = new QAction(tr("Run &Line"), this);
act->setShortcut(QKeySequence( tr("F6") ) ); act->setShortcut(QKeySequence( tr("F6") ) );
act->setStatusTip(tr("Run Line")); act->setStatusTip(tr("Run Line"));
act->setIcon( QIcon(":icons/RunPpuScanline.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugRunLineCB(void)) ); connect( act, SIGNAL(triggered()), this, SLOT(debugRunLineCB(void)) );
debugMenu->addAction(act); debugMenu->addAction(act);
@ -196,6 +205,7 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
act = new QAction(tr("Run &128 Lines"), this); act = new QAction(tr("Run &128 Lines"), this);
act->setShortcut(QKeySequence( tr("F7") ) ); act->setShortcut(QKeySequence( tr("F7") ) );
act->setStatusTip(tr("Run 128 Lines")); act->setStatusTip(tr("Run 128 Lines"));
act->setIcon( QIcon(":icons/RunPpuFrame.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugRunLine128CB(void)) ); connect( act, SIGNAL(triggered()), this, SLOT(debugRunLine128CB(void)) );
debugMenu->addAction(act); debugMenu->addAction(act);
@ -380,9 +390,80 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// Menu End // Menu End
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
mainLayout = new QHBoxLayout();
mainLayout->setMenuBar( menuBar ); //-----------------------------------------------------------------------
// Tool Bar Setup Start
//-----------------------------------------------------------------------
// Debug -> Run
act = new QAction(tr("&Run"), this);
//act->setShortcut(QKeySequence( tr("F5") ) );
act->setStatusTip(tr("Run"));
//act->setIcon( style()->standardIcon( QStyle::SP_MediaPlay ) );
act->setIcon( QIcon(":icons/debug-run.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugRunCB(void)) );
toolBar->addAction(act);
// Debug -> Step Into
act = new QAction(tr("Step &Into"), this);
//act->setShortcut(QKeySequence( tr("F11") ) );
act->setStatusTip(tr("Step Into"));
act->setIcon( QIcon(":icons/StepInto.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugStepIntoCB(void)) );
toolBar->addAction(act);
// Debug -> Step Out
act = new QAction(tr("&Step Out"), this);
//act->setShortcut(QKeySequence( tr("Shift+F11") ) );
act->setStatusTip(tr("Step Out"));
act->setIcon( QIcon(":icons/StepOut.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugStepOutCB(void)) );
toolBar->addAction(act);
// Debug -> Step Over
act = new QAction(tr("Step &Over"), this);
//act->setShortcut(QKeySequence( tr("F10") ) );
act->setStatusTip(tr("Step Over"));
act->setIcon( QIcon(":icons/StepOver.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugStepOverCB(void)) );
toolBar->addAction(act);
toolBar->addSeparator();
// Debug -> Run Line
act = new QAction(tr("Run &Line"), this);
//act->setShortcut(QKeySequence( tr("F6") ) );
act->setStatusTip(tr("Run Line"));
act->setIcon( QIcon(":icons/RunPpuScanline.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugRunLineCB(void)) );
toolBar->addAction(act);
// Debug -> Run 128 Lines
act = new QAction(tr("Run &128 Lines"), this);
//act->setShortcut(QKeySequence( tr("F7") ) );
act->setStatusTip(tr("Run 128 Lines"));
act->setIcon( QIcon(":icons/RunPpuFrame.png") );
connect( act, SIGNAL(triggered()), this, SLOT(debugRunLine128CB(void)) );
toolBar->addAction(act);
toolBar->addSeparator();
//-----------------------------------------------------------------------
// Tool Bar Setup End
//-----------------------------------------------------------------------
mainLayoutv = new QVBoxLayout();
mainLayouth = new QHBoxLayout();
mainLayoutv->setMenuBar( menuBar );
mainLayoutv->addWidget( toolBar );
mainLayoutv->addLayout( mainLayouth );
vbox4 = new QVBoxLayout(); vbox4 = new QVBoxLayout();
grid = new QGridLayout(); grid = new QGridLayout();
@ -418,8 +499,8 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
//asmText->setMinimumWidth( 20 * fontCharWidth ); //asmText->setMinimumWidth( 20 * fontCharWidth );
//asmText->setLineWrapMode( QPlainTextEdit::NoWrap ); //asmText->setLineWrapMode( QPlainTextEdit::NoWrap );
mainLayout->addLayout( vbox4, 10 ); mainLayouth->addLayout( vbox4, 10 );
mainLayout->addLayout( vbox1, 1 ); mainLayouth->addLayout( vbox1, 1 );
grid = new QGridLayout(); grid = new QGridLayout();
@ -725,7 +806,7 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent)
// rather than use a checkbox that selects between two. But for the moment, I have more important things // rather than use a checkbox that selects between two. But for the moment, I have more important things
// to do. // to do.
setLayout( mainLayout ); setLayout( mainLayoutv );
windowUpdateReq = true; windowUpdateReq = true;

View File

@ -24,6 +24,7 @@
#include <QPlainTextEdit> #include <QPlainTextEdit>
#include <QClipboard> #include <QClipboard>
#include <QScrollBar> #include <QScrollBar>
#include <QToolBar>
#include "Qt/main.h" #include "Qt/main.h"
#include "Qt/SymbolicDebug.h" #include "Qt/SymbolicDebug.h"
@ -118,7 +119,7 @@ class QAsmView : public QWidget
protected: protected:
void paintEvent(QPaintEvent *event); void paintEvent(QPaintEvent *event);
void keyPressEvent(QKeyEvent *event); void keyPressEvent(QKeyEvent *event);
void keyReleaseEvent(QKeyEvent *event); void keyReleaseEvent(QKeyEvent *event);
void mousePressEvent(QMouseEvent * event); void mousePressEvent(QMouseEvent * event);
void mouseReleaseEvent(QMouseEvent * event); void mouseReleaseEvent(QMouseEvent * event);
void mouseMoveEvent(QMouseEvent * event); void mouseMoveEvent(QMouseEvent * event);
@ -234,9 +235,10 @@ class ConsoleDebugger : public QDialog
protected: protected:
void closeEvent(QCloseEvent *event); void closeEvent(QCloseEvent *event);
//void keyPressEvent(QKeyEvent *event); //void keyPressEvent(QKeyEvent *event);
//void keyReleaseEvent(QKeyEvent *event); //void keyReleaseEvent(QKeyEvent *event);
//QTreeWidget *tree; //QTreeWidget *tree;
QToolBar *toolBar;
QScrollBar *vbar; QScrollBar *vbar;
QScrollBar *hbar; QScrollBar *hbar;
QAsmView *asmView; QAsmView *asmView;
@ -286,7 +288,7 @@ class ConsoleDebugger : public QDialog
void bmListUpdate( bool reset = false ); void bmListUpdate( bool reset = false );
public slots: public slots:
void closeWindow(void); void closeWindow(void);
void asmViewCtxMenuAddBP(void); void asmViewCtxMenuAddBP(void);
void asmViewCtxMenuAddBM(void); void asmViewCtxMenuAddBM(void);
void asmViewCtxMenuAddSym(void); void asmViewCtxMenuAddSym(void);