12. Notas de versão #
← Migrar da 3.0 para a 4.0 · Índice · Assistente de IA →
Uma versão adquirida nunca perde os seus componentes: a 4.0 contém os trinta e dois da 1.0 à 3.0, e uma chave cuja manutenção cobre a data do seu build compila com a DLL mais recente — ver Licença.
4.0 — outubro 2026 #
Cinco componentes: dados, gráficos, documentos e som #
- Cartesian chart — um gráfico cartesiano animado: colunas, barras, linhas, áreas, dispersão, bolhas, mapas de calor, velas. O tipo escolhe-se por série: um gráfico combinado (colunas e linha de objetivo em dois eixos) cabe num único componente.
- Data grid — uma grelha moderna assente num DataStore: colunas tipadas e células ricas, ordenação, filtros, agrupamentos e subtotais, edição no próprio sítio, volumes muito grandes, exportação para CSV e Excel. Lê o que o DataWindow diz de cada coluna (título, formato, tabela de códigos), e o DataWindow continua a ser o dono dos seus dados.
- Markdown view — um documento Markdown só de leitura, nas cores do tema: títulos, listas, tabelas, caixas de verificação, código colorido, imagens — a partir de um texto ou de um ficheiro do posto.
- Scheduler — um calendário ao estilo do Outlook: vistas de dia, semana de trabalho, semana, mês e agenda, arrastar e largar, recursos lado a lado, categorias de cor, cartões e dicas escritos com modelos — preenchido marcação a marcação ou a partir de um DataStore.
- Sound player — um objeto não visual que reproduz um ficheiro do posto, um endereço
httpsou um sinal sonoro sintetizado, de forma assíncrona (eventos) ou síncrona (a chamada devolve o controlo quando o som termina).
O que muda #
- Uma alteração pedida pelo seu código (
of_select_*,of_expand,of_open…) levanta o mesmo evento que um gesto do utilizador, comoSelectTabno PowerBuilder; as perguntas feitas antes de uma alteração são facultativas e ativam-se com uma propriedadeib_veto_*. - Saem dois métodos:
of_set_datada tabela dinâmica passa aof_from_datastore, eof_transformde XML desaparece com XSLT, que o motor do navegador está a retirar. Alguns nomes e contagens alinham-se com o resto da biblioteca. Os detalhes, e o que alterar: Migrar da 3.0 para a 4.0. - Os temas seguem a aplicação: o acento que ela define sobrevive a uma mudança de tema, e um eixo de tema deixado vazio segue o seu.
No resto da biblioteca #
- O teclado da janela: Enter prime o botão predefinido mais próximo do foco, os atalhos de um componente respondem a partir de toda a janela, tal como uma letra sublinhada (
&Guardar), e F10 abre a barra de menus. - Todos os menus pendentes pesquisam à medida que se escreve e mantêm-se fluidos com milhares de entradas.
- Texto rico: a etiqueta
[symbol=nome]acrescenta dezoito glifos monocromáticos (relógio, local, pessoa, calendário…) que seguem a cor do texto. - Novidades na maioria dos componentes fornecidos — separadores pelo teclado (Ctrl+Tab, clique do meio), painéis destacados com um duplo clique, chevron de excesso da barra de menus, lista pendente na barra de ferramentas, registo linha a linha do statictext, tamanho real de uma imagem, leitura de uma célula da tabela dinâmica… A lista completa, componente a componente, está em Migrar da 3.0 para a 4.0 e no histórico de cada componente.
- Um assistente de IA (Claude, Cursor, VS Code…) pode consultar a API exata da sua versão e verificar o código que propõe, graças ao servidor MCP da documentação fornecido com a demonstração.
Corrigido #
- Uma propriedade decimal (
double) era relida com o separador do posto: num Windows francês,1.5voltava errado. - O clique direito sobre um item passa a produzir um único evento, em todos os componentes.
- Tiles box:
of_get_layoutdevolvia uma disposição vazia.
3.0 — setembro 2026 #
Onze componentes: dados, utilitários e multimédia #
- Breadcrumb — o trilho de navegação: onde se está, e regresso a qualquer nível com um clique. Ramos abertos a pedido, introdução direta do caminho, ficheiros largados sobre um segmento.
- Button bar — uma fila de botões de comando — ícone, rótulo ou ambos — num único componente; um clique devolve a chave do botão.
- Crosstab — a tabela dinâmica de um DataStore: linhas, colunas, valores agregados, filtros, subtotais, campos e medidas calculados, exportação para CSV e Excel.
- Crypto — resumos, HMAC, cifragem por palavra-passe ou por chave, assinaturas RSA, ECDSA e Ed25519, JWT, palavras-passe com sal, TOTP de dois fatores e DPAPI — sem instalar nada.
- JSON — construir um documento JSON tipo a tipo, lê-lo ao longo de um caminho e alterá-lo no próprio sítio, em PowerScript puro.
- JSON tree — um documento JSON mostrado como num editor de código: números de linha, coloração por tipo, cada bloco recolhível, pesquisa.
- REST client — um cliente HTTPS nativo e assíncrono: GET, POST, cabeçalhos, JSON, multipart, cookies, novas tentativas, transferência de ficheiros — sem o muro CORS de um navegador.
- Speech out — a leitura em voz alta com as vozes instaladas no posto: frase e palavra em curso, fila de espera, dicionário de pronúncia, leitura síncrona.
- Video player — um leitor de vídeo com a sua própria barra conforme o tema: legendas, ecrã inteiro, capítulos, marcadores, lista de reprodução, captura de imagem.
- XML — construir um documento XML elemento a elemento e lê-lo com um verdadeiro XPath: espaços de nomes, alteração, transformação XSLT.
- XML tree — um documento XML mostrado como num editor de código: etiquetas, atributos e texto coloridos, cada elemento recolhível, pesquisa.
O que muda #
- Toda a posição passada a um método conta a partir de 1, como as que os eventos de reordenação já devolvem; uma entrada em cascata devolve o seu endereço completo. Os detalhes, e o que alterar: Migrar da 2.0 para a 3.0.
- Button continua a ser fornecido e suportado, mas fica obsoleto em favor de Button bar: uma fila de botões cabe num único componente.
No resto da biblioteca #
of_set_property,of_get_propertyeof_component_name: controlar uma propriedade pelo seu nome, para um ecrã de definições ou uma configuração guardada.- A caixa de mensagem propõe uma lista de escolhas (
of_add_choice,of_choose) além dos seus botões.
Corrigido #
- Uma cor relida (
il_text_color,il_accent…) devolvia0, preto, estivesse definida ou não: devolve a cor definida, e-1quando é a do tema. ue_errorde Picture e Shell explorer nunca era levantado.- Texto rico: uma
[palavra]desconhecida fazia desaparecer o resto do texto; agora é mostrada tal como está. - Barra de estado:
ue_panel_rclickeddá coordenadas de ecrã, a passar tal como estão a um menu de contexto.
2.0 — setembro 2026 #
Cinco componentes, todos dedicados à navegação #
- Menu bar — barra de menus da aplicação: menus, submenus, entradas marcáveis, separadores, ícones, atalhos e mnemónicas
&Ficheiro, desenhada pela biblioteca no tema da aplicação. - Command palette — um atalho, três letras, e qualquer ação da aplicação é alcançada sem a procurar nos menus. Pesquisa no rótulo, no grupo e nas palavras-chave, várias palavras de uma vez.
- Radial menu — os comandos em coroa à volta do cursor ao clique direito, escolhidos pela direção em vez de percorrer uma lista.
- Shell explorer — a árvore do verdadeiro shell do Windows: Ambiente de trabalho, Este PC, unidades, pastas, Rede, com os ícones do computador. Um só
of_expandabre um caminho profundo. - Stepbar — o fio de etapas de um assistente: as concluídas, a atual e as que faltam, na horizontal ou na vertical.
Uma API remodelada nos dezasseis da 1.0 #
Uma chave, um endereço; tudo a partir do componente; uma adição devolve um código. As três regras, o antes/depois e cada assinatura alterada estão em Migrar da 1.0 para a 2.0. O motivo: um handle que adicionava não podia dizer que tinha recusado, e três argumentos para designar um item obrigavam cada componente a inventar a sua própria maneira de o fazer.
Em todos os componentes #
of_count,of_keys_ateof_has, no componente e em cada nível: o que um componente contém pergunta-se, já não é preciso guardá-lo por conta própria.- Todo o método que devolve um
longdiz o que o seu retorno significa:0aplicado,-5argumento inválido,-2componente não criado — na doc incorporada da demonstração como aqui. - As propriedades de um item releem-se ao vivo: o ícone de uma entrada da listbar, o texto e o ícone de um mosaico, o estado de um botão de barra — um getter diz o que está no ecrã, nunca um valor memorizado.
ib_visibleem cada entrada de menu — barra de menus, menu contextual, menu radial, menus da faixa de opções: ocultar não é acinzentar, a entrada sai do menu, atalho incluído, e guarda a sua chave para voltar.- A barra de estado constrói os seus menus entrada a entrada (
of_add_menu_item ("panel/id", …)), com um handle de entrada que acinzenta, marca e oculta — em vez dos dois arrays paralelos deof_set_panel_menu. ue_script_error: um erro de script na página chega ao PowerBuilder com a sua mensagem e a sua pilha, em vez de se perder.
Corrigido #
- Um item desativado ou oculto já não responde a nada: nem clique nem teclado — a listbar ainda selecionava uma entrada acinzentada com Enter.
- O texto acinzentado lê-se em todos os temas (contraste 3:1 no mínimo), e o texto sob o rato também no modo escuro — dois botões desativados da faixa de opções ficavam invisíveis no Office 2007.
- Um caminho Windows lido da página voltava com as barras invertidas duplicadas (
C:\\Windows); um valor com aspas ficava cortado. - Dock container: o painel fixado à esquerda perdia a sua margem direita acima de 100 % de escala do ecrã.
- Faixa de opções: o ícone de um botão desativado não ficava acinzentado no modo compacto; um título da barra de menus acendia-se ao mesmo tempo que o que estava sob o rato.
- Editor de código: o texto relido após um dobrar era o antigo, e desdobrar apagava o que fora escrito.
1.0 — agosto 2026 #
Primeira versão: dezasseis componentes — button, code editor, dock container, listbar, message box, PDF viewer, picture, progress, ribbon, statictext, statusbar, tab, tiles box, toaster, toolbar, web browser — uma só DLL a implementar, x86 e x64 com o mesmo nome, sem dependência .NET, ActiveX nem PBNI. Temas Office, Fluent e Metro, claro e escuro; seis línguas e RTL; licença totalmente offline; PowerBuilder 10.2 a 2025.