MCPcopy Create free account
hub / github.com/CE-Programming/CEmu / eventFilter

Method eventFilter

gui/qt/debugger.cpp:2099–2204  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2097// ------------------------------------------------
2098
2099bool MainWindow::eventFilter(QObject *obj, QEvent *e) {
2100 if (!guiDebug) {
2101 return QMainWindow::eventFilter(obj, e);
2102 }
2103
2104 if (e->type() == QEvent::MouseButtonPress) {
2105 QString name = obj->objectName();
2106
2107 if (name.length() > 3) {
2108 return QMainWindow::eventFilter(obj, e);
2109 }
2110
2111 if (name == QStringLiteral("hl")) gotoMemAddr(hex2int(ui->hlregView->text()));
2112 if (name == QStringLiteral("de")) gotoMemAddr(hex2int(ui->deregView->text()));
2113 if (name == QStringLiteral("bc")) gotoMemAddr(hex2int(ui->bcregView->text()));
2114 if (name == QStringLiteral("ix")) gotoMemAddr(hex2int(ui->ixregView->text()));
2115 if (name == QStringLiteral("iy")) gotoMemAddr(hex2int(ui->iyregView->text()));
2116 if (name == QStringLiteral("hl_")) gotoMemAddr(hex2int(ui->hl_regView->text()));
2117 if (name == QStringLiteral("de_")) gotoMemAddr(hex2int(ui->de_regView->text()));
2118 if (name == QStringLiteral("bc_")) gotoMemAddr(hex2int(ui->bc_regView->text()));
2119 if (name == QStringLiteral("spl")) gotoMemAddr(hex2int(ui->splregView->text()));
2120 if (name == QStringLiteral("pc")) gotoMemAddr(hex2int(ui->pcregView->text()));
2121 } else if (e->type() == QEvent::MouseMove) {
2122 QString name = obj->objectName();
2123
2124 if (name.length() < 4) {
2125 return QMainWindow::eventFilter(obj, e);
2126 }
2127
2128 QLineEdit *widget = static_cast<QLineEdit*>(obj);
2129
2130 unsigned int num = widget->text().toUInt(Q_NULLPTR, 16);
2131 unsigned int num0 = num & 255;
2132 unsigned int num1 = (num >> 8) & 255;
2133 unsigned int num2 = (num >> 16) & 255;
2134
2135 QString t;
2136 QString val = QString::number(num);
2137 QString val0 = QString::number(num0);
2138 QString val1 = QString::number(num1);
2139 QString val2 = QString::number(num2);
2140
2141 if (num > 0x7FFFFF) {
2142 val += QStringLiteral("\n\t") + QString::number(static_cast<int32_t>(num | 0xFF000000u));
2143 }
2144 if (num0 > 0x7F) {
2145 val0 += QStringLiteral("\t") + QString::number(static_cast<int8_t>(num0));
2146 }
2147 if (num1 > 0x7F) {
2148 val1 += QStringLiteral("\t") + QString::number(static_cast<int8_t>(num1));
2149 }
2150 if (num2 > 0x7F) {
2151 val2 += QStringLiteral("\t") + QString::number(static_cast<int8_t>(num2));
2152 }
2153
2154 if (name == QStringLiteral("afregView"))
2155 t = QStringLiteral("a:\t") + val1 +
2156 QStringLiteral("\nf:\t") + val0;

Callers

nothing calls this directly

Calls 2

hex2intFunction · 0.85
typeMethod · 0.45

Tested by

no test coverage detected