feat(sdk): migrate editing context API to kcsdk (#351) #359
Reference in New Issue
Block a user
Delete Branch "feat/kcsdk-scaffold"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Migrates the editing context/overlay registration API through the KCSDK C++ library and
kcsdkpybind11 module.Closes #351 (Phase 2 of KCSDK epic #346).
Changes
New files:
src/Gui/SDK/Types.h—ContextDef,OverlayDef,ContextSnapshotstructs (plain C++, no Qt in public API)Modified:
src/Gui/SDK/SDKRegistry.h/.cpp—registerContext(),unregisterContext(),registerOverlay(),unregisterOverlay(),injectCommands(),currentContext(),refresh()— all delegate toEditingContextResolverwith std↔Qt conversionsrc/Gui/SDK/CMakeLists.txt— AddTypes.h, linkFreeCADGuisrc/Gui/SDK/bindings/kcsdk_py.cpp— Bind all context functions with GIL-safe match callable wrapping and dict-based snapshot returnmods/sdk/kindred_sdk/context.py— Trykcsdkfirst, fall back toFreeCADGuifor backwards compatibilityAPI surface
Next steps
Issue #352 will add the panel provider system (IPanelProvider).