temporary
This commit is contained in:
parent
fc25d8ac8d
commit
37e4416dd2
|
@ -11,7 +11,7 @@ static int dwordStringMaxLength(HexDump::DwordViewMode mode);
|
|||
static int qwordStringMaxLength(HexDump::QwordViewMode mode);
|
||||
static int twordStringMaxLength(HexDump::TwordViewMode mode);
|
||||
|
||||
HexDump::HexDump(QWidget* parent)
|
||||
HexDump::HexDump(QWidget* parent, MemoryPage* memPage)
|
||||
: AbstractTableView(parent)
|
||||
{
|
||||
memset(&mSelection, 0, sizeof(SelectionData));
|
||||
|
@ -22,7 +22,10 @@ HexDump::HexDump(QWidget* parent)
|
|||
|
||||
setRowCount(0);
|
||||
|
||||
mMemPage = new MemoryPage(0, 0);
|
||||
if(!memPage)
|
||||
mMemPage = new MemoryPage(0, 0, this);
|
||||
else
|
||||
mMemPage = memPage;
|
||||
mForceColumn = -1;
|
||||
|
||||
clearDescriptors();
|
||||
|
|
|
@ -79,7 +79,7 @@ public:
|
|||
std::function<void()> columnSwitch;
|
||||
};
|
||||
|
||||
explicit HexDump(QWidget* parent = 0);
|
||||
explicit HexDump(QWidget* parent = 0, MemoryPage* memPage = 0);
|
||||
~HexDump() override;
|
||||
|
||||
// Configuration
|
||||
|
|
|
@ -9,15 +9,15 @@ class MemoryPage : public QObject
|
|||
public:
|
||||
explicit MemoryPage(duint parBase, duint parSize, QObject* parent = 0);
|
||||
|
||||
bool read(void* parDest, dsint parRVA, duint parSize) const;
|
||||
bool write(const void* parDest, dsint parRVA, duint parSize);
|
||||
virtual bool read(void* parDest, dsint parRVA, duint parSize) const;
|
||||
virtual bool write(const void* parDest, dsint parRVA, duint parSize);
|
||||
duint getSize() const;
|
||||
duint getBase() const;
|
||||
duint va(dsint rva) const;
|
||||
void setAttributes(duint base, duint size);
|
||||
bool inRange(duint va) const;
|
||||
|
||||
private:
|
||||
protected:
|
||||
duint mBase;
|
||||
duint mSize;
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,128 @@
|
|||
#pragma once
|
||||
|
||||
#include "HexDump.h"
|
||||
#include "TraceFileDump.h"
|
||||
|
||||
//forward declaration
|
||||
//class CPUMultiDump;
|
||||
class TraceBrowser;
|
||||
class GotoDialog;
|
||||
class CommonActions;
|
||||
|
||||
class TraceDump : public HexDump
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit TraceDump(TraceBrowser* disas, TraceFileDumpMemoryPage* memoryPage, QWidget* parent);
|
||||
void getColumnRichText(int col, dsint rva, RichTextPainter::List & richText) override;
|
||||
QString paintContent(QPainter* painter, dsint rowBase, int rowOffset, int col, int x, int y, int w, int h);
|
||||
void setupContextMenu();
|
||||
void getAttention();
|
||||
void contextMenuEvent(QContextMenuEvent* event);
|
||||
void mouseDoubleClickEvent(QMouseEvent* event);
|
||||
void mouseMoveEvent(QMouseEvent* event);
|
||||
|
||||
signals:
|
||||
void displayReferencesWidget();
|
||||
void showDisassemblyTab(duint selectionStart, duint selectionEnd, duint firstAddress);
|
||||
|
||||
public slots:
|
||||
void modifyValueSlot();
|
||||
void gotoExpressionSlot();
|
||||
void gotoFileOffsetSlot();
|
||||
void gotoStartSlot();
|
||||
void gotoEndSlot();
|
||||
void gotoPreviousReferenceSlot();
|
||||
void gotoNextReferenceSlot();
|
||||
|
||||
void hexAsciiSlot();
|
||||
void hexUnicodeSlot();
|
||||
void hexCodepageSlot();
|
||||
void hexLastCodepageSlot();
|
||||
|
||||
void textAsciiSlot();
|
||||
void textUnicodeSlot();
|
||||
void textCodepageSlot();
|
||||
void textLastCodepageSlot();
|
||||
|
||||
void integerSignedByteSlot();
|
||||
void integerSignedShortSlot();
|
||||
void integerSignedLongSlot();
|
||||
void integerSignedLongLongSlot();
|
||||
void integerUnsignedByteSlot();
|
||||
void integerUnsignedShortSlot();
|
||||
void integerUnsignedLongSlot();
|
||||
void integerUnsignedLongLongSlot();
|
||||
void integerHexShortSlot();
|
||||
void integerHexLongSlot();
|
||||
void integerHexLongLongSlot();
|
||||
|
||||
void floatFloatSlot();
|
||||
void floatDoubleSlot();
|
||||
void floatLongDoubleSlot();
|
||||
|
||||
void addressUnicodeSlot();
|
||||
void addressAsciiSlot();
|
||||
void disassemblySlot();
|
||||
|
||||
void selectionGet(SELECTIONDATA* selection);
|
||||
void selectionSet(const SELECTIONDATA* selection);
|
||||
|
||||
void binaryEditSlot();
|
||||
void binaryCopySlot();
|
||||
void binarySaveToFileSlot();
|
||||
void findPattern();
|
||||
void copyFileOffsetSlot();
|
||||
void undoSelectionSlot();
|
||||
void findReferencesSlot();
|
||||
|
||||
void selectionUpdatedSlot();
|
||||
void syncWithExpressionSlot();
|
||||
void allocMemorySlot();
|
||||
|
||||
void headerButtonReleasedSlot(int colIndex);
|
||||
|
||||
private:
|
||||
TraceFileDumpMemoryPage* mMemoryPage;
|
||||
MenuBuilder* mMenuBuilder;
|
||||
CommonActions* mCommonActions;
|
||||
|
||||
//QMenu* mPluginMenu;
|
||||
//QMenu* mFollowInDumpMenu;
|
||||
QList<QAction*> mFollowInDumpActions;
|
||||
|
||||
GotoDialog* mGoto = nullptr;
|
||||
GotoDialog* mGotoOffset = nullptr;
|
||||
TraceBrowser* mDisas;
|
||||
//CPUMultiDump* mMultiDump;
|
||||
int mAsciiSeparator = 0;
|
||||
|
||||
enum ViewEnum_t
|
||||
{
|
||||
ViewHexAscii = 0,
|
||||
ViewHexUnicode,
|
||||
ViewTextAscii,
|
||||
ViewTextUnicode,
|
||||
ViewIntegerSignedShort,
|
||||
ViewIntegerSignedLong,
|
||||
ViewIntegerSignedLongLong,
|
||||
ViewIntegerUnsignedShort,
|
||||
ViewIntegerUnsignedLong,
|
||||
ViewIntegerUnsignedLongLong,
|
||||
ViewIntegerHexShort,
|
||||
ViewIntegerHexLong,
|
||||
ViewIntegerHexLongLong,
|
||||
ViewFloatFloat,
|
||||
ViewFloatDouble,
|
||||
ViewFloatLongDouble,
|
||||
ViewAddress,
|
||||
ViewIntegerSignedByte,
|
||||
ViewIntegerUnsignedByte,
|
||||
ViewAddressAscii,
|
||||
ViewAddressUnicode,
|
||||
ViewHexCodepage,
|
||||
ViewTextCodepage
|
||||
};
|
||||
|
||||
void setView(ViewEnum_t view);
|
||||
};
|
|
@ -13,7 +13,7 @@ TraceFileDump::~TraceFileDump()
|
|||
|
||||
void TraceFileDump::clear()
|
||||
{
|
||||
maxIndex = 0;
|
||||
maxIndex = 0ull;
|
||||
dump.clear();
|
||||
}
|
||||
|
||||
|
@ -150,3 +150,41 @@ void TraceFileDump::findMemAreas()
|
|||
}
|
||||
while(true);
|
||||
}
|
||||
|
||||
// TraceFileDumpMemoryPage
|
||||
TraceFileDumpMemoryPage::TraceFileDumpMemoryPage(QObject* parent) : MemoryPage(0, 0, parent)
|
||||
{
|
||||
dump = nullptr;
|
||||
}
|
||||
|
||||
void TraceFileDumpMemoryPage::setSelectedIndex(unsigned long long index)
|
||||
{
|
||||
if(dump)
|
||||
selectedIndex = std::min(index, dump->getMaxIndex());
|
||||
else
|
||||
selectedIndex = 0ull;
|
||||
}
|
||||
|
||||
void TraceFileDumpMemoryPage::setDumpObject(TraceFileDump* dump)
|
||||
{
|
||||
this->dump = dump;
|
||||
}
|
||||
|
||||
unsigned long long TraceFileDumpMemoryPage::getSelectedIndex() const
|
||||
{
|
||||
return selectedIndex;
|
||||
}
|
||||
|
||||
bool TraceFileDumpMemoryPage::read(void* parDest, dsint parRVA, duint parSize) const
|
||||
{
|
||||
if(!dump)
|
||||
return false;
|
||||
auto buffer = dump->getBytes(mBase + parRVA, parSize, selectedIndex);
|
||||
memcpy(parDest, buffer.data(), parSize);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TraceFileDumpMemoryPage::write(const void* parDest, dsint parRVA, duint parSize)
|
||||
{
|
||||
return false; // write is not supported
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "Imports.h"
|
||||
#include <map>
|
||||
#include "MemoryPage.h"
|
||||
|
||||
class TraceFileDump
|
||||
{
|
||||
|
@ -49,3 +50,18 @@ private:
|
|||
std::map<Key, DumpRecord> dump;
|
||||
unsigned long long maxIndex;
|
||||
};
|
||||
|
||||
class TraceFileDumpMemoryPage : public MemoryPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TraceFileDumpMemoryPage(QObject* parent = 0);
|
||||
virtual bool read(void* parDest, dsint parRVA, duint parSize) const override;
|
||||
virtual bool write(const void* parDest, dsint parRVA, duint parSize) override;
|
||||
void setSelectedIndex(unsigned long long index);
|
||||
unsigned long long getSelectedIndex() const;
|
||||
void setDumpObject(TraceFileDump* dump);
|
||||
private:
|
||||
TraceFileDump* dump;
|
||||
unsigned long long selectedIndex = 0ull;
|
||||
};
|
||||
|
|
|
@ -123,6 +123,11 @@ unsigned long long TraceFileReader::Length() const
|
|||
return length;
|
||||
}
|
||||
|
||||
TraceFileDump* TraceFileReader::getDump()
|
||||
{
|
||||
return &dump;
|
||||
}
|
||||
|
||||
QString TraceFileReader::getIndexText(unsigned long long index) const
|
||||
{
|
||||
QString indexString;
|
||||
|
|
|
@ -43,6 +43,7 @@ public:
|
|||
void buildDumpTo(unsigned long long index);
|
||||
std::vector<unsigned long long> getReferences(duint startAddr, duint endAddr) const;
|
||||
void debugdump(unsigned long long index);
|
||||
TraceFileDump* getDump();
|
||||
|
||||
signals:
|
||||
void parseFinished();
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include "ui_TraceWidget.h"
|
||||
#include "TraceBrowser.h"
|
||||
#include "TraceInfoBox.h"
|
||||
#include "TraceDump.h"
|
||||
#include "TraceFileReader.h"
|
||||
#include "TraceRegisters.h"
|
||||
#include "StdTable.h"
|
||||
|
@ -16,6 +17,8 @@ TraceWidget::TraceWidget(QWidget* parent) :
|
|||
mTraceWidget = new TraceBrowser(this);
|
||||
mOverview = new StdTable(this);
|
||||
mInfo = new TraceInfoBox(this);
|
||||
mMemoryPage = new TraceFileDumpMemoryPage(this);
|
||||
mDump = new TraceDump(mTraceWidget, mMemoryPage, this);
|
||||
mGeneralRegs = new TraceRegisters(this);
|
||||
//disasm
|
||||
ui->mTopLeftUpperRightFrameLayout->addWidget(mTraceWidget);
|
||||
|
@ -44,7 +47,12 @@ TraceWidget::TraceWidget(QWidget* parent) :
|
|||
ui->mTopHSplitter->setCollapsible(1, true); // allow collapsing the RegisterView
|
||||
|
||||
//info
|
||||
ui->mTopLeftLowerFrameLayout->addWidget(mInfo);
|
||||
//ui->mTopLeftLowerFrameLayout->addWidget(mInfo);
|
||||
ui->mTopLeftUpperRightFrameLayout->addWidget(mInfo);
|
||||
|
||||
//dump
|
||||
ui->mTopLeftLowerFrameLayout->addWidget(mDump);
|
||||
|
||||
int height = (mInfo->getRowHeight() + 1) * 4;
|
||||
ui->mTopLeftLowerFrame->setMinimumHeight(height + 2);
|
||||
ui->mTopHSplitter->setSizes(QList<int>({1000, 1}));
|
||||
|
@ -80,10 +88,14 @@ void TraceWidget::traceSelectionChanged(unsigned long long selection)
|
|||
{
|
||||
registers = traceFile->Registers(selection);
|
||||
mInfo->update(selection, traceFile, registers);
|
||||
traceFile->buildDumpTo(selection);
|
||||
mMemoryPage->setDumpObject(traceFile->getDump());
|
||||
}
|
||||
else
|
||||
memset(®isters, 0, sizeof(registers));
|
||||
}
|
||||
else
|
||||
mMemoryPage->setDumpObject(nullptr);
|
||||
mGeneralRegs->setRegisters(®isters);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,9 @@ class CPUWidget;
|
|||
class TraceRegisters;
|
||||
class TraceBrowser;
|
||||
class TraceFileReader;
|
||||
class TraceFileDumpMemoryPage;
|
||||
class TraceInfoBox;
|
||||
class TraceDump;
|
||||
class StdTable;
|
||||
|
||||
namespace Ui
|
||||
|
@ -33,7 +35,9 @@ protected slots:
|
|||
protected:
|
||||
TraceBrowser* mTraceWidget;
|
||||
TraceInfoBox* mInfo;
|
||||
TraceDump* mDump;
|
||||
TraceRegisters* mGeneralRegs;
|
||||
TraceFileDumpMemoryPage* mMemoryPage;
|
||||
StdTable* mOverview;
|
||||
|
||||
private:
|
||||
|
|
|
@ -14,24 +14,6 @@
|
|||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMaximumSize</enum>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QSplitter" name="mVSplitter">
|
||||
<property name="orientation">
|
||||
|
@ -54,12 +36,6 @@
|
|||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QSplitter" name="mTopLeftVSplitter">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
|
@ -67,40 +43,45 @@
|
|||
<number>1</number>
|
||||
</property>
|
||||
<property name="childrenCollapsible">
|
||||
<bool>true</bool>
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QFrame" name="mTopLeftUpperRightFrame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
<widget class="QSplitter" name="mTopLeftUpperHSplitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
<property name="handleWidth">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="mTopLeftUpperRightFrameLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
<property name="childrenCollapsible">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QFrame" name="mTopLeftUpperRightFrame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</layout>
|
||||
<layout class="QVBoxLayout" name="mTopLeftUpperRightFrameLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QFrame" name="mTopLeftLowerFrame">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
|
@ -123,16 +104,13 @@
|
|||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="mTopLeftLowerFrameLayout_2"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QSplitter" name="mTopRightVSplitter">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
|
@ -143,19 +121,13 @@
|
|||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QFrame" name="mTopRightUpperFrame">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="mTopRightUpperFrameLayout">
|
||||
<layout class="QVBoxLayout" name="mTopRightUpperFrameLayout_2">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
|
@ -171,41 +143,87 @@
|
|||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="mTopRightUpperFrameLayout"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="mTopRightLowerFrame">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="mTopRightLowerFrameLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="mTopRightLowerFrameLayout"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QSplitter" name="mBotHSplitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="handleWidth">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="childrenCollapsible">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QFrame" name="mBotLeftFrame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="mBotLeftFrameLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="mBotRightFrame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="mBotRightFrameLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
|
|
@ -80,6 +80,7 @@ SOURCES += \
|
|||
Src/Gui/RichTextItemDelegate.cpp \
|
||||
Src/Gui/SystemBreakpointScriptDialog.cpp \
|
||||
Src/Imports.cpp \
|
||||
Src/Tracer/TraceDump.cpp \
|
||||
Src/Tracer/TraceFileDump.cpp \
|
||||
Src/Tracer/TraceInfoBox.cpp \
|
||||
Src/Tracer/TraceRegisters.cpp \
|
||||
|
@ -203,6 +204,7 @@ HEADERS += \
|
|||
Src/Gui/CPURegistersView.h \
|
||||
Src/Gui/RichTextItemDelegate.h \
|
||||
Src/Gui/SystemBreakpointScriptDialog.h \
|
||||
Src/Tracer/TraceDump.h \
|
||||
Src/Tracer/TraceFileDump.h \
|
||||
Src/Tracer/TraceInfoBox.h \
|
||||
Src/Tracer/TraceRegisters.h \
|
||||
|
|
Loading…
Reference in New Issue