# PBToolboxAI — Documentation #

🌐 Français · English · Deutsch · Italiano · Español · Português

Bibliothèque commerciale de composants visuels modernes (HTML/CSS/JS rendus par WebView2) exposés à PowerBuilder comme des userobjects classiques. Vous posez un contrôle, affectez des propriétés typées, recevez des events PB : aucun HTML, aucune URL, aucun JSON à manipuler.

## Guide du développeur #

# | Page | Contenu
--- | --- | ---
1 | Installation et déploiement | Prérequis, fichiers à livrer, intégration IDE, runtime WebView2
2 | Prise en main | Ouvrir et migrer la démo livrée, premier composant à l'écran
3 | Socle commun `u_pbt_base` | Moteur de propriétés, items, events, cycle de vie, `of_reset`
4 | Thèmes et apparence | Thèmes (style × mode), accent, surcharge de tokens, icônes, texte riche
5 | Langue et sens de lecture | `PBT_SetLanguage`, traductions, RTL
6 | Fonctions transverses | Info-bulles, hébergement de contrôles PB, drop de fichiers, focus clavier, export image, utilitaires non visuels
7 | FAQ et dépannage | Symptômes fréquents et leurs causes
8 | Licence et mode démo | Clés `dev` / `runtime` / `demo`, mode démo

## Référence des composants #

Une page par composant de la version 1 : docs/composants/.

Catégorie | Composants
--- | ---
Vitrine | ribbon
Conteneurs et navigation | dockcontainer · listbar · tab · tilesbox · toolbar
Barres et progression | progressbar · statusbar
Texte et saisie | button · codeeditor · statictext
Retour utilisateur | messagebox · toaster
Médias et visionneuses | pdfviewer · picture · webbrowser

## Ce que vous recevez #

Fichier | Rôle
--- | ---
`pbtoolboxai.dll` (x86 / x64) | Moteur autoportant (bundles web, thèmes et dictionnaires embarqués)
`pbtoolboxai.pbl` | Userobjects `u_pbt_*`, classes d'items `n_pbt_*`, déclarations external functions
`pbtoolboxai_demo` | Application de démonstration (vitrine, exemples de code, documentation interactive)
`docs/` | Cette documentation
Bootstrapper WebView2 (optionnel) | Pour les rares postes sans le runtime

## Compatibilité #

- PowerBuilder : 10.2 → 2025.
- Windows : 10 et 11 (runtime WebView2 préinstallé). Windows Server / LTSC : installer le runtime, voir Installation.
- 32 bits et 64 bits : les deux exemplaires sont livrés sous le même nom, `pbtoolboxai.dll` (dossiers `x86\` et `x64\`).
- Aucune dépendance .NET, ActiveX, PBNI ni enregistrement COM.

## Conventions de l'API #

- Préfixes : userobjects `u_pbt_`, classes d'items `n_pbt_`, méthodes `of_`, events `ue_`, exports de la DLL `PBT_`.
- Toute valeur pilotable est une propriété, affectée directement : `uo_texte.is_text = "Bonjour"`. Les ajouts et les actions restent des méthodes (`of_add_*`, `of_remove_*`, `of_reset`…).
- Les méthodes `of_*` renvoient un `long` : ≥ 0 = OK, < 0 = erreur (`-2` : composant non créé ; `-5` : argument invalide). `of_get_last_error()` donne le détail.
- Les commandes émises avant que le composant ne soit prêt sont mises en file et rejouées automatiquement : vous pouvez tout configurer dès le `constructor` de la fenêtre.