Commit 4ad493c9 authored by hjk's avatar hjk

debugger: re-enable functions and cleanup after breakhandler move

parent ff70fb46
......@@ -353,29 +353,28 @@ void DebuggerEnginePrivate::handleContextMenuRequest(const QVariant &parameters)
{
const QList<QVariant> list = parameters.toList();
QTC_ASSERT(list.size() == 3, qDebug() << list; return);
// TextEditor::ITextEditor *editor =
// (TextEditor::ITextEditor *)(list.at(0).value<quint64>());
TextEditor::ITextEditor *editor =
(TextEditor::ITextEditor *)(list.at(0).value<quint64>());
int lineNumber = list.at(1).toInt();
QMenu *menu = (QMenu *)(list.at(2).value<quint64>());
BreakpointData *data = 0;
QString fileName;
quint64 address = 0;
/*
FIXME:
if (editor->property("DisassemblerView").toBool()) {
fileName = editor->file()->fileName();
QString line = editor->contents()
.section('\n', lineNumber - 1, lineNumber - 1);
BreakpointData needle;
address = needle.address = DisassemblerViewAgent::addressFromDisassemblyLine(line);
address = DisassemblerViewAgent::addressFromDisassemblyLine(line);
needle.address = address;
needle.bpLineNumber = -1;
data = m_breakHandler.findSimilarBreakpoint(&needle);
data = m_engine->breakHandler()->findSimilarBreakpoint(&needle);
} else {
fileName = editor->file()->fileName();
data = m_breakHandler.findBreakpoint(fileName, lineNumber);
data = m_engine->breakHandler()->findBreakpoint(fileName, lineNumber);
}
*/
QList<QVariant> args;
args.append(fileName);
......@@ -392,7 +391,7 @@ FIXME:
act = new QAction(tr("Remove Breakpoint %1").arg(number), menu);
act->setData(args);
connect(act, SIGNAL(triggered()),
this, SLOT(breakpointSetRemoveMarginActionTriggered()));
SLOT(breakpointSetRemoveMarginActionTriggered()));
menu->addAction(act);
QAction *act2;
......@@ -415,7 +414,7 @@ FIXME:
editAction = new QAction(tr("Edit Breakpoint..."), menu);
else
editAction = new QAction(tr("Edit Breakpoint %1...").arg(number), menu);
connect(editAction, SIGNAL(triggered()), this, SLOT(slotEditBreakpoint()));
connect(editAction, SIGNAL(triggered()), SLOT(slotEditBreakpoint()));
editAction->setData(qVariantFromValue(data));
menu->addAction(editAction);
} else {
......@@ -426,7 +425,7 @@ FIXME:
QAction *act = new QAction(text, menu);
act->setData(args);
connect(act, SIGNAL(triggered()),
this, SLOT(breakpointSetRemoveMarginActionTriggered()));
SLOT(breakpointSetRemoveMarginActionTriggered()));
menu->addAction(act);
}
}
......
......@@ -825,8 +825,6 @@ bool WatchModel::setData(const QModelIndex &index, const QVariant &value, int ro
return true;
}
/*
FIXME BP:
case RequestToggleWatchRole: {
BreakHandler *handler = engine()->breakHandler();
const quint64 address = value.toULongLong();
......@@ -842,7 +840,6 @@ bool WatchModel::setData(const QModelIndex &index, const QVariant &value, int ro
engine()->attemptBreakpointSynchronization();
return true;
}
*/
case RequestShowMemoryRole: {
(void) new MemoryViewAgent(engine(), value.toULongLong());
......
......@@ -69,7 +69,8 @@ public:
{
// Value column: Custom editor. Apply integer-specific settings.
if (index.column() == 1) {
const QVariant::Type type = static_cast<QVariant::Type>(index.data(LocalsEditTypeRole).toInt());
const QVariant::Type type =
static_cast<QVariant::Type>(index.data(LocalsEditTypeRole).toInt());
switch (type) {
case QVariant::Bool:
return new BooleanComboBox(parent);
......@@ -296,7 +297,8 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
const unsigned engineCapabilities = modelData(EngineCapabilitiesRole).toUInt();
const bool canHandleWatches =
actionsEnabled && (engineCapabilities & AddWatcherCapability);
const DebuggerState state = static_cast<DebuggerState>(modelData(EngineStateRole).toInt());
const DebuggerState state =
static_cast<DebuggerState>(modelData(EngineStateRole).toInt());
QMenu menu;
QAction *actInsertNewWatchItem = menu.addAction(tr("Insert New Watch Item"));
......@@ -329,14 +331,13 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
const bool canSetWatchpoint = engineCapabilities & WatchpointCapability;
if (canSetWatchpoint && address) {
actSetWatchPointAtVariableAddress =
new QAction(tr("Break on Changes at Object's Address (0x%1)")
new QAction(tr("Add Watchpoint at Object's Address (0x%1)")
.arg(address, 0, 16), &menu);
actSetWatchPointAtVariableAddress->setCheckable(true);
actSetWatchPointAtVariableAddress->
setChecked(mi0.data(LocalsIsWatchpointAtAddressRole).toBool());
if (createPointerActions) {
actSetWatchPointAtPointerValue =
new QAction(tr("Break on Changes at Referenced Address (0x%1)")
new QAction(tr("Add Watchpoint at Referenced Address (0x%1)")
.arg(pointerValue, 0, 16), &menu);
actSetWatchPointAtPointerValue->setCheckable(true);
actSetWatchPointAtPointerValue->
......@@ -344,9 +345,12 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
}
} else {
actSetWatchPointAtVariableAddress =
new QAction(tr("Break on Changing Contents"), &menu);
new QAction(tr("At Watchpoint"), &menu);
actSetWatchPointAtVariableAddress->setEnabled(false);
}
actSetWatchPointAtVariableAddress->setToolTip(
tr("Setting a watchpoint on an address will cause the program "
"to stop when the data at the address it modified"));
QString actionName = exp.isEmpty() ? tr("Watch Expression")
: tr("Watch Expression \"%1\"").arg(exp);
......@@ -357,8 +361,8 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
actionName = exp.isEmpty() ? tr("Remove Watch Expression")
: tr("Remove Watch Expression \"%1\"").arg(exp);
QAction *actRemoveWatchExpression = new QAction(actionName, &menu);
actRemoveWatchExpression->setEnabled((canHandleWatches || state == DebuggerNotReady)
&& !exp.isEmpty());
actRemoveWatchExpression->setEnabled(
(canHandleWatches || state == DebuggerNotReady) && !exp.isEmpty());
if (m_type == LocalsType)
menu.addAction(actWatchExpression);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment