debugger: make memory view updatable

Still some flickering and no marks which parts changed.
This commit is contained in:
hjk
2010-12-14 16:01:02 +01:00
parent fbc005706c
commit 0c43604e59
2 changed files with 12 additions and 9 deletions

View File

@@ -520,14 +520,17 @@ void DebuggerEngine::gotoLocation(const QString &file, int line, bool setMarker)
d->doRemoveLocationMark();
bool newEditor = false;
ITextEditor *editor =
BaseTextEditor::openEditorAt(file, line, 0, QString(),
EditorManager::IgnoreNavigationHistory, &newEditor);
if (!editor)
return;
if (newEditor)
editor->setProperty(Constants::OPENED_BY_DEBUGGER, true);
EditorManager *editorManager = EditorManager::instance();
QList<IEditor *> editors = editorManager->editorsForFileName(file);
if (editors.isEmpty()) {
editors.append(editorManager->openEditor(file, QString(),
EditorManager::IgnoreNavigationHistory));
editors.back()->setProperty(Constants::OPENED_BY_DEBUGGER, true);
}
ITextEditor *texteditor = qobject_cast<ITextEditor *>(editors.back());
if (texteditor)
texteditor->gotoLine(line, 0);
if (setMarker)
d->m_locationMark.reset(new LocationMark(file, line));
}

View File

@@ -84,6 +84,7 @@ void MemoryAgent::createBinEditor(quint64 addr)
IEditor *editor = editorManager->openEditorWithContents(
Core::Constants::K_DEFAULT_BINARY_EDITOR_ID,
&titlePattern);
editorManager->activateEditor(editor);
if (editor) {
editor->setProperty(Debugger::Constants::OPENED_BY_DEBUGGER, true);
editor->setProperty(Debugger::Constants::OPENED_WITH_MEMORY, true);
@@ -126,7 +127,6 @@ void MemoryAgent::addLazyData(QObject *editorToken, quint64 addr,
{
IEditor *editor = qobject_cast<IEditor *>(editorToken);
if (editor && editor->widget()) {
Core::EditorManager::instance()->activateEditor(editor);
QMetaObject::invokeMethod(editor->widget(), "addLazyData",
Q_ARG(quint64, addr / BinBlockSize), Q_ARG(QByteArray, ba));
}