MCPcopy Create free account
hub / github.com/KDE/kdevelop / existentDockWidgetForView

Function existentDockWidgetForView

kdevplatform/sublime/idealcontroller.cpp:152–171  ·  view source on GitHub ↗

* @return the dock widget (grand)parent of @p view->widget(), the QMainWindow parent * of @p view->widget() if it has a toolbar, and @p view->widget() itself * * @pre @p view->widget() belongs to a dock widget */

Source from the content-addressed store, hash-verified

150 * @pre @p view->widget() belongs to a dock widget
151 */
152[[nodiscard]] DockWidgetInfo existentDockWidgetForView(const Sublime::View* view)
153{
154 Q_ASSERT(view);
155 auto* const viewWidget = view->widget();
156 Q_ASSERT(viewWidget);
157
158 auto* const viewParent = viewWidget->parentWidget();
159 Q_ASSERT(viewParent);
160 auto* dockWidget = qobject_cast<Sublime::IdealDockWidget*>(viewParent);
161 if (dockWidget) {
162 return {dockWidget, nullptr, viewWidget};
163 }
164
165 // a tool view widget with a toolbar lives in a QMainWindow that lives in a dock widget
166 Q_ASSERT(qobject_cast<QMainWindow*>(viewParent) == viewParent);
167 auto* const toolView = static_cast<QMainWindow*>(viewParent);
168 dockWidget = qobject_cast<Sublime::IdealDockWidget*>(toolView->parentWidget());
169 Q_ASSERT(dockWidget);
170 return {dockWidget, toolView, viewWidget};
171}
172
173} // unnamed namespace
174

Callers 2

removeViewMethod · 0.85

Calls 1

widgetMethod · 0.45

Tested by

no test coverage detected