Development Guide
This section is intended for developers who want to contribute to the WOLF project. It provides guidelines and best practices for developing new features, fixing bugs, and maintaining the codebase.
Note
This section is under construction. It will be completed in the coming months. Please, be patient.
Contents:
- Structure interne
- Native Crash — Re-entrant Import Under the Python Import Lock
- Dialog Provider
- Add Object Pipeline
- Mouse Action System
- Active-Object Slots (
ActiveSlot) - Scripting wolfhece from a VSCode Jupyter Notebook
- Plugin System
- Action plugin — minimal example
- Action plugin — complete reference
- Plugin overload — replacing and restoring an existing handler
- Menu-less companion - minimal example
- Companion plugin — minimal example
- What changes compared to the raw API?
- Workflow
- 1 — wx startup
- 2 — Create the MapViewer
- 3 — The companion class
- 4 — Instantiate and attach the menu
- 5 — Activate from the notebook (alternative to using the menu)
- 6 — Inspect the collected points
- 7 — Live coordinate display
- 8 — Cleanup
- Summary — companion vs raw API
- 9 — Example: declarative multi-step action (MultiStepSpec)
- Companion plugin — complete reference
- Companion plugin — overload and restore
- The overload scenario
- Overload rules (same as raw API)
- 1 — wx startup
- 2 — Viewer
- 3 — Base companion (permanent handler)
- 4 — Diagnostic companion (temporary overload)
- 5 — Install the diagnostic handler
- 6 — Live check
- 7 — Remove the diagnostic handler (restores the base)
- 8 — Cascaded overloads (same rules as raw API)
- 9 — Final cleanup
- Summary — overload with companions
- Companion factory — interactive geometry selection
- Common interaction for all companions
- Minimal usage (one-liner)
- 1 — wx startup
- 2 — Create the viewer
- 3 — Import the factory
- A —
PointPickerCompanion: selecting individual points - B —
PolylineCompanion: polyline input - C —
MultiPolylineCompanion: multiple polylines in one session - D —
MultiPolylineZonesCompanion: polylines in aZonesobject - E —
PolygonCompanion: closed polygon input - F — Customization: override class attributes
- G — Extension: add click behavior
- Quick reference summary