# PBToolboxAI — Documentation #

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

A commercial library of modern visual components (HTML/CSS/JS rendered by WebView2) exposed to PowerBuilder as plain userobjects. You drop a control, assign typed properties, receive PB events: no HTML, no URL, no JSON to handle.

## Developer guide #

# | Page | Contents
--- | --- | ---
1 | Installation and deployment | Requirements, files to ship, IDE integration, WebView2 runtime
2 | Getting started | Open and migrate the shipped demo, first component on screen
3 | Shared foundation `u_pbt_base` | Property engine, items, events, life cycle, `of_reset`
4 | Themes and appearance | Themes (style × mode), accent color, token overrides, icons, rich text
5 | Language and reading direction | `PBT_SetLanguage`, translations, RTL
6 | Cross-cutting features | Tooltips, hosting PB controls, file drop, keyboard focus, image export, non-visual utilities
7 | FAQ and troubleshooting | Common symptoms and what causes them
8 | License and demo mode | `dev` / `runtime` / `demo` keys, demo mode

## Component reference #

One page per version 1 component: docs/composants/.

Category | Components
--- | ---
Showcase | ribbon
Containers and navigation | dockcontainer · listbar · tab · tilesbox · toolbar
Bars and progress | progressbar · statusbar
Text and input | button · codeeditor · statictext
User feedback | messagebox · toaster
Media and viewers | pdfviewer · picture · webbrowser

## What you get #

File | Purpose
--- | ---
`pbtoolboxai.dll` (x86 / x64) | Self-contained engine (web bundles, themes and dictionaries embedded)
`pbtoolboxai.pbl` | `u_pbt_*` userobjects, `n_pbt_*` item classes, external function declarations
`pbtoolboxai_demo` | Demo application (showcase, code samples, interactive documentation)
`docs/` | This documentation
WebView2 bootstrapper (optional) | For the rare machines without the runtime

## Compatibility #

- PowerBuilder: 10.2 → 2025.
- Windows: 10 and 11 (WebView2 runtime preinstalled). Windows Server / LTSC: install the runtime, see Installation.
- 32-bit and 64-bit: both copies ship under the same name, `pbtoolboxai.dll` (folders `x86\` and `x64\`).
- No .NET, ActiveX or PBNI dependency, and no COM registration.

## API conventions #

- Prefixes: userobjects `u_pbt_`, item classes `n_pbt_`, methods `of_`, events `ue_`, DLL exports `PBT_`.
- Every value you can drive is a property, assigned directly: `uo_texte.is_text = "Hello"`. Additions and actions remain methods (`of_add_*`, `of_remove_*`, `of_reset`…).
- The `of_*` methods return a `long`: ≥ 0 = OK, < 0 = error (`-2`: component not created; `-5`: invalid argument). `of_get_last_error()` gives the details.
- Commands issued before the component is ready are queued and replayed automatically: you can configure everything right from the window `constructor`.