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
- Companion sans menu — exemple minimal
- 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
- Companion plugin — complete reference
- What the companion adds vs the raw API
- Public API (call from notebook cells)
- Protected helpers (use inside the companion class only)
- OpenGL paint helpers (no
import OpenGLrequired) - Dialog helpers (no
import wxrequired) - Event handler signatures
MouseContextquick referenceKeyboardSnapshotquick 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 — sélection interactive de géométries
- Interaction commune à tous
- Usage minimal (one-liner)
- 1 — Démarrage wx
- 2 — Créer le viewer
- 3 — Importer la factory
- A —
PointPickerCompanion: sélection de points isolés - B —
PolylineCompanion: saisie d’une polyligne - C —
MultiPolylineCompanion: plusieurs polylignes en une session - D —
MultiPolylineZonesCompanion: polylignes dans un objetZones - E —
PolygonCompanion: saisie de polygones fermés - F — Personnalisation : surcharger les attributs de classe
- G — Extension : ajouter un comportement au clic
- Récapitulatif — référence rapide