| 1157 | } |
| 1158 | |
| 1159 | void |
| 1160 | DockablePanel::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; |
no test coverage detected