port(2V0-b): EterPythonLib 窗口树实现 + EterLib 资源层

- port: PythonWindow/PythonSlotWindow/PythonGridSlotWindow/PythonWindowManager(布局/命中/事件/插槽渲染)
- port: EterLib ReferenceObject/Resource/ResourceManager(资源引用与查找)
- platform: EterLib Util、EterPythonLib PythonGraphic
- tests: port.window_tree(需要解释器,不需要 40250 Client/pack)
- 顺带补上 4 个缺失的 Godot .uid

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-23 11:09:05 +09:00
co-authored by Claude Code
parent 369a80fc10
commit b4c9d6cefc
15 changed files with 6255 additions and 0 deletions
+9
View File
@@ -171,5 +171,14 @@ if(BUILD_TESTING AND CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME)
add_test(NAME port.python_launcher
COMMAND $<TARGET_FILE:port_python_launcher_test> ${MT_40250_CLIENT} ${MT_PYTHON_STDLIB_ZIP})
set_tests_properties(port.python_launcher PROPERTIES SKIP_RETURN_CODE 77)
# EterPythonLib 的窗口树(批次 2V0-b)。需要解释器(CWindowManager 的构造函数就调 Python),
# 但不需要 40250 的 Client/pack —— 布局/命中/事件都不读资源。
add_executable(port_window_tree_test ${CMAKE_CURRENT_SOURCE_DIR}/../../tests/port_window_tree_test.cpp)
target_link_libraries(port_window_tree_test PRIVATE port_platform)
add_dependencies(port_window_tree_test mtpython_stdlib)
add_test(NAME port.window_tree
COMMAND $<TARGET_FILE:port_window_tree_test> ${MT_PYTHON_STDLIB_ZIP})
set_tests_properties(port.window_tree PROPERTIES SKIP_RETURN_CODE 77)
endif()
endif()