Added callbacks for cheat search buttons.
This commit is contained in:
parent
cf54c8d225
commit
b6871bc36d
|
@ -32,11 +32,14 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
QLabel *lbl;
|
||||
QGroupBox *groupBox;
|
||||
QFrame *frame;
|
||||
QFont font;
|
||||
|
||||
font.setStyle( QFont::StyleNormal );
|
||||
font.setStyleHint( QFont::Monospace );
|
||||
|
||||
QFontMetrics fm(font);
|
||||
|
||||
fontCharWidth = fm.boundingRect('0').width();
|
||||
|
||||
setWindowTitle("Cheat Search");
|
||||
|
||||
//resize( 512, 512 );
|
||||
|
@ -107,7 +110,7 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
cheatAddrEntry->setInputMask( ">HHHH;0" );
|
||||
cheatAddrEntry->setFont( font );
|
||||
cheatAddrEntry->setCursorPosition(0);
|
||||
cheatAddrEntry->setMaximumWidth( 5 * cheatAddrEntry->fontMetrics().boundingRect('0').width() );
|
||||
cheatAddrEntry->setMaximumWidth( 5 * fontCharWidth );
|
||||
|
||||
hbox->addWidget( lbl );
|
||||
hbox->addWidget( cheatAddrEntry );
|
||||
|
@ -118,7 +121,7 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
cheatValEntry->setInputMask( ">HH;0" );
|
||||
cheatValEntry->setFont( font );
|
||||
cheatValEntry->setCursorPosition(0);
|
||||
cheatValEntry->setMaximumWidth( 3 * cheatValEntry->fontMetrics().boundingRect('0').width() );
|
||||
cheatValEntry->setMaximumWidth( 3 * fontCharWidth );
|
||||
|
||||
hbox->addWidget( lbl );
|
||||
hbox->addWidget( cheatValEntry );
|
||||
|
@ -129,7 +132,7 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
cheatCmpEntry->setInputMask( ">HH;X" );
|
||||
cheatCmpEntry->setFont( font );
|
||||
cheatCmpEntry->setCursorPosition(0);
|
||||
cheatCmpEntry->setMaximumWidth( 3 * cheatCmpEntry->fontMetrics().boundingRect('0').width() );
|
||||
cheatCmpEntry->setMaximumWidth( 3 * fontCharWidth );
|
||||
|
||||
hbox->addWidget( lbl );
|
||||
hbox->addWidget( cheatCmpEntry );
|
||||
|
@ -184,8 +187,12 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
//srchResults->header()->setSectionResizeMode( QHeaderView::ResizeToContents );
|
||||
srchResults->header()->setSectionResizeMode( QHeaderView::Interactive );
|
||||
//srchResults->header()->setSectionResizeMode( QHeaderView::Fixed );
|
||||
srchResults->header()->resizeSection( 0, 10 * fontCharWidth );
|
||||
srchResults->header()->resizeSection( 1, 6 * fontCharWidth );
|
||||
srchResults->header()->resizeSection( 2, 6 * fontCharWidth );
|
||||
//srchResults->header()->setSectionResizeMode( QHeaderView::Stretch );
|
||||
//srchResults->header()->setDefaultSectionSize( 200 );
|
||||
//srchResults->header()->setDefaultSectionSize( 200 );
|
||||
//srchResults->setReadOnly(true);
|
||||
|
||||
vbox = new QVBoxLayout();
|
||||
|
@ -230,7 +237,7 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
knownValEntry->setFont( font );
|
||||
knownValEntry->setCursorPosition(0);
|
||||
knownValEntry->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred );
|
||||
knownValEntry->setMaximumWidth( 3 * knownValEntry->fontMetrics().boundingRect('0').width() );
|
||||
knownValEntry->setMaximumWidth( 3 * fontCharWidth );
|
||||
hbox1->addWidget( lbl, 0, Qt::AlignRight );
|
||||
hbox1->addWidget( knownValEntry, 0, Qt::AlignLeft );
|
||||
|
||||
|
@ -270,7 +277,7 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
neValEntry->setFont( font );
|
||||
neValEntry->setCursorPosition(0);
|
||||
neValEntry->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred );
|
||||
neValEntry->setMaximumWidth( 3 * neValEntry->fontMetrics().boundingRect('0').width() );
|
||||
neValEntry->setMaximumWidth( 3 * fontCharWidth );
|
||||
|
||||
hbox->addWidget( useNeVal, 0, Qt::AlignRight );
|
||||
hbox->addWidget( neValEntry, 0, Qt::AlignLeft );
|
||||
|
@ -297,7 +304,7 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
grValEntry->setFont( font );
|
||||
grValEntry->setCursorPosition(0);
|
||||
grValEntry->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred );
|
||||
grValEntry->setMaximumWidth( 3 * grValEntry->fontMetrics().boundingRect('0').width() );
|
||||
grValEntry->setMaximumWidth( 3 * fontCharWidth );
|
||||
|
||||
hbox->addWidget( useGrVal, 0, Qt::AlignRight );
|
||||
hbox->addWidget( grValEntry, 0, Qt::AlignLeft );
|
||||
|
@ -324,7 +331,7 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
ltValEntry->setFont( font );
|
||||
ltValEntry->setCursorPosition(0);
|
||||
ltValEntry->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred );
|
||||
ltValEntry->setMaximumWidth( 3 * ltValEntry->fontMetrics().boundingRect('0').width() );
|
||||
ltValEntry->setMaximumWidth( 3 * fontCharWidth );
|
||||
|
||||
hbox->addWidget( useLtVal, 0, Qt::AlignRight );
|
||||
hbox->addWidget( ltValEntry, 0, Qt::AlignLeft );
|
||||
|
@ -341,6 +348,10 @@ GuiCheatsDialog_t::GuiCheatsDialog_t(QWidget *parent)
|
|||
|
||||
connect( srchResetBtn, SIGNAL(clicked(void)), this, SLOT(resetSearchCallback(void)) );
|
||||
connect( knownValBtn , SIGNAL(clicked(void)), this, SLOT(knownValueCallback(void)) );
|
||||
connect( eqValBtn , SIGNAL(clicked(void)), this, SLOT(equalValueCallback(void)) );
|
||||
connect( neValBtn , SIGNAL(clicked(void)), this, SLOT(notEqualValueCallback(void)) );
|
||||
connect( ltValBtn , SIGNAL(clicked(void)), this, SLOT(lessThanValueCallback(void)) );
|
||||
connect( grValBtn , SIGNAL(clicked(void)), this, SLOT(greaterThanValueCallback(void)) );
|
||||
|
||||
cheat_search_known_value = 0;
|
||||
|
||||
|
@ -368,6 +379,10 @@ int GuiCheatsDialog_t::addSearchResult (uint32_t a, uint8_t last, uint8_t curren
|
|||
sprintf (lastStr, "%02X", last);
|
||||
sprintf (curStr , "%02X", current);
|
||||
|
||||
//item->setFont( 0, font );
|
||||
//item->setFont( 1, font );
|
||||
//item->setFont( 2, font );
|
||||
|
||||
item->setText( 0, tr(addrStr) );
|
||||
item->setText( 1, tr(lastStr) );
|
||||
item->setText( 2, tr(curStr) );
|
||||
|
@ -430,3 +445,84 @@ void GuiCheatsDialog_t::knownValueCallback(void)
|
|||
fceuWrapperUnLock();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void GuiCheatsDialog_t::equalValueCallback(void)
|
||||
{
|
||||
//printf("Cheat Search Equal!\n");
|
||||
fceuWrapperLock();
|
||||
|
||||
FCEUI_CheatSearchEnd (FCEU_SEARCH_PUERLY_RELATIVE_CHANGE, 0, 0);
|
||||
|
||||
showCheatSearchResults();
|
||||
|
||||
fceuWrapperUnLock();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void GuiCheatsDialog_t::notEqualValueCallback(void)
|
||||
{
|
||||
//printf("Cheat Search Not Equal!\n");
|
||||
int checked = useNeVal->checkState() != Qt::Unchecked;
|
||||
|
||||
fceuWrapperLock();
|
||||
|
||||
if (checked)
|
||||
{
|
||||
cheat_search_neq_value = strtol( neValEntry->text().toStdString().c_str(), NULL, 16 );
|
||||
|
||||
FCEUI_CheatSearchEnd (FCEU_SEARCH_PUERLY_RELATIVE_CHANGE, 0, cheat_search_neq_value);
|
||||
}
|
||||
else
|
||||
{
|
||||
FCEUI_CheatSearchEnd (FCEU_SEARCH_ANY_CHANGE, 0, 0);
|
||||
}
|
||||
|
||||
showCheatSearchResults();
|
||||
|
||||
fceuWrapperUnLock();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void GuiCheatsDialog_t::greaterThanValueCallback(void)
|
||||
{
|
||||
//printf("Cheat Search Greater Than!\n");
|
||||
int checked = useGrVal->checkState() != Qt::Unchecked;
|
||||
|
||||
fceuWrapperLock();
|
||||
|
||||
if (checked)
|
||||
{
|
||||
cheat_search_gt_value = strtol( grValEntry->text().toStdString().c_str(), NULL, 16 );
|
||||
|
||||
FCEUI_CheatSearchEnd (FCEU_SEARCH_NEWVAL_GT_KNOWN, 0, cheat_search_gt_value);
|
||||
}
|
||||
else
|
||||
{
|
||||
FCEUI_CheatSearchEnd (FCEU_SEARCH_NEWVAL_GT, 0, 0);
|
||||
}
|
||||
|
||||
showCheatSearchResults();
|
||||
|
||||
fceuWrapperUnLock();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void GuiCheatsDialog_t::lessThanValueCallback(void)
|
||||
{
|
||||
//printf("Cheat Search Less Than!\n");
|
||||
int checked = useLtVal->checkState() != Qt::Unchecked;
|
||||
|
||||
fceuWrapperLock();
|
||||
|
||||
if (checked)
|
||||
{
|
||||
cheat_search_lt_value = strtol( ltValEntry->text().toStdString().c_str(), NULL, 16 );
|
||||
|
||||
FCEUI_CheatSearchEnd (FCEU_SEARCH_NEWVAL_LT_KNOWN, 0, cheat_search_lt_value);
|
||||
}
|
||||
else
|
||||
{
|
||||
FCEUI_CheatSearchEnd (FCEU_SEARCH_NEWVAL_LT, 0, 0);
|
||||
}
|
||||
|
||||
showCheatSearchResults();
|
||||
|
||||
fceuWrapperUnLock();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
|
|
|
@ -59,8 +59,13 @@ class GuiCheatsDialog_t : public QDialog
|
|||
QLineEdit *neValEntry;
|
||||
QLineEdit *grValEntry;
|
||||
QLineEdit *ltValEntry;
|
||||
QFont font;
|
||||
|
||||
int fontCharWidth;
|
||||
int cheat_search_known_value;
|
||||
int cheat_search_neq_value;
|
||||
int cheat_search_gt_value;
|
||||
int cheat_search_lt_value;
|
||||
|
||||
private:
|
||||
void showCheatSearchResults(void);
|
||||
|
@ -70,5 +75,9 @@ class GuiCheatsDialog_t : public QDialog
|
|||
private slots:
|
||||
void resetSearchCallback(void);
|
||||
void knownValueCallback(void);
|
||||
void equalValueCallback(void);
|
||||
void notEqualValueCallback(void);
|
||||
void lessThanValueCallback(void);
|
||||
void greaterThanValueCallback(void);
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue