All checks were successful
Build and Test / build (pull_request) Successful in 30m3s
- Create docs/examples/example-addon/ with a complete, copy-paste-ready addon skeleton demonstrating command registration, context injection, dock panels, lifecycle hooks, and event bus subscription - Add Examples section to docs/src/SUMMARY.md - Add quick-start cross-reference in writing-an-addon.md
30 lines
835 B
Python
30 lines
835 B
Python
"""Example addon commands.
|
|
|
|
Each command is registered via ``kindred_sdk.register_command()`` which
|
|
wraps FreeCAD's ``Gui.addCommand()`` with input validation.
|
|
"""
|
|
|
|
from kindred_sdk import register_command
|
|
|
|
|
|
def register_commands():
|
|
"""Register all commands for this addon."""
|
|
register_command(
|
|
name="ExampleAddon_Hello",
|
|
activated=_on_hello,
|
|
resources={
|
|
"MenuText": "Hello World",
|
|
"ToolTip": "Show a greeting in the console",
|
|
# "Pixmap": "path/to/icon.svg", # optional icon
|
|
# "Accel": "Ctrl+Shift+H", # optional shortcut
|
|
},
|
|
is_active=lambda: True,
|
|
)
|
|
|
|
|
|
def _on_hello():
|
|
"""Command handler — prints a greeting to the FreeCAD console."""
|
|
import FreeCAD
|
|
|
|
FreeCAD.Console.PrintMessage("Hello from example-addon!\n")
|