The 3D model editor is now so complex that it requires loading visual interfaces from separate layouts, so this PR makes it possible to create a component and its child components from a layout file, into another component instead of a window. Because of potential name collisions, it is also possible to find components from within a parent component recursively, instead of searching in the entire window. A destroy event was also created, so that a sub-interface listening for update notifications about information to display, can tell others not to call it back anymore.
The 3D model editor is now so complex that it requires loading visual interfaces from separate layouts, so this PR makes it possible to create a component and its child components from a layout file, into another component instead of a window. Because of potential name collisions, it is also possible to find components from within a parent component recursively, instead of searching in the entire window. A destroy event was also created, so that a sub-interface listening for update notifications about information to display, can tell others not to call it back anymore.