101 lines
2.7 KiB
C++
101 lines
2.7 KiB
C++
#include "EditBreakpointDialog.h"
|
|
#include "ui_EditBreakpointDialog.h"
|
|
#include "StringUtil.h"
|
|
#include "MiscUtil.h"
|
|
|
|
EditBreakpointDialog::EditBreakpointDialog(QWidget* parent, const BRIDGEBP & bp)
|
|
: QDialog(parent),
|
|
ui(new Ui::EditBreakpointDialog),
|
|
mBp(bp)
|
|
{
|
|
ui->setupUi(this);
|
|
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint | Qt::MSWindowsFixedSizeDialogHint);
|
|
if(bp.type == bp_dll)
|
|
{
|
|
setWindowTitle(QString(tr("Edit Breakpoint %1")).arg(QString(bp.mod)));
|
|
}
|
|
else
|
|
{
|
|
setWindowTitle(QString(tr("Edit Breakpoint %1")).arg(getSymbolicName(bp.addr)));
|
|
}
|
|
setWindowIcon(DIcon("breakpoint.png"));
|
|
loadFromBp();
|
|
}
|
|
|
|
EditBreakpointDialog::~EditBreakpointDialog()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void EditBreakpointDialog::loadFromBp()
|
|
{
|
|
ui->editName->setText(mBp.name);
|
|
ui->spinHitCount->setValue(mBp.hitCount);
|
|
ui->editBreakCondition->setText(mBp.breakCondition);
|
|
ui->checkBoxFastResume->setChecked(mBp.fastResume);
|
|
ui->checkBoxSilent->setChecked(mBp.silent);
|
|
ui->checkBoxSingleshoot->setChecked(mBp.singleshoot);
|
|
ui->editLogText->setText(mBp.logText);
|
|
ui->editLogCondition->setText(mBp.logCondition);
|
|
ui->editCommandText->setText(mBp.commandText);
|
|
ui->editCommandCondition->setText(mBp.commandCondition);
|
|
}
|
|
|
|
template<typename T>
|
|
void copyTruncate(T & dest, QString src)
|
|
{
|
|
src.replace(QChar('\\'), QString("\\\\"));
|
|
src.replace(QChar('"'), QString("\\\""));
|
|
strncpy_s(dest, src.toUtf8().constData(), _TRUNCATE);
|
|
}
|
|
|
|
void EditBreakpointDialog::on_editName_textEdited(const QString & arg1)
|
|
{
|
|
copyTruncate(mBp.name, arg1);
|
|
}
|
|
|
|
void EditBreakpointDialog::on_editBreakCondition_textEdited(const QString & arg1)
|
|
{
|
|
copyTruncate(mBp.breakCondition, arg1);
|
|
}
|
|
|
|
void EditBreakpointDialog::on_editLogText_textEdited(const QString & arg1)
|
|
{
|
|
copyTruncate(mBp.logText, arg1);
|
|
}
|
|
|
|
void EditBreakpointDialog::on_editLogCondition_textEdited(const QString & arg1)
|
|
{
|
|
copyTruncate(mBp.logCondition, arg1);
|
|
}
|
|
|
|
void EditBreakpointDialog::on_editCommandText_textEdited(const QString & arg1)
|
|
{
|
|
copyTruncate(mBp.commandText, arg1);
|
|
}
|
|
|
|
void EditBreakpointDialog::on_editCommandCondition_textEdited(const QString & arg1)
|
|
{
|
|
copyTruncate(mBp.commandCondition, arg1);
|
|
}
|
|
|
|
void EditBreakpointDialog::on_checkBoxFastResume_toggled(bool checked)
|
|
{
|
|
mBp.fastResume = checked;
|
|
}
|
|
|
|
void EditBreakpointDialog::on_spinHitCount_valueChanged(int arg1)
|
|
{
|
|
mBp.hitCount = arg1;
|
|
}
|
|
|
|
void EditBreakpointDialog::on_checkBoxSilent_toggled(bool checked)
|
|
{
|
|
mBp.silent = checked;
|
|
}
|
|
|
|
void EditBreakpointDialog::on_checkBoxSingleshoot_toggled(bool checked)
|
|
{
|
|
mBp.singleshoot = checked;
|
|
}
|