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 qwordStringMaxLength(HexDump::QwordViewMode mode);
|
||||||
static int twordStringMaxLength(HexDump::TwordViewMode mode);
|
static int twordStringMaxLength(HexDump::TwordViewMode mode);
|
||||||
|
|
||||||
HexDump::HexDump(QWidget* parent)
|
HexDump::HexDump(QWidget* parent, MemoryPage* memPage)
|
||||||
: AbstractTableView(parent)
|
: AbstractTableView(parent)
|
||||||
{
|
{
|
||||||
memset(&mSelection, 0, sizeof(SelectionData));
|
memset(&mSelection, 0, sizeof(SelectionData));
|
||||||
|
@ -22,7 +22,10 @@ HexDump::HexDump(QWidget* parent)
|
||||||
|
|
||||||
setRowCount(0);
|
setRowCount(0);
|
||||||
|
|
||||||
mMemPage = new MemoryPage(0, 0);
|
if(!memPage)
|
||||||
|
mMemPage = new MemoryPage(0, 0, this);
|
||||||
|
else
|
||||||
|
mMemPage = memPage;
|
||||||
mForceColumn = -1;
|
mForceColumn = -1;
|
||||||
|
|
||||||
clearDescriptors();
|
clearDescriptors();
|
||||||
|
|
|
@ -79,7 +79,7 @@ public:
|
||||||
std::function<void()> columnSwitch;
|
std::function<void()> columnSwitch;
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit HexDump(QWidget* parent = 0);
|
explicit HexDump(QWidget* parent = 0, MemoryPage* memPage = 0);
|
||||||
~HexDump() override;
|
~HexDump() override;
|
||||||
|
|
||||||
// Configuration
|
// Configuration
|
||||||
|
|
|
@ -9,15 +9,15 @@ class MemoryPage : public QObject
|
||||||
public:
|
public:
|
||||||
explicit MemoryPage(duint parBase, duint parSize, QObject* parent = 0);
|
explicit MemoryPage(duint parBase, duint parSize, QObject* parent = 0);
|
||||||
|
|
||||||
bool read(void* parDest, dsint parRVA, duint parSize) const;
|
virtual bool read(void* parDest, dsint parRVA, duint parSize) const;
|
||||||
bool write(const void* parDest, dsint parRVA, duint parSize);
|
virtual bool write(const void* parDest, dsint parRVA, duint parSize);
|
||||||
duint getSize() const;
|
duint getSize() const;
|
||||||
duint getBase() const;
|
duint getBase() const;
|
||||||
duint va(dsint rva) const;
|
duint va(dsint rva) const;
|
||||||
void setAttributes(duint base, duint size);
|
void setAttributes(duint base, duint size);
|
||||||
bool inRange(duint va) const;
|
bool inRange(duint va) const;
|
||||||
|
|
||||||
private:
|
protected:
|
||||||
duint mBase;
|
duint mBase;
|
||||||
duint mSize;
|
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()
|
void TraceFileDump::clear()
|
||||||
{
|
{
|
||||||
maxIndex = 0;
|
maxIndex = 0ull;
|
||||||
dump.clear();
|
dump.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,3 +150,41 @@ void TraceFileDump::findMemAreas()
|
||||||
}
|
}
|
||||||
while(true);
|
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 "Imports.h"
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include "MemoryPage.h"
|
||||||
|
|
||||||
class TraceFileDump
|
class TraceFileDump
|
||||||
{
|
{
|
||||||
|
@ -49,3 +50,18 @@ private:
|
||||||
std::map<Key, DumpRecord> dump;
|
std::map<Key, DumpRecord> dump;
|
||||||
unsigned long long maxIndex;
|
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;
|
return length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TraceFileDump* TraceFileReader::getDump()
|
||||||
|
{
|
||||||
|
return &dump;
|
||||||
|
}
|
||||||
|
|
||||||
QString TraceFileReader::getIndexText(unsigned long long index) const
|
QString TraceFileReader::getIndexText(unsigned long long index) const
|
||||||
{
|
{
|
||||||
QString indexString;
|
QString indexString;
|
||||||
|
|
|
@ -43,6 +43,7 @@ public:
|
||||||
void buildDumpTo(unsigned long long index);
|
void buildDumpTo(unsigned long long index);
|
||||||
std::vector<unsigned long long> getReferences(duint startAddr, duint endAddr) const;
|
std::vector<unsigned long long> getReferences(duint startAddr, duint endAddr) const;
|
||||||
void debugdump(unsigned long long index);
|
void debugdump(unsigned long long index);
|
||||||
|
TraceFileDump* getDump();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void parseFinished();
|
void parseFinished();
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include "ui_TraceWidget.h"
|
#include "ui_TraceWidget.h"
|
||||||
#include "TraceBrowser.h"
|
#include "TraceBrowser.h"
|
||||||
#include "TraceInfoBox.h"
|
#include "TraceInfoBox.h"
|
||||||
|
#include "TraceDump.h"
|
||||||
#include "TraceFileReader.h"
|
#include "TraceFileReader.h"
|
||||||
#include "TraceRegisters.h"
|
#include "TraceRegisters.h"
|
||||||
#include "StdTable.h"
|
#include "StdTable.h"
|
||||||
|
@ -16,6 +17,8 @@ TraceWidget::TraceWidget(QWidget* parent) :
|
||||||
mTraceWidget = new TraceBrowser(this);
|
mTraceWidget = new TraceBrowser(this);
|
||||||
mOverview = new StdTable(this);
|
mOverview = new StdTable(this);
|
||||||
mInfo = new TraceInfoBox(this);
|
mInfo = new TraceInfoBox(this);
|
||||||
|
mMemoryPage = new TraceFileDumpMemoryPage(this);
|
||||||
|
mDump = new TraceDump(mTraceWidget, mMemoryPage, this);
|
||||||
mGeneralRegs = new TraceRegisters(this);
|
mGeneralRegs = new TraceRegisters(this);
|
||||||
//disasm
|
//disasm
|
||||||
ui->mTopLeftUpperRightFrameLayout->addWidget(mTraceWidget);
|
ui->mTopLeftUpperRightFrameLayout->addWidget(mTraceWidget);
|
||||||
|
@ -44,7 +47,12 @@ TraceWidget::TraceWidget(QWidget* parent) :
|
||||||
ui->mTopHSplitter->setCollapsible(1, true); // allow collapsing the RegisterView
|
ui->mTopHSplitter->setCollapsible(1, true); // allow collapsing the RegisterView
|
||||||
|
|
||||||
//info
|
//info
|
||||||
ui->mTopLeftLowerFrameLayout->addWidget(mInfo);
|
//ui->mTopLeftLowerFrameLayout->addWidget(mInfo);
|
||||||
|
ui->mTopLeftUpperRightFrameLayout->addWidget(mInfo);
|
||||||
|
|
||||||
|
//dump
|
||||||
|
ui->mTopLeftLowerFrameLayout->addWidget(mDump);
|
||||||
|
|
||||||
int height = (mInfo->getRowHeight() + 1) * 4;
|
int height = (mInfo->getRowHeight() + 1) * 4;
|
||||||
ui->mTopLeftLowerFrame->setMinimumHeight(height + 2);
|
ui->mTopLeftLowerFrame->setMinimumHeight(height + 2);
|
||||||
ui->mTopHSplitter->setSizes(QList<int>({1000, 1}));
|
ui->mTopHSplitter->setSizes(QList<int>({1000, 1}));
|
||||||
|
@ -80,10 +88,14 @@ void TraceWidget::traceSelectionChanged(unsigned long long selection)
|
||||||
{
|
{
|
||||||
registers = traceFile->Registers(selection);
|
registers = traceFile->Registers(selection);
|
||||||
mInfo->update(selection, traceFile, registers);
|
mInfo->update(selection, traceFile, registers);
|
||||||
|
traceFile->buildDumpTo(selection);
|
||||||
|
mMemoryPage->setDumpObject(traceFile->getDump());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
memset(®isters, 0, sizeof(registers));
|
memset(®isters, 0, sizeof(registers));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
mMemoryPage->setDumpObject(nullptr);
|
||||||
mGeneralRegs->setRegisters(®isters);
|
mGeneralRegs->setRegisters(®isters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,9 @@ class CPUWidget;
|
||||||
class TraceRegisters;
|
class TraceRegisters;
|
||||||
class TraceBrowser;
|
class TraceBrowser;
|
||||||
class TraceFileReader;
|
class TraceFileReader;
|
||||||
|
class TraceFileDumpMemoryPage;
|
||||||
class TraceInfoBox;
|
class TraceInfoBox;
|
||||||
|
class TraceDump;
|
||||||
class StdTable;
|
class StdTable;
|
||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
||||||
|
@ -33,7 +35,9 @@ protected slots:
|
||||||
protected:
|
protected:
|
||||||
TraceBrowser* mTraceWidget;
|
TraceBrowser* mTraceWidget;
|
||||||
TraceInfoBox* mInfo;
|
TraceInfoBox* mInfo;
|
||||||
|
TraceDump* mDump;
|
||||||
TraceRegisters* mGeneralRegs;
|
TraceRegisters* mGeneralRegs;
|
||||||
|
TraceFileDumpMemoryPage* mMemoryPage;
|
||||||
StdTable* mOverview;
|
StdTable* mOverview;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -14,24 +14,6 @@
|
||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<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>
|
<item>
|
||||||
<widget class="QSplitter" name="mVSplitter">
|
<widget class="QSplitter" name="mVSplitter">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
@ -54,12 +36,6 @@
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QSplitter" name="mTopLeftVSplitter">
|
<widget class="QSplitter" name="mTopLeftVSplitter">
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -67,7 +43,17 @@
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="childrenCollapsible">
|
<property name="childrenCollapsible">
|
||||||
<bool>true</bool>
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<widget class="QSplitter" name="mTopLeftUpperHSplitter">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="handleWidth">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="childrenCollapsible">
|
||||||
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QFrame" name="mTopLeftUpperRightFrame">
|
<widget class="QFrame" name="mTopLeftUpperRightFrame">
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
|
@ -94,13 +80,8 @@
|
||||||
</property>
|
</property>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
</widget>
|
||||||
<widget class="QFrame" name="mTopLeftLowerFrame">
|
<widget class="QFrame" name="mTopLeftLowerFrame">
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::NoFrame</enum>
|
<enum>QFrame::NoFrame</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -123,16 +104,13 @@
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="mTopLeftLowerFrameLayout_2"/>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QSplitter" name="mTopRightVSplitter">
|
<widget class="QSplitter" name="mTopRightVSplitter">
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -143,19 +121,13 @@
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QFrame" name="mTopRightUpperFrame">
|
<widget class="QFrame" name="mTopRightUpperFrame">
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::NoFrame</enum>
|
<enum>QFrame::NoFrame</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="frameShadow">
|
<property name="frameShadow">
|
||||||
<enum>QFrame::Raised</enum>
|
<enum>QFrame::Raised</enum>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="mTopRightUpperFrameLayout">
|
<layout class="QVBoxLayout" name="mTopRightUpperFrameLayout_2">
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
@ -171,22 +143,44 @@
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="mTopRightUpperFrameLayout"/>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QFrame" name="mTopRightLowerFrame">
|
<widget class="QFrame" name="mTopRightLowerFrame">
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::NoFrame</enum>
|
<enum>QFrame::NoFrame</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="frameShadow">
|
<property name="frameShadow">
|
||||||
<enum>QFrame::Raised</enum>
|
<enum>QFrame::Raised</enum>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="mTopRightLowerFrameLayout">
|
<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">
|
<property name="spacing">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
@ -204,6 +198,30 @@
|
||||||
</property>
|
</property>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</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>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
|
@ -80,6 +80,7 @@ SOURCES += \
|
||||||
Src/Gui/RichTextItemDelegate.cpp \
|
Src/Gui/RichTextItemDelegate.cpp \
|
||||||
Src/Gui/SystemBreakpointScriptDialog.cpp \
|
Src/Gui/SystemBreakpointScriptDialog.cpp \
|
||||||
Src/Imports.cpp \
|
Src/Imports.cpp \
|
||||||
|
Src/Tracer/TraceDump.cpp \
|
||||||
Src/Tracer/TraceFileDump.cpp \
|
Src/Tracer/TraceFileDump.cpp \
|
||||||
Src/Tracer/TraceInfoBox.cpp \
|
Src/Tracer/TraceInfoBox.cpp \
|
||||||
Src/Tracer/TraceRegisters.cpp \
|
Src/Tracer/TraceRegisters.cpp \
|
||||||
|
@ -203,6 +204,7 @@ HEADERS += \
|
||||||
Src/Gui/CPURegistersView.h \
|
Src/Gui/CPURegistersView.h \
|
||||||
Src/Gui/RichTextItemDelegate.h \
|
Src/Gui/RichTextItemDelegate.h \
|
||||||
Src/Gui/SystemBreakpointScriptDialog.h \
|
Src/Gui/SystemBreakpointScriptDialog.h \
|
||||||
|
Src/Tracer/TraceDump.h \
|
||||||
Src/Tracer/TraceFileDump.h \
|
Src/Tracer/TraceFileDump.h \
|
||||||
Src/Tracer/TraceInfoBox.h \
|
Src/Tracer/TraceInfoBox.h \
|
||||||
Src/Tracer/TraceRegisters.h \
|
Src/Tracer/TraceRegisters.h \
|
||||||
|
|
Loading…
Reference in New Issue