All checks were successful
Build and Test / build (pull_request) Successful in 30m22s
Expose the existing C++ per-document origin tracking through the kcsdk pybind11 module and kindred_sdk Python package. New kcsdk functions (accept document name string): - document_origin(doc_name) — get origin via originForDocument() - set_document_origin(doc_name, origin_id) — explicit association - clear_document_origin(doc_name) — clear explicit association - find_owning_origin(doc_name) — ownership detection (no cache) New kindred_sdk wrappers (accept App.Document object): - document_origin(doc) - set_document_origin(doc, origin_id) - clear_document_origin(doc) - find_owning_origin(doc)
94 lines
2.3 KiB
Python
94 lines
2.3 KiB
Python
# kindred-addon-sdk — stable API for Kindred Create addon integration
|
|
|
|
from kindred_sdk.command import register_command
|
|
from kindred_sdk.compat import create_version, freecad_version
|
|
from kindred_sdk.context import (
|
|
add_transition_guard,
|
|
available_contexts,
|
|
context_stack,
|
|
current_context,
|
|
inject_breadcrumb,
|
|
inject_commands,
|
|
refresh_context,
|
|
register_context,
|
|
register_overlay,
|
|
remove_breadcrumb_injection,
|
|
remove_transition_guard,
|
|
unregister_context,
|
|
unregister_overlay,
|
|
)
|
|
from kindred_sdk.dock import register_dock_panel
|
|
from kindred_sdk.events import emit, off, on
|
|
from kindred_sdk.lifecycle import context_history, on_context_enter, on_context_exit
|
|
from kindred_sdk.menu import register_menu
|
|
from kindred_sdk.origin import (
|
|
active_origin,
|
|
clear_document_origin,
|
|
document_origin,
|
|
find_owning_origin,
|
|
get_origin,
|
|
list_origins,
|
|
register_origin,
|
|
set_active_origin,
|
|
set_document_origin,
|
|
unregister_origin,
|
|
)
|
|
from kindred_sdk.registry import (
|
|
addon_diagnostics,
|
|
addon_resource,
|
|
addon_version,
|
|
is_addon_loaded,
|
|
loaded_addons,
|
|
)
|
|
from kindred_sdk.statusbar import register_status_widget
|
|
from kindred_sdk.theme import get_theme_tokens, load_palette
|
|
from kindred_sdk.toolbar import register_toolbar
|
|
from kindred_sdk.version import SDK_VERSION
|
|
|
|
__all__ = [
|
|
"SDK_VERSION",
|
|
"active_origin",
|
|
"add_transition_guard",
|
|
"addon_diagnostics",
|
|
"addon_resource",
|
|
"addon_version",
|
|
"available_contexts",
|
|
"clear_document_origin",
|
|
"context_history",
|
|
"context_stack",
|
|
"create_version",
|
|
"current_context",
|
|
"document_origin",
|
|
"emit",
|
|
"find_owning_origin",
|
|
"freecad_version",
|
|
"get_origin",
|
|
"get_theme_tokens",
|
|
"inject_breadcrumb",
|
|
"inject_commands",
|
|
"is_addon_loaded",
|
|
"list_origins",
|
|
"load_palette",
|
|
"loaded_addons",
|
|
"off",
|
|
"on",
|
|
"on_context_enter",
|
|
"on_context_exit",
|
|
"refresh_context",
|
|
"register_command",
|
|
"register_context",
|
|
"register_dock_panel",
|
|
"register_menu",
|
|
"register_origin",
|
|
"register_overlay",
|
|
"register_status_widget",
|
|
"register_toolbar",
|
|
"remove_breadcrumb_injection",
|
|
"remove_transition_guard",
|
|
"set_active_origin",
|
|
"set_document_origin",
|
|
"unregister_context",
|
|
"unregister_origin",
|
|
"unregister_overlay",
|
|
]
|