GUI: resolved issue #28
DBG: disabled auto-comments (too slow) GUI: added SymbolView (dummy)
This commit is contained in:
parent
97e42eddb3
commit
b393a8b24e
|
@ -146,7 +146,7 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR
|
||||||
sprintf(addrinfo->comment, "%s:%u", filename+len, line.LineNumber);
|
sprintf(addrinfo->comment, "%s:%u", filename+len, line.LineNumber);
|
||||||
retval=true;
|
retval=true;
|
||||||
}
|
}
|
||||||
else //no line number
|
/*else //no line number
|
||||||
{
|
{
|
||||||
DISASM_INSTR instr;
|
DISASM_INSTR instr;
|
||||||
disasmget(addr, &instr);
|
disasmget(addr, &instr);
|
||||||
|
@ -208,7 +208,7 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR
|
||||||
retval=true;
|
retval=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(addrinfo->flags&flagbookmark)
|
if(addrinfo->flags&flagbookmark)
|
||||||
|
|
|
@ -32,6 +32,15 @@ static CMDRESULT cbCls(int argc, char* argv[])
|
||||||
return STATUS_CONTINUE;
|
return STATUS_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static CMDRESULT cbPrintf(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
if(argc<2)
|
||||||
|
dprintf("\n");
|
||||||
|
else
|
||||||
|
dprintf("%s", argv[1]);
|
||||||
|
return STATUS_CONTINUE;
|
||||||
|
}
|
||||||
|
|
||||||
static void registercommands()
|
static void registercommands()
|
||||||
{
|
{
|
||||||
COMMAND* cmd=command_list=cmdinit();
|
COMMAND* cmd=command_list=cmdinit();
|
||||||
|
@ -129,6 +138,7 @@ static void registercommands()
|
||||||
cmdnew(cmd, "asm", cbAssemble, true); //assemble instruction
|
cmdnew(cmd, "asm", cbAssemble, true); //assemble instruction
|
||||||
|
|
||||||
cmdnew(cmd, "dump", cbDebugDump, true); //dump at address
|
cmdnew(cmd, "dump", cbDebugDump, true); //dump at address
|
||||||
|
cmdnew(cmd, "printf", cbPrintf, false); //printf
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool cbCommandProvider(char* cmd, int maxlen)
|
static bool cbCommandProvider(char* cmd, int maxlen)
|
||||||
|
|
|
@ -53,7 +53,8 @@ SOURCES += \
|
||||||
Src/BasicView/InfoBox.cpp \
|
Src/BasicView/InfoBox.cpp \
|
||||||
Src/Gui/CPUDump.cpp \
|
Src/Gui/CPUDump.cpp \
|
||||||
Src/BasicView/ScriptView.cpp \
|
Src/BasicView/ScriptView.cpp \
|
||||||
Src/Gui/CPUStack.cpp
|
Src/Gui/CPUStack.cpp \
|
||||||
|
Src/BasicView/SymbolView.cpp
|
||||||
|
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
|
@ -87,7 +88,8 @@ HEADERS += \
|
||||||
Src/BasicView/InfoBox.h \
|
Src/BasicView/InfoBox.h \
|
||||||
Src/Gui/CPUDump.h \
|
Src/Gui/CPUDump.h \
|
||||||
Src/BasicView/ScriptView.h \
|
Src/BasicView/ScriptView.h \
|
||||||
Src/Gui/CPUStack.h
|
Src/Gui/CPUStack.h \
|
||||||
|
Src/BasicView/SymbolView.h
|
||||||
|
|
||||||
INCLUDEPATH += \
|
INCLUDEPATH += \
|
||||||
Src \
|
Src \
|
||||||
|
@ -107,7 +109,8 @@ FORMS += \
|
||||||
Src/Gui/CPUWidget.ui \
|
Src/Gui/CPUWidget.ui \
|
||||||
Src/Gui/GotoDialog.ui \
|
Src/Gui/GotoDialog.ui \
|
||||||
Src/BasicView/WordEditDialog.ui \
|
Src/BasicView/WordEditDialog.ui \
|
||||||
Src/BasicView/LineEditDialog.ui
|
Src/BasicView/LineEditDialog.ui \
|
||||||
|
Src/BasicView/SymbolView.ui
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/Src/Bridge
|
INCLUDEPATH += $$PWD/Src/Bridge
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
#include "SymbolView.h"
|
||||||
|
#include "ui_SymbolView.h"
|
||||||
|
|
||||||
|
SymbolView::SymbolView(QWidget *parent) :
|
||||||
|
QWidget(parent),
|
||||||
|
ui(new Ui::SymbolView)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
mainLayout = new QVBoxLayout;
|
||||||
|
mainLayout->addWidget(ui->mainSplitter);
|
||||||
|
setLayout(mainLayout);
|
||||||
|
|
||||||
|
QFont wFont("Monospace", 8);
|
||||||
|
wFont.setStyleHint(QFont::Monospace);
|
||||||
|
wFont.setFixedPitch(true);
|
||||||
|
|
||||||
|
mModuleList = new StdTable();
|
||||||
|
mModuleList->addColumnAt(0, "", false);
|
||||||
|
mModuleList->setShowHeader(false); //hide header
|
||||||
|
mModuleList->enableMultiSelection(false);
|
||||||
|
|
||||||
|
int charwidth=QFontMetrics(wFont).width(QChar(' '));
|
||||||
|
|
||||||
|
mSymbolList = new StdTable();
|
||||||
|
mSymbolList->addColumnAt(charwidth*2*sizeof(int_t)+8, "Address", true);
|
||||||
|
mSymbolList->addColumnAt(0, "Symbol", true);
|
||||||
|
mSymbolList->enableMultiSelection(false);
|
||||||
|
|
||||||
|
ui->listSplitter->addWidget(mModuleList);
|
||||||
|
ui->listSplitter->addWidget(mSymbolList);
|
||||||
|
// mModuleList : mSymbolList = 1 : 5
|
||||||
|
ui->listSplitter->setStretchFactor(0, 1);
|
||||||
|
ui->listSplitter->setStretchFactor(1, 5);
|
||||||
|
|
||||||
|
ui->symbolLogEdit->setFont(wFont);
|
||||||
|
ui->symbolLogEdit->setStyleSheet("QTextEdit { background-color: rgb(255, 251, 240) }");
|
||||||
|
ui->symbolLogEdit->setUndoRedoEnabled(false);
|
||||||
|
ui->symbolLogEdit->setReadOnly(true);
|
||||||
|
|
||||||
|
// Log : List = 2 : 9
|
||||||
|
ui->mainSplitter->setStretchFactor(0, 9);
|
||||||
|
ui->mainSplitter->setStretchFactor(1, 2);
|
||||||
|
|
||||||
|
connect(Bridge::getBridge(), SIGNAL(addMsgToSymbolLog(QString)), this, SLOT(addMsgToSymbolLogSlot(QString)));
|
||||||
|
connect(Bridge::getBridge(), SIGNAL(clearLog()), this, SLOT(clearSymbolLogSlot()));
|
||||||
|
connect(Bridge::getBridge(), SIGNAL(clearSymbolLog()), this, SLOT(clearSymbolLogSlot()));
|
||||||
|
}
|
||||||
|
|
||||||
|
SymbolView::~SymbolView()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SymbolView::addMsgToSymbolLogSlot(QString msg)
|
||||||
|
{
|
||||||
|
ui->symbolLogEdit->moveCursor(QTextCursor::End);
|
||||||
|
ui->symbolLogEdit->insertPlainText(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SymbolView::clearSymbolLogSlot()
|
||||||
|
{
|
||||||
|
ui->symbolLogEdit->clear();
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
#ifndef SYMBOLVIEW_H
|
||||||
|
#define SYMBOLVIEW_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
#include "StdTable.h"
|
||||||
|
#include "Bridge.h"
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class SymbolView;
|
||||||
|
}
|
||||||
|
|
||||||
|
class SymbolView : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit SymbolView(QWidget *parent = 0);
|
||||||
|
~SymbolView();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void addMsgToSymbolLogSlot(QString msg);
|
||||||
|
void clearSymbolLogSlot();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::SymbolView *ui;
|
||||||
|
QVBoxLayout* mainLayout;
|
||||||
|
|
||||||
|
StdTable* mModuleList;
|
||||||
|
StdTable* mSymbolList;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SYMBOLVIEW_H
|
|
@ -0,0 +1,142 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>SymbolView</class>
|
||||||
|
<widget class="QWidget" name="SymbolView">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>694</width>
|
||||||
|
<height>605</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoFillBackground">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<widget class="QSplitter" name="mainSplitter">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>691</width>
|
||||||
|
<height>601</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Ignored" vsizetype="Ignored">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="childrenCollapsible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="layoutWidget">
|
||||||
|
<layout class="QVBoxLayout" name="verticalListLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QSplitter" name="listSplitter">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="handleWidth">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<property name="childrenCollapsible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalListLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="searchLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Search:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="searchBox">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="layoutWidget">
|
||||||
|
<layout class="QVBoxLayout" name="logLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="symbolLogEdit">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Ignored" vsizetype="Ignored">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QProgressBar" name="symbolProgress">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>15</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="textVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -59,6 +59,8 @@ signals:
|
||||||
void updateCPUTitle(QString modname);
|
void updateCPUTitle(QString modname);
|
||||||
void setInfoLine(int line, QString text);
|
void setInfoLine(int line, QString text);
|
||||||
void dumpAt(int_t va);
|
void dumpAt(int_t va);
|
||||||
|
void addMsgToSymbolLog(QString msg);
|
||||||
|
void clearSymbolLog();
|
||||||
|
|
||||||
void scriptAdd(int count, const char** lines);
|
void scriptAdd(int count, const char** lines);
|
||||||
void scriptClear();
|
void scriptClear();
|
||||||
|
|
|
@ -40,6 +40,9 @@
|
||||||
<property name="handleWidth">
|
<property name="handleWidth">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="childrenCollapsible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<widget class="QSplitter" name="mTopHSplitter">
|
<widget class="QSplitter" name="mTopHSplitter">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
|
@ -47,6 +50,9 @@
|
||||||
<property name="handleWidth">
|
<property name="handleWidth">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="childrenCollapsible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<widget class="QSplitter" name="mTopLeftVSplitter">
|
<widget class="QSplitter" name="mTopLeftVSplitter">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
|
@ -54,6 +60,9 @@
|
||||||
<property name="handleWidth">
|
<property name="handleWidth">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="childrenCollapsible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<widget class="QFrame" name="mTopLeftUpperFrame">
|
<widget class="QFrame" name="mTopLeftUpperFrame">
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::Box</enum>
|
<enum>QFrame::Box</enum>
|
||||||
|
@ -138,6 +147,9 @@
|
||||||
<property name="handleWidth">
|
<property name="handleWidth">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="childrenCollapsible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<widget class="QFrame" name="mBotLeftFrame">
|
<widget class="QFrame" name="mBotLeftFrame">
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::Box</enum>
|
<enum>QFrame::Box</enum>
|
||||||
|
|
|
@ -31,19 +31,26 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||||
mLogView->hide();
|
mLogView->hide();
|
||||||
mLogView->setGeometry(10, 10, 800, 300);
|
mLogView->setGeometry(10, 10, 800, 300);
|
||||||
|
|
||||||
|
// Symbol view
|
||||||
|
mSymbolView = new SymbolView();
|
||||||
|
mSymbolView->setWindowTitle("Symbol Info");
|
||||||
|
mSymbolView->setWindowIcon(QIcon(":/icons/images/pdb.png"));
|
||||||
|
mSymbolView->hide();
|
||||||
|
mSymbolView->setGeometry(20, 20, 800, 300);
|
||||||
|
|
||||||
// Breakpoints
|
// Breakpoints
|
||||||
mBreakpointsView = new BreakpointsView();
|
mBreakpointsView = new BreakpointsView();
|
||||||
mBreakpointsView->setWindowTitle("Breakpoints");
|
mBreakpointsView->setWindowTitle("Breakpoints");
|
||||||
mBreakpointsView->setWindowIcon(QIcon(":/icons/images/breakpoint.png"));
|
mBreakpointsView->setWindowIcon(QIcon(":/icons/images/breakpoint.png"));
|
||||||
mBreakpointsView->hide();
|
mBreakpointsView->hide();
|
||||||
mBreakpointsView->setGeometry(20, 20, 800, 300);
|
mBreakpointsView->setGeometry(30, 30, 800, 300);
|
||||||
|
|
||||||
// Memory Map View
|
// Memory Map View
|
||||||
mMemMapView = new MemoryMapView();
|
mMemMapView = new MemoryMapView();
|
||||||
mMemMapView->setWindowTitle("Memory Map");
|
mMemMapView->setWindowTitle("Memory Map");
|
||||||
mMemMapView->setWindowIcon(QIcon(":/icons/images/memory-map.png"));
|
mMemMapView->setWindowIcon(QIcon(":/icons/images/memory-map.png"));
|
||||||
mMemMapView->hide();
|
mMemMapView->hide();
|
||||||
mMemMapView->setGeometry(30, 30, 625, 500);
|
mMemMapView->setGeometry(40, 40, 625, 500);
|
||||||
|
|
||||||
// Script view
|
// Script view
|
||||||
mScriptView = new ScriptView();
|
mScriptView = new ScriptView();
|
||||||
|
@ -65,6 +72,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||||
mTabWidget->addTab(mBreakpointsView, mBreakpointsView->windowIcon(), mBreakpointsView->windowTitle());
|
mTabWidget->addTab(mBreakpointsView, mBreakpointsView->windowIcon(), mBreakpointsView->windowTitle());
|
||||||
mTabWidget->addTab(mMemMapView, mMemMapView->windowIcon(), mMemMapView->windowTitle());
|
mTabWidget->addTab(mMemMapView, mMemMapView->windowIcon(), mMemMapView->windowTitle());
|
||||||
mTabWidget->addTab(mScriptView, mScriptView->windowIcon(), mScriptView->windowTitle());
|
mTabWidget->addTab(mScriptView, mScriptView->windowIcon(), mScriptView->windowTitle());
|
||||||
|
mTabWidget->addTab(mSymbolView, mSymbolView->windowIcon(), mSymbolView->windowTitle());
|
||||||
|
|
||||||
setCentralWidget(mTabWidget);
|
setCentralWidget(mTabWidget);
|
||||||
|
|
||||||
|
@ -103,6 +111,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||||
connect(ui->actionScript,SIGNAL(triggered()),this,SLOT(displayScriptWidget()));
|
connect(ui->actionScript,SIGNAL(triggered()),this,SLOT(displayScriptWidget()));
|
||||||
connect(ui->actionRunSelection,SIGNAL(triggered()),mCpuWidget,SLOT(runSelection()));
|
connect(ui->actionRunSelection,SIGNAL(triggered()),mCpuWidget,SLOT(runSelection()));
|
||||||
connect(ui->actionCpu,SIGNAL(triggered()),this,SLOT(displayCpuWidget()));
|
connect(ui->actionCpu,SIGNAL(triggered()),this,SLOT(displayCpuWidget()));
|
||||||
|
connect(ui->actionSymbolInfo,SIGNAL(triggered()),this,SLOT(displaySymbolWidget()));
|
||||||
|
|
||||||
connect(Bridge::getBridge(), SIGNAL(updateWindowTitle(QString)), this, SLOT(updateWindowTitleSlot(QString)));
|
connect(Bridge::getBridge(), SIGNAL(updateWindowTitle(QString)), this, SLOT(updateWindowTitleSlot(QString)));
|
||||||
connect(Bridge::getBridge(), SIGNAL(updateCPUTitle(QString)), this, SLOT(updateCPUTitleSlot(QString)));
|
connect(Bridge::getBridge(), SIGNAL(updateCPUTitle(QString)), this, SLOT(updateCPUTitleSlot(QString)));
|
||||||
|
@ -324,3 +333,10 @@ void MainWindow::displayCpuWidget()
|
||||||
mCpuWidget->setFocus();
|
mCpuWidget->setFocus();
|
||||||
setTab(mCpuWidget);
|
setTab(mCpuWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::displaySymbolWidget()
|
||||||
|
{
|
||||||
|
mSymbolView->show();
|
||||||
|
mSymbolView->setFocus();
|
||||||
|
setTab(mSymbolView);
|
||||||
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include "StatusLabel.h"
|
#include "StatusLabel.h"
|
||||||
#include "BreakpointsView.h"
|
#include "BreakpointsView.h"
|
||||||
#include "ScriptView.h"
|
#include "ScriptView.h"
|
||||||
|
#include "SymbolView.h"
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class MainWindow;
|
class MainWindow;
|
||||||
|
@ -52,6 +53,7 @@ public slots:
|
||||||
void execeRun();
|
void execeRun();
|
||||||
void execeRtr();
|
void execeRtr();
|
||||||
void displayCpuWidget();
|
void displayCpuWidget();
|
||||||
|
void displaySymbolWidget();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_actionGoto_triggered();
|
void on_actionGoto_triggered();
|
||||||
|
@ -64,6 +66,7 @@ private:
|
||||||
CPUWidget* mCpuWidget;
|
CPUWidget* mCpuWidget;
|
||||||
MemoryMapView* mMemMapView;
|
MemoryMapView* mMemMapView;
|
||||||
LogView* mLogView;
|
LogView* mLogView;
|
||||||
|
SymbolView* mSymbolView;
|
||||||
BreakpointsView* mBreakpointsView;
|
BreakpointsView* mBreakpointsView;
|
||||||
ScriptView* mScriptView;
|
ScriptView* mScriptView;
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
<addaction name="actionLog"/>
|
<addaction name="actionLog"/>
|
||||||
<addaction name="actionBreakpoints"/>
|
<addaction name="actionBreakpoints"/>
|
||||||
<addaction name="actionScript"/>
|
<addaction name="actionScript"/>
|
||||||
|
<addaction name="actionSymbolInfo"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuDebug">
|
<widget class="QMenu" name="menuDebug">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
|
@ -113,6 +114,7 @@
|
||||||
<addaction name="actionBreakpoints"/>
|
<addaction name="actionBreakpoints"/>
|
||||||
<addaction name="actionMemoryMap"/>
|
<addaction name="actionMemoryMap"/>
|
||||||
<addaction name="actionScript"/>
|
<addaction name="actionScript"/>
|
||||||
|
<addaction name="actionSymbolInfo"/>
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
<addaction name="actionScylla"/>
|
<addaction name="actionScylla"/>
|
||||||
</widget>
|
</widget>
|
||||||
|
@ -416,6 +418,21 @@
|
||||||
<string>Alt+C</string>
|
<string>Alt+C</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="actionSymbolInfo">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../../resource.qrc">
|
||||||
|
<normaloff>:/icons/images/pdb.png</normaloff>:/icons/images/pdb.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Symbol Info</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Symbol Info</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+Alt+S</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<layoutdefault spacing="6" margin="11"/>
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
|
@ -14,7 +14,7 @@ StatusLabel::StatusLabel(QStatusBar* parent) : QLabel(parent)
|
||||||
connect(Bridge::getBridge(), SIGNAL(dbgStateChanged(DBGSTATE)), this, SLOT(debugStateChangedSlot(DBGSTATE)));
|
connect(Bridge::getBridge(), SIGNAL(dbgStateChanged(DBGSTATE)), this, SLOT(debugStateChangedSlot(DBGSTATE)));
|
||||||
}
|
}
|
||||||
else //last log message
|
else //last log message
|
||||||
connect(Bridge::getBridge(), SIGNAL(addMsgToLog(QString)), this, SLOT(setText(QString)));
|
connect(Bridge::getBridge(), SIGNAL(addMsgToLog(QString)), this, SLOT(logUpdate(QString)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusLabel::debugStateChangedSlot(DBGSTATE state)
|
void StatusLabel::debugStateChangedSlot(DBGSTATE state)
|
||||||
|
@ -39,3 +39,11 @@ void StatusLabel::debugStateChangedSlot(DBGSTATE state)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StatusLabel::logUpdate(QString message)
|
||||||
|
{
|
||||||
|
if(labelText.contains(QChar('\n'))) //newline
|
||||||
|
labelText="";
|
||||||
|
labelText+=message;
|
||||||
|
setText(labelText);
|
||||||
|
}
|
||||||
|
|
|
@ -13,6 +13,10 @@ public:
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void debugStateChangedSlot(DBGSTATE state);
|
void debugStateChangedSlot(DBGSTATE state);
|
||||||
|
void logUpdate(QString message);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QString labelText;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 649 B |
|
@ -25,5 +25,6 @@
|
||||||
<file>images/arrow-run-cursor.png</file>
|
<file>images/arrow-run-cursor.png</file>
|
||||||
<file>images/log.png</file>
|
<file>images/log.png</file>
|
||||||
<file>images/breakpoint.png</file>
|
<file>images/breakpoint.png</file>
|
||||||
|
<file>images/pdb.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
Loading…
Reference in New Issue