12. Notes de version #
← Migrer de la 3.0 à la 4.0 · Sommaire · Assistant IA →
Une version acquise ne perd jamais ses composants : la 4.0 contient les trente-deux de la 1.0 à la 3.0, et une clé dont la maintenance couvre la date de votre build compile avec la DLL la plus récente — voir Licence.
4.0 — octobre 2026 #
Cinq composants : données, graphiques, documents et son #
- Cartesian chart — un graphique cartésien animé : colonnes, barres, lignes, aires, nuages de points, bulles, cartes de chaleur, chandeliers. Le type se choisit par série : un graphique combiné (colonnes et ligne d'objectif sur deux axes) tient dans un seul composant.
- Data grid — une grille moderne posée sur un DataStore : colonnes typées et cellules riches, tri, filtres, regroupements et sous-totaux, édition en place, très gros volumes, export CSV et Excel. Elle lit ce que le DataWindow dit de chaque colonne (titre, format, liste de codes), et le DataWindow reste le maître de vos données.
- Markdown view — un document Markdown en lecture, aux couleurs du thème : titres, listes, tableaux, cases à cocher, code coloré, images — depuis un texte ou un fichier du poste.
- Scheduler — un calendrier façon Outlook : vues jour, semaine de travail, semaine, mois et agenda, glisser-déposer, ressources côte à côte, catégories de couleur, cartes et info-bulles écrites par gabarits — rempli rendez-vous par rendez-vous ou depuis un DataStore.
- Sound player — un objet non visuel qui joue un fichier du poste, une adresse
httpsou un bip synthétisé, de façon asynchrone (événements) ou synchrone (l'appel rend la main quand le son se termine).
Ce qui change #
- Un changement demandé par votre code (
of_select_*,of_expand,of_open…) lève le même événement qu'un geste de l'utilisateur, commeSelectTabdans PowerBuilder ; les questions posées avant un changement sont facultatives et s'activent par une propriétéib_veto_*. - Deux méthodes partent :
of_set_datadu tableau croisé devientof_from_datastore, etof_transformde XML disparaît avec XSLT, que le moteur du navigateur retire. Quelques noms et comptes s'alignent sur le reste de la bibliothèque. Le détail, et ce qu'il faut modifier : Migrer de la 3.0 à la 4.0. - Les thèmes suivent l'application : l'accent qu'elle pose survit à un changement de thème, et un axe de thème laissé vide suit le sien.
Ailleurs dans la bibliothèque #
- Le clavier de la fenêtre : Entrée presse le bouton par défaut le plus proche du focus, les raccourcis d'un composant répondent depuis toute la fenêtre, une lettre soulignée (
&Enregistrer) aussi, et F10 ouvre la barre de menus. - Tous les menus déroulants cherchent par la frappe et restent fluides avec des milliers d'entrées.
- Texte riche : la balise
[symbol=nom]ajoute dix-huit glyphes monochromes (horloge, lieu, personne, calendrier…) qui suivent la couleur du texte. - Des ajouts dans la plupart des composants livrés — onglets au clavier (Ctrl+Tab, clic du milieu), panneaux détachés au double-clic, chevron de débordement de la barre de menus, liste déroulante dans la barre d'outils, journal ligne à ligne du statictext, taille réelle d'une image, lecture d'une cellule du tableau croisé… La liste complète, composant par composant, est dans Migrer de la 3.0 à la 4.0 et dans l'historique de chaque composant.
- Un assistant IA (Claude, Cursor, VS Code…) peut consulter l'API exacte de votre version et vérifier le code qu'il propose, grâce au serveur MCP de la documentation livré avec la démonstration.
Corrigé #
- Une propriété décimale (
double) se relisait au séparateur du poste : sur un Windows français,1.5revenait faux. - Le clic droit sur un item ne produit plus qu'un seul événement, dans tous les composants.
- Tuiles :
of_get_layoutrendait une disposition vide.
3.0 — septembre 2026 #
Onze composants : données, utilitaires et médias #
- Breadcrumb — le fil d'Ariane : où l'on est, et retour à n'importe quel niveau en un clic. Branches ouvertes à la demande, saisie directe du chemin, fichiers déposés sur un segment.
- Button bar — une rangée de boutons de commande — icône, libellé ou les deux — dans un seul composant ; un clic rend la clé du bouton.
- Crosstab — le tableau croisé dynamique d'un DataStore : lignes, colonnes, valeurs agrégées, filtres, sous-totaux, champs et mesures calculés, export CSV et Excel.
- Crypto — empreintes, HMAC, chiffrement par mot de passe ou par clé, signatures RSA, ECDSA et Ed25519, JWT, mots de passe salés, TOTP à deux facteurs et DPAPI — sans rien installer.
- JSON — construire un document JSON type par type, le lire le long d'un chemin et le modifier sur place, en PowerScript pur.
- JSON tree — un document JSON affiché comme dans un éditeur de code : numéros de ligne, coloration par type, repli de chaque bloc, recherche.
- REST client — un client HTTPS natif et asynchrone : GET, POST, en-têtes, JSON, multipart, cookies, nouvelles tentatives, téléchargement de fichiers — sans le mur CORS d'un navigateur.
- Speech out — la lecture à voix haute avec les voix installées sur le poste : phrase et mot en cours, file d'attente, dictionnaire de prononciation, lecture synchrone.
- Video player — un lecteur vidéo avec sa propre barre au thème : sous-titres, plein écran, chapitres, marqueurs, liste de lecture, capture d'image.
- XML — construire un document XML élément par élément et le lire avec un vrai XPath : espaces de noms, modification, transformation XSLT.
- XML tree — un document XML affiché comme dans un éditeur de code : balises, attributs et texte colorés, repli de chaque élément, recherche.
Ce qui change #
- Toute position donnée à une méthode compte à partir de 1, comme celles que rendent déjà les events de réordonnancement ; une entrée en cascade rend son adresse complète. Le détail, et ce qu'il faut modifier : Migrer de la 2.0 à la 3.0.
- Button reste livré et supporté, mais il est déprécié au profit de Button bar : une barre de boutons tient en un seul composant.
Ailleurs dans la bibliothèque #
of_set_property,of_get_propertyetof_component_name: piloter une propriété par son nom, pour un écran de réglages ou une configuration enregistrée.- La boîte de message propose une liste de choix (
of_add_choice,of_choose) en plus de ses boutons.
Corrigé #
- Une couleur relue (
il_text_color,il_accent…) rendait0, du noir, qu'elle soit posée ou non : elle rend la couleur posée, et-1quand c'est celle du thème. ue_errorde Picture et de Shell explorer n'était jamais levé.- Texte riche : un
[mot]inconnu faisait disparaître la suite du texte ; il s'affiche désormais tel quel. - Barre d'état :
ue_panel_rclickeddonne des coordonnées écran, à passer telles quelles à un menu contextuel.
2.0 — septembre 2026 #
Cinq composants, tous tournés vers la navigation #
- Menu bar — barre de menus d'application : menus, sous-menus, entrées cochables, séparateurs, icônes, raccourcis et mnémoniques
&Fichier, dessinée par la bibliothèque dans le thème de l'application. - Command palette — un raccourci, trois lettres, et n'importe quelle action de l'application est atteinte sans la chercher dans les menus. Recherche sur le libellé, le groupe et les mots-clés, en plusieurs mots.
- Radial menu — les commandes en couronne autour du curseur au clic droit, choisies par leur direction plutôt qu'en parcourant une liste.
- Shell explorer — l'arborescence du vrai shell Windows : Bureau, Ce PC, lecteurs, dossiers, Réseau, avec les icônes du poste. Un seul
of_expandouvre un chemin profond. - Stepbar — le fil d'étapes d'un assistant : les étapes franchies, celle en cours et celles à venir, en horizontal ou en vertical.
Une API remodelée sur les seize de la 1.0 #
Une clé, une adresse ; tout depuis le composant ; un ajout rend un code. Les trois règles, l'avant/après et chaque signature changée sont dans Migrer de la 1.0 à la 2.0. Ce qui l'a motivé : une poignée qui ajoutait ne pouvait pas dire qu'elle avait refusé, et trois arguments pour désigner un item obligeaient chaque composant à inventer sa propre façon de le faire.
Sur tous les composants #
of_count,of_keys_atetof_has, sur le composant et à chaque niveau : ce qu'un composant contient se demande, il n'y a plus à le retenir soi-même.- Toute méthode qui rend un
longdit ce que son retour signifie :0appliqué,-5argument invalide,-2composant non créé — dans la doc embarquée de la démo comme ici. - Les propriétés d'un item se relisent en direct : l'icône d'une entrée de listbar, le texte et l'icône d'une tuile, l'état d'un bouton de barre — un getter dit ce qui est à l'écran, jamais une valeur mémorisée.
ib_visiblesur chaque entrée de menu — barre de menus, menu contextuel, menu radial, menus du ruban : masquer n'est pas griser, l'entrée quitte le menu, raccourci compris, et garde sa clé pour revenir.- La barre d'état construit ses menus entrée par entrée (
of_add_menu_item ("panel/id", …)), avec une poignée d'entrée qui grise, coche et masque — à la place des deux tableaux parallèles deof_set_panel_menu. ue_script_error: une erreur de script dans la page remonte à PowerBuilder avec son message et sa pile, au lieu de se perdre.
Corrigé #
- Un item désactivé ou masqué ne répond plus à rien : ni clic, ni clavier — la listbar sélectionnait encore une entrée grisée sur Entrée.
- Le texte grisé se lit dans tous les thèmes (contraste 3:1 au moins), et le texte survolé aussi en mode sombre — deux boutons désactivés du ruban devenaient invisibles en Office 2007.
- Un chemin Windows lu depuis la page revenait avec ses antislashs doublés (
C:\\Windows) ; une valeur contenant un guillemet était coupée. - Dock container : le panneau épinglé à gauche perdait sa bordure droite au-dessus de 100 % d'échelle d'affichage.
- Ruban : l'icône d'un bouton désactivé n'était pas grisée en mode compact ; un titre de barre de menus s'allumait en même temps que le survolé.
- Éditeur de code : le texte relu après un repli était l'ancien, et déplier écrasait la frappe.
1.0 — août 2026 #
Première version : seize composants — button, code editor, dock container, listbar, message box, PDF viewer, picture, progress, ribbon, statictext, statusbar, tab, tiles box, toaster, toolbar, web browser — une seule DLL à déployer, x86 et x64 sous le même nom, aucune dépendance .NET, ActiveX ni PBNI. Thèmes Office, Fluent et Metro, clair et sombre ; six langues et RTL ; licence entièrement hors ligne ; PowerBuilder 10.2 à 2025.