diff options
| author | spycrab <spycrab@users.noreply.github.com> | 2018-07-07 00:40:15 +0200 |
|---|---|---|
| committer | spycrab <spycrab@users.noreply.github.com> | 2018-07-07 00:48:38 +0200 |
| commit | 13ba24c5a6795532c8893eccf2a21ae95682e1b7 (patch) | |
| tree | 747e394036c189c46add1b3e1451e50f48230e11 /Source/Core/DolphinQt2/Debugger/RegisterColumn.cpp | |
| parent | 059880bb1640d5a3b0e1fbbf66e1a356df4b9f41 (diff) | |
Move DolphinQt2 to DolphinQt
Diffstat (limited to 'Source/Core/DolphinQt2/Debugger/RegisterColumn.cpp')
| -rw-r--r-- | Source/Core/DolphinQt2/Debugger/RegisterColumn.cpp | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/Source/Core/DolphinQt2/Debugger/RegisterColumn.cpp b/Source/Core/DolphinQt2/Debugger/RegisterColumn.cpp deleted file mode 100644 index 2acacd2602..0000000000 --- a/Source/Core/DolphinQt2/Debugger/RegisterColumn.cpp +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright 2017 Dolphin Emulator Project -// Licensed under GPLv2+ -// Refer to the license.txt file included. - -#include "DolphinQt2/Debugger/RegisterColumn.h" - -#include <cstring> -#include <utility> - -#include <QMessageBox> - -RegisterColumn::RegisterColumn(RegisterType type, std::function<u64()> get, - std::function<void(u64)> set) - : m_type(type), m_get_register(std::move(get)), m_set_register(std::move(set)) -{ - RefreshValue(); - Update(); - - setFlags(m_set_register == nullptr ? flags() ^ Qt::ItemIsEditable : - Qt::ItemIsEditable | Qt::ItemIsEnabled); - setData(DATA_TYPE, static_cast<quint32>(type)); -} - -RegisterDisplay RegisterColumn::GetDisplay() const -{ - return m_display; -} - -void RegisterColumn::SetDisplay(RegisterDisplay display) -{ - m_display = display; - Update(); -} - -void RegisterColumn::RefreshValue() -{ - QBrush brush = QPalette().brush(QPalette::Text); - - if (m_value != m_get_register()) - { - m_value = m_get_register(); - brush.setColor(Qt::red); - } - - setForeground(brush); - - Update(); -} - -u64 RegisterColumn::GetValue() const -{ - return m_value; -} - -void RegisterColumn::SetValue() -{ - u64 value = 0; - - bool valid = false; - - switch (m_display) - { - case RegisterDisplay::Hex: - value = text().toULongLong(&valid, 16); - break; - case RegisterDisplay::SInt32: - value = text().toInt(&valid); - break; - case RegisterDisplay::UInt32: - value = text().toUInt(&valid); - break; - case RegisterDisplay::Float: - { - float f = text().toFloat(&valid); - std::memcpy(&value, &f, sizeof(u32)); - break; - } - case RegisterDisplay::Double: - { - double f = text().toDouble(&valid); - std::memcpy(&value, &f, sizeof(u64)); - break; - } - } - - if (!valid) - QMessageBox::critical(nullptr, QObject::tr("Error"), QObject::tr("Invalid input provided")); - else - m_set_register(value); - - RefreshValue(); -} - -void RegisterColumn::Update() -{ - QString text; - - switch (m_display) - { - case RegisterDisplay::Hex: - text = QStringLiteral("%1").arg(m_value, - (m_type == RegisterType::ibat || m_type == RegisterType::dbat || - m_type == RegisterType::fpr || - m_type == RegisterType::tb ? - sizeof(u64) : - sizeof(u32)) * - 2, - 16, QLatin1Char('0')); - break; - case RegisterDisplay::SInt32: - text = QString::number(static_cast<qint32>(m_value)); - break; - case RegisterDisplay::UInt32: - text = QString::number(static_cast<quint32>(m_value)); - break; - case RegisterDisplay::Float: - { - float tmp; - std::memcpy(&tmp, &m_value, sizeof(float)); - text = QString::number(tmp); - break; - } - case RegisterDisplay::Double: - { - double tmp; - std::memcpy(&tmp, &m_value, sizeof(double)); - text = QString::number(tmp); - break; - } - } - - setText(text); -} |
