| 684 | } |
| 685 | |
| 686 | void RackWidget::removeModule(ModuleWidget* m) { |
| 687 | // Unset touchedParamWidget |
| 688 | if (touchedParam) { |
| 689 | ModuleWidget* touchedModule = touchedParam->getAncestorOfType<ModuleWidget>(); |
| 690 | if (touchedModule == m) |
| 691 | touchedParam = NULL; |
| 692 | } |
| 693 | |
| 694 | // Disconnect cables |
| 695 | m->disconnect(); |
| 696 | |
| 697 | // Deselect module if selected |
| 698 | internal->selectedModules.erase(m); |
| 699 | |
| 700 | // Remove module from ModuleContainer |
| 701 | internal->moduleContainer->removeChild(m); |
| 702 | |
| 703 | updateExpanders(); |
| 704 | } |
| 705 | |
| 706 | ModuleWidget* RackWidget::getModule(int64_t moduleId) { |
| 707 | for (widget::Widget* w : internal->moduleContainer->children) { |
no test coverage detected