MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / createDebuggerView

Method createDebuggerView

pcsx2-qt/Debugger/Docking/DockLayout.cpp:381–414  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

379}
380
381void DockLayout::createDebuggerView(const std::string& type)
382{
383 pxAssert(m_is_active);
384
385 if (!g_debugger_window)
386 return;
387
388 auto description_iterator = DockTables::DEBUGGER_VIEWS.find(type);
389 pxAssert(description_iterator != DockTables::DEBUGGER_VIEWS.end());
390
391 const DockTables::DebuggerViewDescription& description = description_iterator->second;
392
393 DebuggerViewParameters parameters;
394 std::tie(parameters.unique_name, parameters.id) = generateNewUniqueName(type.c_str());
395 parameters.cpu = &DebugInterface::get(m_cpu);
396
397 if (parameters.unique_name.isEmpty())
398 return;
399
400 DebuggerView* widget = description.create_widget(parameters);
401 m_widgets.emplace(parameters.unique_name, widget);
402
403 setPrimaryDebuggerView(widget, countDebuggerViewsOfType(type.c_str()) == 0);
404
405 auto view = static_cast<KDDockWidgets::QtWidgets::DockWidget*>(
406 KDDockWidgets::Config::self().viewFactory()->createDockWidget(widget->uniqueName()));
407 view->setWidget(widget);
408
409 KDDockWidgets::Core::DockWidget* controller = view->asController<KDDockWidgets::Core::DockWidget>();
410 pxAssert(controller);
411
412 DockUtils::insertDockWidgetAtPreferredLocation(controller, description.preferred_location, g_debugger_window);
413 updateDockWidgetTitles();
414}
415
416void DockLayout::recreateDebuggerView(const QString& unique_name)
417{

Callers 1

createWindowsMenuMethod · 0.80

Calls 7

uniqueNameMethod · 0.80
getFunction · 0.50
findMethod · 0.45
endMethod · 0.45
c_strMethod · 0.45
isEmptyMethod · 0.45
createDockWidgetMethod · 0.45

Tested by

no test coverage detected