| 253 | } |
| 254 | |
| 255 | void DockLayout::reset() |
| 256 | { |
| 257 | pxAssert(!m_is_active); |
| 258 | |
| 259 | for (auto& [unique_name, widget] : m_widgets) |
| 260 | { |
| 261 | pxAssert(widget.get()); |
| 262 | |
| 263 | delete widget; |
| 264 | } |
| 265 | |
| 266 | m_next_id = 0; |
| 267 | m_toolbars.clear(); |
| 268 | m_widgets.clear(); |
| 269 | m_geometry.clear(); |
| 270 | |
| 271 | const DockTables::DefaultDockLayout* base_layout = DockTables::defaultLayout(m_base_layout); |
| 272 | if (!base_layout) |
| 273 | return; |
| 274 | |
| 275 | for (size_t i = 0; i < base_layout->widgets.size(); i++) |
| 276 | { |
| 277 | auto iterator = DockTables::DEBUGGER_VIEWS.find(base_layout->widgets[i].type); |
| 278 | pxAssertRel(iterator != DockTables::DEBUGGER_VIEWS.end(), "Invalid default layout."); |
| 279 | const DockTables::DebuggerViewDescription& dock_description = iterator->second; |
| 280 | |
| 281 | DebuggerViewParameters parameters; |
| 282 | std::tie(parameters.unique_name, parameters.id) = |
| 283 | generateNewUniqueName(base_layout->widgets[i].type.c_str()); |
| 284 | parameters.cpu = &DebugInterface::get(m_cpu); |
| 285 | |
| 286 | if (parameters.unique_name.isEmpty()) |
| 287 | continue; |
| 288 | |
| 289 | DebuggerView* widget = dock_description.create_widget(parameters); |
| 290 | widget->setPrimary(true); |
| 291 | m_widgets.emplace(parameters.unique_name, widget); |
| 292 | } |
| 293 | } |
| 294 | |
| 295 | KDDockWidgets::Core::DockWidget* DockLayout::createDockWidget(const QString& name) |
| 296 | { |
no test coverage detected