Added initial framework for hex editor.

This commit is contained in:
Matthew Budd 2020-08-15 21:41:06 -04:00
parent b749c0982e
commit 11ccdf77b4
5 changed files with 134 additions and 0 deletions

View File

@ -431,6 +431,7 @@ set(SRC_DRIVERS_SDL
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/GuiConf.cpp
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/LuaControl.cpp
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/CheatsConf.cpp
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/HexEditor.cpp
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleUtilities.cpp
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleVideoConf.cpp
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleSoundConf.cpp

View File

@ -24,6 +24,7 @@
#include "Qt/GuiConf.h"
#include "Qt/LuaControl.h"
#include "Qt/CheatsConf.h"
#include "Qt/HexEditor.h"
#include "Qt/ConsoleUtilities.h"
#include "Qt/ConsoleSoundConf.h"
#include "Qt/ConsoleVideoConf.h"
@ -484,6 +485,18 @@ void consoleWin_t::createMainMenu(void)
toolsMenu->addAction(cheatsAct);
//-----------------------------------------------------------------------
// Debug
debugMenu = menuBar()->addMenu(tr("Debug"));
// Debug -> Hex Editor
hexEditAct = new QAction(tr("Hex Editor..."), this);
//hexEditAct->setShortcut( QKeySequence(tr("Shift+F7")));
hexEditAct->setStatusTip(tr("Open Memory Hex Editor"));
connect(hexEditAct, SIGNAL(triggered()), this, SLOT(openHexEditor(void)) );
debugMenu->addAction(hexEditAct);
//-----------------------------------------------------------------------
// Movie
movieMenu = menuBar()->addMenu(tr("Movie"));
@ -1010,6 +1023,22 @@ void consoleWin_t::openCheats(void)
//printf("GUI Cheat Window Destroyed\n");
}
void consoleWin_t::openHexEditor(void)
{
HexEditorDialog_t *hexEditWin;
//printf("Open GUI Hex Editor Window\n");
hexEditWin = new HexEditorDialog_t(this);
hexEditWin->show();
hexEditWin->exec();
delete hexEditWin;
//printf("GUI Cheat Window Destroyed\n");
}
void consoleWin_t::toggleAutoResume(void)
{
//printf("Auto Resume: %i\n", autoResume->isChecked() );

View File

@ -53,6 +53,7 @@ class consoleWin_t : public QMainWindow
QMenu *optMenu;
QMenu *emuMenu;
QMenu *toolsMenu;
QMenu *debugMenu;
QMenu *movieMenu;
QMenu *helpMenu;
@ -88,6 +89,7 @@ class consoleWin_t : public QMainWindow
QAction *fdsEjectAct;
QAction *fdsLoadBiosAct;
QAction *cheatsAct;
QAction *hexEditAct;
QAction *openMovAct;
QAction *stopMovAct;
QAction *recMovAct;
@ -155,6 +157,7 @@ class consoleWin_t : public QMainWindow
void fdsEjectDisk(void);
void fdsLoadBiosFile(void);
void openCheats(void);
void openHexEditor(void);
void openMovie(void);
void stopMovie(void);
void recordMovie(void);

View File

@ -0,0 +1,63 @@
// HotKeyConf.cpp
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <SDL.h>
#include <QHeaderView>
#include "Qt/main.h"
#include "Qt/dface.h"
#include "Qt/input.h"
#include "Qt/config.h"
#include "Qt/keyscan.h"
#include "Qt/fceuWrapper.h"
#include "Qt/HexEditor.h"
//----------------------------------------------------------------------------
HexEditorDialog_t::HexEditorDialog_t(QWidget *parent)
: QDialog( parent )
{
QVBoxLayout *mainLayout;
setWindowTitle("Hex Editor");
resize( 512, 512 );
mainLayout = new QVBoxLayout();
txt = new QTextEdit();
txt->moveCursor(QTextCursor::Start);
txt->setReadOnly(true);
mainLayout->addWidget( txt );
setLayout( mainLayout );
}
//----------------------------------------------------------------------------
HexEditorDialog_t::~HexEditorDialog_t(void)
{
}
//----------------------------------------------------------------------------
void HexEditorDialog_t::closeWindow(void)
{
//printf("Close Window\n");
done(0);
}
//----------------------------------------------------------------------------
void HexEditorDialog_t::keyPressEvent(QKeyEvent *event)
{
printf("Hex Window Key Press: 0x%x \n", event->key() );
//assignHotkey( event );
}
//----------------------------------------------------------------------------
void HexEditorDialog_t::keyReleaseEvent(QKeyEvent *event)
{
printf("Hex Window Key Release: 0x%x \n", event->key() );
//assignHotkey( event );
}
//----------------------------------------------------------------------------

View File

@ -0,0 +1,38 @@
// GamePadConf.h
//
#pragma once
#include <QWidget>
#include <QDialog>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QComboBox>
#include <QCheckBox>
#include <QPushButton>
#include <QLabel>
#include <QFrame>
#include <QGroupBox>
#include <QTextEdit>
class HexEditorDialog_t : public QDialog
{
Q_OBJECT
public:
HexEditorDialog_t(QWidget *parent = 0);
~HexEditorDialog_t(void);
protected:
void keyPressEvent(QKeyEvent *event);
void keyReleaseEvent(QKeyEvent *event);
QTextEdit *txt;
private:
public slots:
void closeWindow(void);
private slots:
};