# PBToolboxAI — Documentação #

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

Biblioteca comercial de componentes visuais modernos (HTML/CSS/JS apresentados pelo WebView2) expostos ao PowerBuilder como userobjects clássicos. Basta colocar um controlo, atribuir propriedades tipadas e receber events PB: sem HTML, sem URL, sem JSON para manipular.

## Guia do programador #

# | Página | Conteúdo
--- | --- | ---
1 | Instalação e implementação | Pré-requisitos, ficheiros a entregar, integração no IDE, runtime WebView2
2 | Primeiros passos | Abrir e migrar a demonstração fornecida, primeiro componente no ecrã
3 | Base comum `u_pbt_base` | Motor de propriedades, items, eventos, ciclo de vida, `of_reset`
4 | Temas e aspeto | Temas (estilo × modo), cor de destaque, substituição de tokens, ícones, texto formatado
5 | Idioma e sentido de leitura | `PBT_SetLanguage`, traduções, RTL
6 | Funcionalidades transversais | Tooltips, alojamento de controlos PB, largada de ficheiros, foco de teclado, exportação de imagem, utilitários não visuais
7 | FAQ e resolução de problemas | Sintomas frequentes e respetivas causas
8 | Licença e modo de demonstração | Chaves `dev` / `runtime` / `demo`, modo de demonstração

## Referência dos componentes #

Uma página por componente da versão 1: docs/composants/.

Categoria | Componentes
--- | ---
Montra | ribbon
Contentores e navegação | dockcontainer · listbar · tab · tilesbox · toolbar
Barras e progresso | progressbar · statusbar
Texto e introdução de dados | button · codeeditor · statictext
Retorno ao utilizador | messagebox · toaster
Multimédia e visualizadores | pdfviewer · picture · webbrowser

## O que o utilizador recebe #

Ficheiro | Função
--- | ---
`pbtoolboxai.dll` (x86 / x64) | Motor autónomo (bundles web, temas e dicionários incorporados)
`pbtoolboxai.pbl` | Userobjects `u_pbt_*`, classes de items `n_pbt_*`, declarações external functions
`pbtoolboxai_demo` | Aplicação de demonstração (montra, exemplos de código, documentação interativa)
`docs/` | Esta documentação
Bootstrapper WebView2 (opcional) | Para os raros postos sem o runtime

## Compatibilidade #

- PowerBuilder: 10.2 → 2025.
- Windows: 10 e 11 (runtime WebView2 pré-instalado). Windows Server / LTSC: instalar o runtime, ver Instalação.
- 32 bits e 64 bits: as duas cópias são fornecidas com o mesmo nome, `pbtoolboxai.dll` (pastas `x86\` e `x64\`).
- Sem qualquer dependência de .NET, ActiveX, PBNI nem registo COM.

## Convenções da API #

- Prefixos: userobjects `u_pbt_`, classes de items `n_pbt_`, métodos `of_`, events `ue_`, exportações da DLL `PBT_`.
- Todo o valor controlável é uma propriedade, atribuída diretamente: `uo_texte.is_text = "Olá"`. As adições e as ações continuam a ser métodos (`of_add_*`, `of_remove_*`, `of_reset`…).
- Os métodos `of_*` devolvem um `long`: ≥ 0 = OK, < 0 = erro (`-2`: componente não criado; `-5`: argumento inválido). `of_get_last_error()` fornece o detalhe.
- Os comandos emitidos antes de o componente estar pronto são colocados em fila e reexecutados automaticamente: tudo pode ser configurado logo no `constructor` da window.