Files
create/docs/examples/example-addon/example_addon/commands.py
forbes-0023 2f89f8cbb0
All checks were successful
Build and Test / build (pull_request) Successful in 30m3s
docs: add example addon template (#395)
- 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
2026-03-05 10:32:12 -06:00

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")