| 141 | } |
| 142 | |
| 143 | void ComponentWatcher_Impl::mf_refreshComponentContents(bool /*logWarnings*/) { |
| 144 | // disconnect componentDataChange slot to avoid endless loop |
| 145 | std::shared_ptr<ModelObject_Impl> implPtr = m_componentData.getImpl<ModelObject_Impl>(); |
| 146 | implPtr.get()->onDataChange.disconnect<ComponentWatcher_Impl, &ComponentWatcher_Impl::componentDataChange>(this); |
| 147 | |
| 148 | // \todo logWarnings |
| 149 | m_componentData.clearExtensibleGroups(); |
| 150 | for (const ModelObject& object : m_componentObjects) { |
| 151 | m_componentData.getImpl<ComponentData_Impl>()->registerObject(object); |
| 152 | } |
| 153 | |
| 154 | // reconnect componentDataChange |
| 155 | implPtr.get()->ModelObject_Impl::onDataChange.connect<ComponentWatcher_Impl, &ComponentWatcher_Impl::componentDataChange>(this); |
| 156 | } |
| 157 | |
| 158 | void ComponentWatcher_Impl::mf_removeComponent() { |
| 159 | m_componentData.remove(); // triggers emit through slot objectRemove |
nothing calls this directly
no test coverage detected