Some network messages relayout GUI

This commit is contained in:
Yousef Khadadeh 2026-04-09 12:00:36 +03:00
parent 4aa810fe43
commit 99c2657434
15 changed files with 71 additions and 9 deletions

View file

@ -15,13 +15,16 @@ void DrawingProgramLayerFolder::set_component_list_callbacks(DrawingProgramLayer
folderList->set_insert_callback([&](auto& c) {
layerMan.drawP.drawCache.clear_own_cached_surfaces();
c->obj->set_component_list_callbacks(layerMan);
layerMan.drawP.world.set_to_layout_gui_if_focus();
});
folderList->set_erase_callback([&](auto& c) {
layerMan.drawP.drawCache.clear_own_cached_surfaces();
c->obj->set_to_erase();
layerMan.drawP.world.set_to_layout_gui_if_focus();
});
folderList->set_move_callback([&](auto& c, uint32_t oldPos) {
layerMan.drawP.drawCache.clear_own_cached_surfaces();
layerMan.drawP.world.set_to_layout_gui_if_focus();
});
for(auto& listItem : *folderList)
listItem.obj->set_component_list_callbacks(layerMan);

View file

@ -287,10 +287,15 @@ void DrawingProgramLayerListItem::register_class(World& w) {
.readConstructorFuncServer = read_constructor_func,
.readUpdateFuncServer = nullptr,
});
w.delayedUpdateObjectManager.register_class<NameData>(w.netObjMan);
w.delayedUpdateObjectManager.register_class<NameData>(w.netObjMan, NetworkingObjects::DelayUpdateSerializedClassManager::CustomConstructors<NameData>{
.postUpdateFunc = [&](NameData& o) {
w.set_to_layout_gui_if_focus();
}
});
w.delayedUpdateObjectManager.register_class<DisplayData>(w.netObjMan, NetworkingObjects::DelayUpdateSerializedClassManager::CustomConstructors<DisplayData>{
.postUpdateFunc = [&](DisplayData& o) {
w.drawProg.drawCache.clear_own_cached_surfaces();
w.set_to_layout_gui_if_focus();
}
});
}