Debugger MemoryWidget: add float and integer inputs. Add input preview. Change input logic. Use combobox for options.

This commit is contained in:
TryTwo
2022-04-06 16:20:55 -07:00
parent 085c86a9ac
commit ed96b8e308
2 changed files with 225 additions and 75 deletions

View File

@ -12,6 +12,7 @@
class MemoryViewWidget;
class QCheckBox;
class QComboBox;
class QLabel;
class QLineEdit;
class QPushButton;
@ -19,6 +20,21 @@ class QRadioButton;
class QShowEvent;
class QSplitter;
enum class InputID : int
{
// Order does not matter here.
S8 = 1,
S16,
S32,
U8,
U16,
U32,
HEXSTR,
FLOAT,
DOUBLE,
ASCII
};
class MemoryWidget : public QDockWidget
{
Q_OBJECT
@ -55,7 +71,6 @@ private:
void OnSearchAddress();
void OnFindNextValue();
void OnFindPreviousValue();
void ValidateSearchValue();
void OnSetValue();
@ -64,10 +79,9 @@ private:
void OnDumpARAM();
void OnDumpFakeVMEM();
bool IsValueValid() const;
QByteArray GetValueData() const;
void ValidateAndPreviewInputValue();
QByteArray GetInputData() const;
TargetAddress GetTargetAddress() const;
void FindValue(bool next);
void closeEvent(QCloseEvent*) override;
@ -78,6 +92,8 @@ private:
QLineEdit* m_search_address;
QLineEdit* m_search_offset;
QLineEdit* m_data_edit;
QCheckBox* m_base_check;
QLabel* m_data_preview;
QPushButton* m_set_value;
QPushButton* m_dump_mram;
QPushButton* m_dump_exram;
@ -87,8 +103,7 @@ private:
// Search
QPushButton* m_find_next;
QPushButton* m_find_previous;
QRadioButton* m_find_ascii;
QRadioButton* m_find_hex;
QComboBox* m_input_combo;
QLabel* m_result_label;
// Address Spaces