MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / minimizeOrMaximize

Method minimizeOrMaximize

Gui/DockablePanel.cpp:1159–1230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1157}
1158
1159void
1160DockablePanel::minimizeOrMaximize(bool toggled)
1161{
1162 Gui* gui = getGui();
1163 bool redraw = false;
1164 NodeGuiPtr nodeGui;
1165 if (gui) {
1166 gui->buildTabFocusOrderPropertiesBin();
1167
1168 NodeSettingsPanel* nodePanel = dynamic_cast<NodeSettingsPanel*>(this);
1169 if (nodePanel) {
1170 nodeGui = nodePanel->getNode();
1171 }
1172
1173 if (toggled && nodeGui) {
1174 NodePtr node = nodeGui->getNode();
1175 if (node) {
1176 NodesList overlayNodes;
1177
1178 gui->getNodesEntitledForOverlays(overlayNodes);
1179 NodesList::iterator found = std::find(overlayNodes.begin(), overlayNodes.end(), node);
1180 if ( found != overlayNodes.end() ) {
1181 redraw = true;
1182 // qDebug() << "redraw (minimized)";
1183 // assert(toggled);
1184 }
1185 }
1186 }
1187 }
1188
1189 _imp->_minimized = toggled;
1190 if (_imp->_minimized) {
1191 Q_EMIT minimized();
1192 } else {
1193 Q_EMIT maximized();
1194 }
1195 _imp->_rightContainer->setVisible(!_imp->_minimized);
1196 std::vector<QWidget*> _panels;
1197 for (int i = 0; i < _imp->_container->count(); ++i) {
1198 if ( QWidget * myItem = dynamic_cast <QWidget*>( _imp->_container->itemAt(i) ) ) {
1199 _panels.push_back(myItem);
1200 _imp->_container->removeWidget(myItem);
1201 }
1202 }
1203 for (U32 i = 0; i < _panels.size(); ++i) {
1204 _imp->_container->addWidget(_panels[i]);
1205 }
1206
1207 if (gui) {
1208 if (!toggled && nodeGui) {
1209 NodePtr node = nodeGui->getNode();
1210 if (node) {
1211 NodesList overlayNodes;
1212
1213 gui->getNodesEntitledForOverlays(overlayNodes);
1214 NodesList::iterator found = std::find(overlayNodes.begin(), overlayNodes.end(), node);
1215 if ( found != overlayNodes.end() ) {
1216 redraw = true;

Callers 2

Calls 14

getGuiFunction · 0.85
itemAtMethod · 0.80
addWidgetMethod · 0.80
getNodeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
setVisibleMethod · 0.45
countMethod · 0.45
push_backMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected