1
0
Fork 0

GUI: refactor finished

This commit is contained in:
Mr. eXoDia 2014-08-18 14:30:12 +02:00
parent 0f8e1998da
commit 8f7f34a317
93 changed files with 322 additions and 217 deletions

View File

@ -1,4 +1,6 @@
#include "AbstractTableView.h"
#include <QStyleOptionButton>
#include "Configuration.h"
AbstractTableView::AbstractTableView(QWidget* parent) : QAbstractScrollArea(parent)
{

View File

@ -1,6 +1,14 @@
#ifndef ABSTRACTTABLEVIEW_H
#define ABSTRACTTABLEVIEW_H
#include <QScrollBar>
#include <QAbstractScrollArea>
#include <QPushButton>
#include <QApplication>
#include <QMouseEvent>
#include <QPainter>
#include "NewTypes.h"
//Hacky class that fixes a really annoying cursor problem
class AbstractTableScrollBar : public QScrollBar
{

View File

@ -1,4 +1,6 @@
#include "Disassembly.h"
#include "Configuration.h"
#include "Bridge.h"
Disassembly::Disassembly(QWidget* parent) : AbstractTableView(parent)
{

View File

@ -1,6 +1,10 @@
#ifndef DISASSEMBLY_H
#define DISASSEMBLY_H
#include "AbstractTableView.h"
#include "QBeaEngine.h"
#include "MemoryPage.h"
class Disassembly : public AbstractTableView
{
Q_OBJECT

View File

@ -1,4 +1,7 @@
#include "HexDump.h"
#include <sstream>
#include "Configuration.h"
#include "Bridge.h"
HexDump::HexDump(QWidget* parent) : AbstractTableView(parent)
{

View File

@ -1,6 +1,10 @@
#ifndef _HEXDUMP_H
#define _HEXDUMP_H
#include "AbstractTableView.h"
#include "RichTextPainter.h"
#include "MemoryPage.h"
class HexDump : public AbstractTableView
{
Q_OBJECT

View File

@ -1,6 +1,9 @@
#ifndef HISTORYLINEEDIT_H
#define HISTORYLINEEDIT_H
#include <QLineEdit>
#include <QKeyEvent>
class HistoryLineEdit : public QLineEdit
{
Q_OBJECT

View File

@ -1,4 +1,7 @@
#include "ReferenceView.h"
#include <QMessageBox>
#include "Configuration.h"
#include "Bridge.h"
ReferenceView::ReferenceView()
{

View File

@ -1,6 +1,9 @@
#ifndef REFERENCEVIEW_H
#define REFERENCEVIEW_H
#include <QProgressBar>
#include "SearchListView.h"
class ReferenceView : public SearchListView
{
Q_OBJECT

View File

@ -1,6 +1,12 @@
#ifndef SEARCHLISTVIEW_H
#define SEARCHLISTVIEW_H
#include <QWidget>
#include <QMenu>
#include <QVBoxLayout>
#include <QLineEdit>
#include "SearchListViewTable.h"
namespace Ui
{
class SearchListView;

View File

@ -1,4 +1,6 @@
#include "SearchListViewTable.h"
#include "Configuration.h"
#include "RichTextPainter.h"
SearchListViewTable::SearchListViewTable(StdTable* parent) : StdTable(parent)
{

View File

@ -1,6 +1,8 @@
#ifndef SEARCHLISTVIEWTABLE_H
#define SEARCHLISTVIEWTABLE_H
#include "StdTable.h"
class SearchListViewTable : public StdTable
{
Q_OBJECT

View File

@ -56,7 +56,7 @@ void ShortcutEdit::keyPressEvent(QKeyEvent* event)
QString KeyText = QKeySequence(keyInt).toString(QKeySequence::NativeText) ;
for(int i = 0; i < KeyText.length(); i++)
{
if(KeyText[i].toAscii() == 0)
if(KeyText[i].toLatin1() == 0)
{
setText("");
keyInt = -1;

View File

@ -1,6 +1,10 @@
#ifndef SHORTCUTEDIT_H
#define SHORTCUTEDIT_H
#include <QLineEdit>
#include <QKeySequence>
#include <QKeyEvent>
class ShortcutEdit : public QLineEdit
{
Q_OBJECT

View File

@ -1,4 +1,5 @@
#include "StdTable.h"
#include "Bridge.h"
StdTable::StdTable(QWidget* parent) : AbstractTableView(parent)
{

View File

@ -1,6 +1,8 @@
#ifndef STDTABLE_H
#define STDTABLE_H
#include "AbstractTableView.h"
class StdTable : public AbstractTableView
{
Q_OBJECT

View File

@ -1,4 +1,8 @@
#include "Bridge.h"
#include <QClipboard>
#include "QBeaEngine.h"
#include "main.h"
#include "Exports.h"
/************************************************************************************
Global Variables

View File

@ -1,6 +1,12 @@
#ifndef BRIDGE_H
#define BRIDGE_H
#include <QObject>
#include <QMutex>
#include "Imports.h"
#include "NewTypes.h"
#include "SearchListView.h"
class Bridge : public QObject
{
Q_OBJECT

View File

@ -1,4 +1,5 @@
#include "BeaTokenizer.h"
#include "Configuration.h"
//variables
QMap<BeaTokenizer::BeaTokenType, BeaTokenizer::BeaTokenColor> BeaTokenizer::colorNamesMap;

View File

@ -1,6 +1,12 @@
#ifndef BEATOKENIZER_H
#define BEATOKENIZER_H
#include <QMap>
#include <QSet>
#include "RichTextPainter.h"
#include "BeaEngine.h"
#include "NewTypes.h"
class BeaTokenizer : RichTextPainter
{
public:

View File

@ -1,6 +1,10 @@
#ifndef QBEAENGINE_H
#define QBEAENGINE_H
#include <QString>
#include "NewTypes.h"
#include "BeaTokenizer.h"
typedef struct _Instruction_t
{
QString instStr;

View File

@ -1,6 +1,8 @@
#ifndef NEWTYPES_H
#define NEWTYPES_H
#include "Imports.h"
typedef short int16;
typedef unsigned short uint16;

View File

@ -1,5 +1,9 @@
#include "AppearanceDialog.h"
#include "ui_AppearanceDialog.h"
#include <QColorDialog>
#include <QFontDialog>
#include <QMessageBox>
#include "Configuration.h"
AppearanceDialog::AppearanceDialog(QWidget* parent) : QDialog(parent), ui(new Ui::AppearanceDialog)
{

View File

@ -1,6 +1,9 @@
#ifndef APPEARANCEDIALOG_H
#define APPEARANCEDIALOG_H
#include <QDialog>
#include <QMap>
namespace Ui
{
class AppearanceDialog;

View File

@ -1,5 +1,6 @@
#include "AttachDialog.h"
#include "ui_AttachDialog.h"
#include <QMenu>
AttachDialog::AttachDialog(QWidget* parent) : QDialog(parent), ui(new Ui::AttachDialog)
{

View File

@ -1,6 +1,8 @@
#ifndef ATTACHDIALOG_H
#define ATTACHDIALOG_H
#include <QDialog>
namespace Ui
{
class AttachDialog;

View File

@ -1,4 +1,7 @@
#include "BreakpointsView.h"
#include "Configuration.h"
#include "Bridge.h"
#include "Breakpoints.h"
BreakpointsView::BreakpointsView(QWidget* parent) : QWidget(parent)
{

View File

@ -1,6 +1,11 @@
#ifndef BREAKPOINTSVIEW_H
#define BREAKPOINTSVIEW_H
#include <QWidget>
#include <QVBoxLayout>
#include <QSplitter>
#include "StdTable.h"
class BreakpointsView : public QWidget
{
Q_OBJECT

View File

@ -1,4 +1,11 @@
#include "CPUDisassembly.h"
#include <QMessageBox>
#include <QClipboard>
#include "Configuration.h"
#include "Bridge.h"
#include "LineEditDialog.h"
#include "WordEditDialog.h"
#include "HexEditDialog.h"
CPUDisassembly::CPUDisassembly(QWidget* parent) : Disassembly(parent)
{

View File

@ -1,6 +1,9 @@
#ifndef CPUDISASSEMBLY_H
#define CPUDISASSEMBLY_H
#include "Disassembly.h"
#include "GotoDialog.h"
class CPUDisassembly : public Disassembly
{
Q_OBJECT

View File

@ -1,4 +1,10 @@
#include "CPUDump.h"
#include <QMessageBox>
#include <QClipboard>
#include "Configuration.h"
#include "Bridge.h"
#include "LineEditDialog.h"
#include "HexEditDialog.h"
CPUDump::CPUDump(QWidget* parent) : HexDump(parent)
{

View File

@ -1,6 +1,9 @@
#ifndef CPUDUMP_H
#define CPUDUMP_H
#include "HexDump.h"
#include "GotoDialog.h"
class CPUDump : public HexDump
{
Q_OBJECT

View File

@ -1,4 +1,5 @@
#include "CPUInfoBox.h"
#include "Bridge.h"
CPUInfoBox::CPUInfoBox(StdTable* parent) : StdTable(parent)
{

View File

@ -1,6 +1,8 @@
#ifndef INFOBOX_H
#define INFOBOX_H
#include "StdTable.h"
class CPUInfoBox : public StdTable
{
Q_OBJECT

View File

@ -1,4 +1,6 @@
#include "CPUSideBar.h"
#include "Configuration.h"
#include "Breakpoints.h"
CPUSideBar::CPUSideBar(CPUDisassembly* Ptr, QWidget* parent) : QAbstractScrollArea(parent)
{

View File

@ -1,6 +1,9 @@
#ifndef CPUSIDEBAR_H
#define CPUSIDEBAR_H
#include <QAbstractScrollArea>
#include "CPUDisassembly.h"
class CPUSideBar : public QAbstractScrollArea
{
Q_OBJECT

View File

@ -1,4 +1,9 @@
#include "CPUStack.h"
#include <QClipboard>
#include "Configuration.h"
#include "Bridge.h"
#include "HexEditDialog.h"
#include "WordEditDialog.h"
CPUStack::CPUStack(QWidget* parent) : HexDump(parent)
{

View File

@ -1,6 +1,9 @@
#ifndef CPUSTACK_H
#define CPUSTACK_H
#include "HexDump.h"
#include "GotoDialog.h"
class CPUStack : public HexDump
{
Q_OBJECT

View File

@ -1,6 +1,15 @@
#ifndef CPUWIDGET_H
#define CPUWIDGET_H
#include <QWidget>
#include <QTabWidget>
#include "CPUSideBar.h"
#include "CPUDisassembly.h"
#include "CPUDump.h"
#include "CPUStack.h"
#include "RegistersView.h"
#include "CPUInfoBox.h"
namespace Ui
{
class CPUWidget;

View File

@ -221,7 +221,7 @@ void CalculatorDialog::on_txtAscii_textEdited(const QString & arg1)
return;
}
ui->txtAscii->setStyleSheet("");
ui->txtExpression->setText(QString().sprintf("%X", text[0].toAscii()));
ui->txtExpression->setText(QString().sprintf("%X", text[0].toLatin1()));
ui->txtAscii->setCursorPosition(1);
}

View File

@ -1,6 +1,10 @@
#ifndef CALCULATORDIALOG_H
#define CALCULATORDIALOG_H
#include <QDialog>
#include <QThread>
#include "NewTypes.h"
namespace Ui
{
class CalculatorDialog;

View File

@ -1,4 +1,5 @@
#include "CallStackView.h"
#include "Bridge.h"
CallStackView::CallStackView(StdTable* parent) : StdTable(parent)
{

View File

@ -1,6 +1,8 @@
#ifndef CALLSTACKVIEW_H
#define CALLSTACKVIEW_H
#include "StdTable.h"
class CallStackView : public StdTable
{
Q_OBJECT

View File

@ -1,8 +1,7 @@
#include "CloseDialog.h"
#include "ui_CloseDialog.h"
CloseDialog::CloseDialog(QWidget* parent) :
QDialog(parent),
ui(new Ui::CloseDialog)
CloseDialog::CloseDialog(QWidget* parent) : QDialog(parent), ui(new Ui::CloseDialog)
{
ui->setupUi(this);
setModal(true);

View File

@ -1,6 +1,8 @@
#ifndef CLOSEDIALOG_H
#define CLOSEDIALOG_H
#include <QDialog>
namespace Ui
{
class CloseDialog;

View File

@ -1,4 +1,5 @@
#include "CommandHelpView.h"
#include "ui_CommandHelpView.h"
CommandHelpView::CommandHelpView(QWidget* parent) : QWidget(parent), ui(new Ui::CommandHelpView)
{

View File

@ -1,6 +1,10 @@
#ifndef COMMANDHELPVIEW_H
#define COMMANDHELPVIEW_H
#include <QWidget>
#include <QVBoxLayout>
#include "SearchListView.h"
namespace Ui
{
class CommandHelpView;

View File

@ -1,4 +1,6 @@
#include "CommandLineEdit.h"
#include <QStringListModel>
#include "Bridge.h"
CommandLineEdit::CommandLineEdit(QWidget* parent) : HistoryLineEdit(parent)
{

View File

@ -1,6 +1,9 @@
#ifndef COMMANDLINEEDIT_H
#define COMMANDLINEEDIT_H
#include "HistoryLineEdit.h"
#include <QCompleter>
class CommandLineEdit : public HistoryLineEdit
{
Q_OBJECT

View File

@ -1,6 +1,8 @@
#ifndef EXCEPTIONRANGEDIALOG_H
#define EXCEPTIONRANGEDIALOG_H
#include <QDialog>
namespace Ui
{
class ExceptionRangeDialog;

View File

@ -1,6 +1,10 @@
#ifndef GOTODIALOG_H
#define GOTODIALOG_H
#include <QDialog>
#include <QThread>
#include "NewTypes.h"
namespace Ui
{
class GotoDialog;

View File

@ -1,9 +1,9 @@
#include "HexEditDialog.h"
#include "ui_HexEditDialog.h"
#include "Configuration.h"
#include "Bridge.h"
HexEditDialog::HexEditDialog(QWidget* parent) :
QDialog(parent),
ui(new Ui::HexEditDialog)
HexEditDialog::HexEditDialog(QWidget* parent) : QDialog(parent), ui(new Ui::HexEditDialog)
{
ui->setupUi(this);
@ -66,7 +66,7 @@ void HexEditDialog::on_btnAscii2Hex_clicked()
QString text = ui->lineEditAscii->text();
QByteArray data;
for(int i = 0; i < text.length(); i++)
data.append(text[i].toAscii());
data.append(text[i].toLatin1());
if(ui->chkKeepSize->isChecked()) //keep size
{
int dataSize = mHexEdit->data().size();
@ -105,7 +105,7 @@ void HexEditDialog::dataChangedSlot()
{
QChar ch(data.constData()[i]);
if(ch.isPrint())
ascii += ch.toAscii();
ascii += ch.toLatin1();
else
ascii += '.';
}

View File

@ -1,6 +1,9 @@
#ifndef HEXEDITDIALOG_H
#define HEXEDITDIALOG_H
#include <QDialog>
#include "QHexEdit/QHexEdit.h"
namespace Ui
{
class HexEditDialog;

View File

@ -1,6 +1,8 @@
#ifndef LINEEDITDIALOG_H
#define LINEEDITDIALOG_H
#include <QDialog>
namespace Ui
{
class LineEditDialog;

View File

@ -1,4 +1,6 @@
#include "LogView.h"
#include "Configuration.h"
#include "Bridge.h"
LogView::LogView(QWidget* parent) : QTextEdit(parent)
{

View File

@ -1,6 +1,8 @@
#ifndef LOGVIEW_H
#define LOGVIEW_H
#include <QTextEdit>
class LogView : public QTextEdit
{
Q_OBJECT

View File

@ -1,5 +1,17 @@
#include "MainWindow.h"
#include "ui_MainWindow.h"
#include <QMessageBox>
#include <QIcon>
#include <QUrl>
#include <QFileDialog>
#include <QMimeData>
#include <QDesktopServices>
#include "Configuration.h"
#include "SettingsDialog.h"
#include "AppearanceDialog.h"
#include "ShortcutsDialog.h"
#include "AttachDialog.h"
#include "LineEditDialog.h"
MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{

View File

@ -1,6 +1,25 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDragEnterEvent>
#include "CloseDialog.h"
#include "CommandLineEdit.h"
#include "TabWidget.h"
#include "CPUWidget.h"
#include "MemoryMapView.h"
#include "CallStackView.h"
#include "LogView.h"
#include "SymbolView.h"
#include "BreakpointsView.h"
#include "ScriptView.h"
#include "ReferenceView.h"
#include "ThreadView.h"
#include "PatchDialog.h"
#include "CalculatorDialog.h"
#include "StatusLabel.h"
#include "UpdateChecker.h"
namespace Ui
{
class MainWindow;
@ -74,7 +93,6 @@ public slots:
private:
Ui::MainWindow* ui;
CloseDialog* mCloseDialog;
CommandLineEdit* mCmdLineEdit;
MHTabWidget* mTabWidget;
CPUWidget* mCpuWidget;

View File

@ -1,4 +1,7 @@
#include "MemoryMapView.h"
#include "Configuration.h"
#include "Bridge.h"
#include "PageMemoryRights.h"
MemoryMapView::MemoryMapView(StdTable* parent) : StdTable(parent)
{

View File

@ -1,6 +1,8 @@
#ifndef MEMORYMAPVIEW_H
#define MEMORYMAPVIEW_H
#include "StdTable.h"
class MemoryMapView : public StdTable
{
Q_OBJECT

View File

@ -1,6 +1,9 @@
#ifndef PAGEMEMORYRIGHTS_H
#define PAGEMEMORYRIGHTS_H
#include <QDialog>
#include "NewTypes.h"
#define PAGE_SIZE 0x1000
namespace Ui

View File

@ -1,5 +1,10 @@
#include "PatchDialog.h"
#include "ui_PatchDialog.h"
#include <QMessageBox>
#include <QIcon>
#include <QDesktopServices>
#include <QFileDialog>
#include <QTextStream>
PatchDialog::PatchDialog(QWidget* parent) :
QDialog(parent),

View File

@ -1,6 +1,11 @@
#ifndef PATCHDIALOG_H
#define PATCHDIALOG_H
#include <QDialog>
#include <QListWidgetItem>
#include "PatchDialogGroupSelector.h"
#include "Bridge.h"
namespace Ui
{
class PatchDialog;

View File

@ -1,6 +1,9 @@
#ifndef PATCHDIALOGGROUPSELECTOR_H
#define PATCHDIALOGGROUPSELECTOR_H
#include <QDialog>
#include <QKeyEvent>
namespace Ui
{
class PatchDialogGroupSelector;

View File

@ -1,4 +1,7 @@
#include "RegistersView.h"
#include <QClipboard>
#include "Configuration.h"
#include "WordEditDialog.h"
RegistersView::RegistersView(QWidget* parent) : QAbstractScrollArea(parent), mVScrollOffset(0)
{

View File

@ -1,6 +1,11 @@
#ifndef REGISTERSVIEW_H
#define REGISTERSVIEW_H
#include <QAbstractScrollArea>
#include <QSet>
#include <QMap>
#include "Bridge.h"
#define IsCharacterRegister(x) ((x>=CAX && x<CIP))
namespace Ui

View File

@ -1,4 +1,10 @@
#include "ScriptView.h"
#include <QMessageBox>
#include <QFileDialog>
#include "Configuration.h"
#include "Bridge.h"
#include "RichTextPainter.h"
#include "LineEditDialog.h"
ScriptView::ScriptView(StdTable* parent) : StdTable(parent)
{

View File

@ -1,6 +1,8 @@
#ifndef SCRIPTVIEW_H
#define SCRIPTVIEW_H
#include "StdTable.h"
class ScriptView : public StdTable
{
Q_OBJECT

View File

@ -1,5 +1,9 @@
#include "SettingsDialog.h"
#include "ui_SettingsDialog.h"
#include <QMessageBox>
#include "Configuration.h"
#include "Bridge.h"
#include "ExceptionRangeDialog.h"
SettingsDialog::SettingsDialog(QWidget* parent) :
QDialog(parent),

View File

@ -1,6 +1,8 @@
#ifndef SETTINGSDIALOG_H
#define SETTINGSDIALOG_H
#include <QDialog>
namespace Ui
{
class SettingsDialog;

View File

@ -1,6 +1,10 @@
#ifndef SHORTCUTSDIALOG_H
#define SHORTCUTSDIALOG_H
#include <QDialog>
#include <QHeaderView>
#include "Configuration.h"
namespace Ui
{
class ShortcutsDialog;

View File

@ -1,6 +1,10 @@
#ifndef LABELCLASS_H
#define LABELCLASS_H
#include <QLabel>
#include <QStatusBar>
#include "Bridge.h"
class StatusLabel : public QLabel
{
Q_OBJECT

View File

@ -1,5 +1,8 @@
#include "SymbolView.h"
#include "ui_SymbolView.h"
#include <QMessageBox>
#include "Configuration.h"
#include "Bridge.h"
SymbolView::SymbolView(QWidget* parent) : QWidget(parent), ui(new Ui::SymbolView)
{

View File

@ -1,6 +1,9 @@
#ifndef SYMBOLVIEW_H
#define SYMBOLVIEW_H
#include <QWidget>
#include "Bridge.h"
namespace Ui
{
class SymbolView;

View File

@ -1,4 +1,6 @@
#include "ThreadView.h"
#include "Configuration.h"
#include "Bridge.h"
void ThreadView::contextMenuSlot(const QPoint & pos)
{

View File

@ -1,6 +1,9 @@
#ifndef THREADVIEW_H
#define THREADVIEW_H
#include "StdTable.h"
#include <QMenu>
class ThreadView : public StdTable
{
Q_OBJECT

View File

@ -1,6 +1,11 @@
#ifndef WORDEDITDIALOG_H
#define WORDEDITDIALOG_H
#include <QDialog>
#include <QThread>
#include <QPushButton>
#include "NewTypes.h"
namespace Ui
{
class WordEditDialog;

View File

@ -1,129 +0,0 @@
#include "MapViewOfMem.h"
MapViewOfMem::MapViewOfMem()
{
mSelectedData.fromIndex = -1;
mSelectedData.toIndex = -1;
}
MapViewOfMem::MapViewOfMem(QString file)
{
MemDataCacheStruct_t data;
memset(&data, 0, sizeof(MemDataCacheStruct_t));
data.memDataCachePtr = new QVector<byte_t>(0);
mGuiMemDataCache = data;
mSelectedData.fromIndex = -1;
mSelectedData.toIndex = -1;
//qDebug() << "MapViewOfMem() Load data from file.";
QFile wFile(file);
if(wFile.open(QIODevice::ReadOnly) == false)
//qDebug() << "File has not been opened.";
mData = wFile.readAll();
//qDebug() << "Size: " << mData.size();
if(mData.size() == 0)
{
//qDebug() << "No Data";
}
mSize = mData.size();
mBase = 0x00401000;
}
MapViewOfMem::MapViewOfMem(uint_t startAddress , uint_t size)
{
mStartAddress = startAddress;
mEndAddress = startAddress + size - 1;
mSize = size;
}
MapViewOfMem::~MapViewOfMem()
{
}
byte_t MapViewOfMem::readByte(uint_t rva)
{
return mData.data()[rva];
}
uint_t MapViewOfMem::size()
{
return mSize;
}
unsigned char* MapViewOfMem::data()
{
return (unsigned char*)(mData.data());
}
Selection_t MapViewOfMem::getSelection()
{
return mSelectedData;
}
void MapViewOfMem::setSelection(Selection_t sel)
{
mSelectedData = sel;
}
uint_t MapViewOfMem::getBase()
{
return mBase;
}
byte_t* MapViewOfMem::getDataPtrForGui(uint_t rva, uint_t maxNbrOfBytesToRead, uint_t newCacheSize)
{
byte_t* wBytePtr = 0;
if(maxNbrOfBytesToRead > 0)
{
// Bound maxNbrOfBytesToRead to the max value it can take
if(maxNbrOfBytesToRead > (this->size() - rva))
maxNbrOfBytesToRead = this->size() - rva;
if((mGuiMemDataCache.isInit == true) && (rva >= mGuiMemDataCache.rva) && ((rva + (uint_t)maxNbrOfBytesToRead) <= (mGuiMemDataCache.rva + (uint_t)mGuiMemDataCache.memDataCacheSize)))
{
// Cache Success
wBytePtr = mGuiMemDataCache.memDataCachePtr->data() + (rva - mGuiMemDataCache.rva);
}
else
{
// Cache Miss
mGuiMemDataCache.memDataCacheSize = newCacheSize;
mGuiMemDataCache.memDataCachePtr->resize(newCacheSize);
mGuiMemDataCache.rva = rva;
wBytePtr = mGuiMemDataCache.memDataCachePtr->data();
// TODO: Fill cache
for(uint_t wI = 0; wI < newCacheSize; wI++)
{
wBytePtr[wI] = readByte(rva + (uint_t)wI);
}
mGuiMemDataCache.isInit = true;
}
}
return wBytePtr;
}

View File

@ -1,51 +0,0 @@
#ifndef MAPVIEWOFMEM_H
#define MAPVIEWOFMEM_H
typedef struct _Selection_t
{
int firstSelectedIndex;
int fromIndex;
int toIndex;
} Selection_t;
class MapViewOfMem
{
public:
MapViewOfMem();
explicit MapViewOfMem(QString file);
explicit MapViewOfMem(uint_t startAddress , uint_t size);
~MapViewOfMem();
byte_t readByte(uint_t rva);
uint_t size();
unsigned char* data();
Selection_t getSelection();
void setSelection(Selection_t sel);
uint_t getBase();
byte_t* getDataPtrForGui(uint_t rva, uint_t maxNbrOfBytesToRead, uint_t newCacheSize);
private:
typedef struct _MemDataCacheStruct_t
{
QVector<byte_t>* memDataCachePtr;
uint_t memDataCacheSize;
uint_t rva;
bool isInit;
} MemDataCacheStruct_t;
uint_t mBase;
unsigned long mStartAddress;
unsigned long mEndAddress;
unsigned long mSize;
QByteArray mData;
Selection_t mSelectedData;
MemDataCacheStruct_t mGuiMemDataCache;
};
#endif // MAPVIEWOFMEM_H

View File

@ -1,6 +1,9 @@
#ifndef MEMORYPAGE_H
#define MEMORYPAGE_H
#include <QObject>
#include "NewTypes.h"
class MemoryPage : public QObject
{
Q_OBJECT

View File

@ -63,7 +63,7 @@ void QHexEdit::fill(int index, const QString & pattern)
}
else
{
data[i] = convert[i].toAscii();
data[i] = convert[i].toLatin1();
mask[i] = '0';
}
}
@ -124,7 +124,7 @@ void QHexEdit::setData(const QString & pattern)
}
else
{
data[i] = convert[i].toAscii();
data[i] = convert[i].toLatin1();
mask[i] = '0';
}
}

View File

@ -1,7 +1,8 @@
#ifndef QHEXEDIT_H
#define QHEXEDIT_H
#include <QtGui>
#include <QScrollArea>
#include <QHBoxLayout>
#include "QHexEditPrivate.h"
class QHexEdit : public QScrollArea

View File

@ -1,6 +1,7 @@
#include <QtGui>
#include "QHexEditPrivate.h"
#include <QApplication>
#include <QClipboard>
#include <QPainter>
#include "ArrayCommand.h"
const int HEXCHARS_IN_LINE = 47;
@ -422,7 +423,7 @@ void QHexEditPrivate::keyPressEvent(QKeyEvent* event)
/* Edit Commands */
/*****************************************************************************/
/* Hex input */
int key = int(event->text().toLower()[0].toAscii());
int key = int(event->text().toLower()[0].toLatin1());
if((key >= '0' && key <= '9') || (key >= 'a' && key <= 'f') || (_wildcardEnabled && key == '?'))
{
if(getSelectionBegin() != getSelectionEnd())
@ -528,7 +529,7 @@ void QHexEditPrivate::keyPressEvent(QKeyEvent* event)
}
else
{
data[i] = convert[i].toAscii();
data[i] = convert[i].toLatin1();
mask[i] = '0';
}
}

View File

@ -1,7 +1,10 @@
#ifndef QHEXEDITPRIVATE_H
#define QHEXEDITPRIVATE_H
#include <QtGui>
#include <QWidget>
#include <QScrollArea>
#include <QUndoStack>
#include <QKeyEvent>
#include "XByteArray.h"
class QHexEditPrivate : public QWidget

View File

@ -47,7 +47,6 @@ void Breakpoints::setBP(BPXTYPE type, uint_t va)
DbgCmdExec(wCmd.toUtf8().constData());
}
/**
* @brief Enable breakpoint according to the given breakpoint descriptor.
*
@ -378,7 +377,4 @@ void Breakpoints::toggleBPByRemoving(BPXTYPE type, uint_t va)
{
setBP(bp_hardware, va);
}
}

View File

@ -1,6 +1,9 @@
#ifndef BREAKPOINTS_H
#define BREAKPOINTS_H
#include <QObject>
#include "Bridge.h"
enum BPXSTATE
{
bp_enabled = 0,
@ -13,29 +16,17 @@ class Breakpoints : public QObject
Q_OBJECT
public:
explicit Breakpoints(QObject* parent = 0);
static void setBP(BPXTYPE type, uint_t va);
static void enableBP(BRIDGEBP bp);
static void enableBP(BPXTYPE type, uint_t va);
static void disableBP(BRIDGEBP bp);
static void disableBP(BPXTYPE type, uint_t va);
static void removeBP(BRIDGEBP bp);
static void removeBP(BPXTYPE type, uint_t va);
static void toggleBPByDisabling(BRIDGEBP bp);
static void toggleBPByDisabling(BPXTYPE type, uint_t va);
static void toggleBPByRemoving(BPXTYPE type, uint_t va);
static BPXSTATE BPState(BPXTYPE type, uint_t va);
signals:
public slots:
private:
};

View File

@ -1,4 +1,8 @@
#include "Configuration.h"
#include <QApplication>
#include <QFontInfo>
#include <QMessageBox>
#include <QIcon>
Configuration* Configuration::mPtr = NULL;

View File

@ -1,6 +1,13 @@
#ifndef CONFIGURATION_H
#define CONFIGURATION_H
#include <QObject>
#include <QKeySequence>
#include <QMap>
#include <QColor>
#include <QFont>
#include "NewTypes.h"
#define Config() (Configuration::instance())
#define ConfigColor(x) (Config()->getColor(x))
#define ConfigBool(x,y) (Config()->getBool(x,y))

View File

@ -1,6 +1,10 @@
#ifndef RICHTEXTPAINTER_H
#define RICHTEXTPAINTER_H
#include <QString>
#include <QColor>
#include <QPainter>
class RichTextPainter
{
public:

View File

@ -1,4 +1,10 @@
#include "UpdateChecker.h"
#include <QUrl>
#include <QNetworkRequest>
#include <QMessageBox>
#include <QNetworkReply>
#include <QIcon>
#include "Bridge.h"
UpdateChecker::UpdateChecker(QWidget* parent)
{

View File

@ -1,6 +1,8 @@
#ifndef UPDATECHECKER_H
#define UPDATECHECKER_H
#include <QNetworkAccessManager>
class UpdateChecker : public QNetworkAccessManager
{
Q_OBJECT

View File

@ -1,4 +1,9 @@
#include "main.h"
#include <QAbstractEventDispatcher>
#include <QMessageBox>
#include "Bridge.h"
#include "Configuration.h"
#include "MainWindow.h"
MyApplication::MyApplication(int & argc, char** argv) : QApplication(argc, argv)
{

View File

@ -37,7 +37,6 @@ SOURCES += \
Src/BasicView/AbstractTableView.cpp \
Src/Disassembler/QBeaEngine.cpp \
Src/Memory/MemoryPage.cpp \
Src/Memory/MapViewOfMem.cpp \
Src/Bridge/Bridge.cpp \
Src/BasicView/StdTable.cpp \
Src/Gui/MemoryMapView.cpp \
@ -97,7 +96,6 @@ HEADERS += \
Src/BasicView/AbstractTableView.h \
Src/Disassembler/QBeaEngine.h \
Src/Memory/MemoryPage.h \
Src/Memory/MapViewOfMem.h \
Src/Bridge/Bridge.h \
Src/Global/NewTypes.h \
Src/Exports.h \