MCPcopy Create free account
hub / github.com/KDE/labplot / raiseDock

Function raiseDock

src/frontend/GuiObserver.cpp:99–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

97
98template<class T>
99bool raiseDock(T*& dock, QStackedWidget* parent) {
100 Q_ASSERT(parent);
101 DEBUG(Q_FUNC_INFO << ", number of stacked widgets = " << parent->count())
102
103 const bool generated = !dock;
104 if (generated) {
105 dock = new T(parent);
106 initializedDocks << dock;
107 parent->addWidget(dock);
108 }
109
110 // see https://wiki.qt.io/Technical_FAQ#How_can_I_get_a_QStackedWidget_to_automatically_switch_size_depending_on_the_content_of_the_page
111 if (parent->currentWidget())
112 parent->currentWidget()->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
113 parent->setCurrentWidget(dock);
114 parent->currentWidget()->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
115
116 // scroll the scroll area up to the top
117 if (parent->parent() && parent->parent()->parent()) {
118 auto* scrollArea = dynamic_cast<QScrollArea*>(parent->parent()->parent());
119 if (scrollArea)
120 scrollArea->ensureVisible(0, 0);
121 }
122 return generated;
123}
124
125template<class T>
126void raiseDockConnect(T*& dock, QStatusBar* statusBar, QStackedWidget* parent) {

Callers 3

raiseDockConnectFunction · 0.85
raiseDockSetupConnectFunction · 0.85

Calls 3

currentWidgetMethod · 0.80
countMethod · 0.45
parentMethod · 0.45

Tested by

no test coverage detected