13. Notas de versão #
← Migrar da 4.0 para a 5.0 · Índice · Assistente de IA →
Uma versão adquirida nunca perde os seus componentes: a 5.0 contém os trinta e sete da 1.0 à 4.0, e uma chave cuja manutenção cobre a data do seu build compila com a DLL mais recente — ver Licença.
5.0 — outubro 2026 #
Oito componentes: introdução de dados, gráficos, planeamento e menus #
- Angular gauge — um indicador de mostrador: ponteiro, arco cheio ou marca, intervalos coloridos pelo seu tom, marcas de escala, objetivo, um valor ajustável com o rato e o teclado.
- Context menu — um menu de contexto nativo construído entrada a entrada, em cascata, com ícones, marcas de verificação e grupos de opções, aberto no cursor, por baixo de um controlo ou num ponto do ecrã.
- Form — um formulário de introdução num único componente: secções recolhíveis, doze tipos de campo (texto, número, interruptor, lista, data, cor, etiquetas, classificação…), validação, máscaras, e leitura ou escrita de uma linha de DataWindow.
- Gantt chart — um diagrama de Gantt: tarefas e resumos recolhíveis, marcos, dependências, caminho crítico, escalas do dia ao trimestre, arrastar e redimensionar com o rato, preenchido a partir de um DataStore.
- Kanban board — um quadro kanban: cartões arrastados de uma coluna para outra, limites de trabalho em curso, etiquetas, prazos e avatares, colunas recolhíveis, preenchido a partir de um DataStore e reescrito no DataWindow.
- Linear gauge — um indicador linear, horizontal ou vertical, da mesma família que o indicador de mostrador: barra ou marca, intervalos coloridos, marcas de escala, objetivo, valor ajustável.
- Pie chart — um gráfico circular ou em anel animado: fatias que deslizam para os novos valores, etiquetas dentro ou fora, um texto ao centro, uma legenda clicável, um semicírculo se desejar, fatias pequenas agrupadas em «Outros», um DataStore lido numa chamada.
- Property grid — uma grelha de propriedades ao estilo do Visual Studio: categorias, propriedades expansíveis, um editor por tipo (número, booleano, lista, cor, data…), pesquisa, ordenação alfabética e painel de ajuda.
O que muda #
- A barra de progresso fala como os indicadores:
ib_label,il_coloreis_label_formatpassam aib_show_value,il_value_coloreis_format(um formato de apresentação PowerBuilder aplicado ao valor), eis_unitescreve uma unidade depois da leitura. Nenhum método é retirado. Os detalhes, e o que alterar: Migrar da 4.0 para a 5.0.
No resto da biblioteca #
- Máscaras de entrada numéricas na grelha de dados (
is_maskde uma coluna) e num contador do friso (is_mask,is_format): o agrupamento aparece à medida que chegam os algarismos, as casas decimais ficam limitadas, as letras são recusadas, e o valor continua a ser o número simples. - Os menus nativos de um componente com um acento próprio mostram-no na entrada apontada.
- crypto: os blobs sem ficheiro (
of_base64_encode_blob,of_hash_blob,of_encrypt_blob…), a verificação de um token pelo conjunto de chaves do Azure AD, da Google ou do Auth0 (of_jwt_verify_jwks, JWK), os claims esperados e a tolerância dos JWT, novos algoritmos (RS384/512, PS256/384/512, ES384, HS384/512), as assinaturas PSS, os dados adicionais do AES-GCM, as definições TOTP e HOTP,of_password_needs_rehash.
Corrigido #
- Memória: cada criação e posterior destruição de um componente deixava em memória uma parte dos ficheiros carregados pela sua página (cerca de 0,5 a 1 MB conforme o componente, desde a 3.0). Uma aplicação que abre e fecha frequentemente janelas com componentes via a memória crescer sem regressar, até à paragem de uma aplicação de 32 bits. A memória é agora devolvida na destruição do componente; nada a alterar no seu código.
- Grelha de dados: uma célula de classificação é lida por um leitor de ecrã como o seu número de estrelas em cinco (
4 / 5); abrir e fechar o editor de uma célula numérica sem escrever já não altera um valor que o formato arredonda.
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.