PBToolboxAI v3 ← Site

xmltree — u_pbt_xmltree #

← Référence des composants · Sommaire du guide

xmltree affiche une valeur XML comme un arbre repliable, coloré : un écran de configuration, une réponse d'API, un débogage d'intégration. Vous posez le texte XML dans is_xml, le composant le montre ; un clic sur un nœud rapporte son chemin (ue_node_clicked), un XML invalide lève ue_error. Il ne modifie rien : c'est un VISUALISEUR.

▶ Le voir en vrai — Application de démonstration, tuile XML tree, avec le code et cette page côte à côte.


En bref #

Userobjectu_pbt_xmltree
EntréeLe texte XML, dans is_xml (une chaîne)
Plier / déplierChaque conteneur au chevron, ou tout d'un coup (of_expand_all, of_collapse_all)
RetourUn clic sur un nœud donne son chemin (ue_node_clicked) ; un XML invalide lève ue_error

Démarrage rapide #

// Show an XML response as a tree
uo_xml.is_xml = inv_rest.of_response_text()

// Fold everything, then let the user open what interests them
uo_xml.of_collapse_all()

// ue_node_clicked : the path of the node clicked ("/order/lines/line[2]/@sku")
// -> an attribute node is .../@name

Propriétés #

PropriétéTypeDéfautDescription
is_xmlstring""Le texte XML à montrer. Un objet, un tableau, une valeur ; lu et affiché comme un arbre. Vide efface l'arbre ; un XML invalide lève ue_error et n'affiche rien
ib_wrapbooleantrueLes lignes longues reviennent à la ligne (true, par défaut) ou restent sur une ligne avec une barre horizontale (false) — un rendu d'éditeur de code
ib_search_enabledbooleantrueCtrl+F dans l'arbre ouvre une zone de recherche — la même recherche que of_search : taper surligne, Entrée suivant, Maj+Entrée précédent, Échap ferme. false laisse le raccourci à une application qui cherche depuis sa propre zone
is_theme_stylestringfluentStyle visuel du composant (constantes THEME_STYLE_*)
is_theme_modestringlightVariante claire ou sombre (constantes THEME_MODE_*)
il_theme_accentlong-1Couleur d'accent de ce composant (-1 = accent du thème)
is_tooltipstring""Info-bulle simple affichée au survol du composant
is_super_tooltip_titlestring""Titre de l'info-bulle enrichie (prend le pas sur is_tooltip)
is_super_tooltip_textstring""Texte de l'info-bulle enrichie (balisage riche accepté)
is_super_tooltip_imagestring""Image de l'info-bulle enrichie

Méthodes #

MéthodeDescription
of_expand_all ( ) → longDéplie tous les conteneurs. Rend 0, -1 si le composant n'est pas créé
of_collapse_all ( ) → longReplie tous les conteneurs imbriqués (le niveau du haut reste visible). Rend 0, -1 si le composant n'est pas créé
of_clear ( ) → longVide l'arbre (comme is_xml = ""). Rend 0, -1 si le composant n'est pas créé
of_expand_to_level ( long al_level ) → longMontre l'arbre jusqu'à al_level : les éléments à cette profondeur ou plus se replient (1 = les enfants directs de la racine, 0 replie la racine)
of_search ( string as_query ) → longSurligne chaque occurrence (sans casse) et saute à la première, ouvrant tout ancêtre replié ; ue_search_result dit combien. Une requête vide efface la recherche. La zone de recherche s'ouvre avec la requête dedans et le focus dessus (la même que Ctrl+F) : Entrée passe à la suivante ; avec ib_search_enabled à false, l'arbre surligne seulement
of_search_next ( ) → longPasse à la correspondance SUIVANTE (revient à la première après la dernière) ; ue_search_result donne la nouvelle position. Rend 0, ou un code négatif
of_search_prev ( ) → longPasse à la correspondance PRÉCÉDENTE (revient à la dernière avant la première) ; ue_search_result donne la nouvelle position. Rend 0, ou un code négatif
of_clear_search ( ) → longEfface la recherche : plus de surlignage ni de correspondance courante (of_match_count rend 0), la zone de recherche se vide et se ferme. Rend 0, ou un code négatif
of_select_path ( string as_path ) → longSélectionne et défile jusqu'à la ligne à as_path SANS lever d'événement (c'est l'appli qui l'a pilotée)
of_selected_path ( ) → stringLe chemin de la ligne sélectionnée, lu EN DIRECT (/r/b/c, /r/a/@id) — ce qu'un bouton Copier copie. Vide si rien n'est sélectionné
of_selected_value ( ) → stringLe texte de la ligne sélectionnée quand c'est une FEUILLE (le texte d'un élément, la valeur d'un attribut), lu EN DIRECT. Vide pour un élément conteneur ou sans sélection
of_match_count ( ) → longRend le nombre de correspondances de la recherche courante, lu EN DIRECT — le 12 d'une barre d'état 3 / 12. 0 sans recherche
of_match_index ( ) → longRend la position (1-basée) de la correspondance courante, lue EN DIRECT — le 3 d'une barre d'état 3 / 12. 0 sans correspondance

Événements #

ÉvénementQuand
ue_node_clicked (string as_path)L'utilisateur a cliqué un nœud : son chemin d'accès (/order/lines/line[2]/@sku), à relire dans vos données
ue_selection_changed (string as_path)La ligne sélectionnée a changé au CLAVIER (flèches, Début/Fin) — un clic souris rapporte ue_node_clicked
ue_search_result (long al_count, long al_index)Une recherche a démarré ou avancé : al_count correspondances en tout, la courante est al_index (1-basé, 0 si aucune) — de quoi afficher « 3 / 12 »
ue_error (string as_message)Le texte de is_xml n'est pas un XML valide : le message dit pourquoi, l'arbre reste vide

Exemple #

Explorer la réponse d'une API #

if inv_rest.of_get("https://api.example.com/orders/4152") = 200 then
	uo_xml.is_xml = inv_rest.of_response_text()
	uo_xml.of_collapse_all()          // the reader opens what interests them
else
	uo_xml.of_clear()
end if

Bonnes pratiques #


Hérité du socle commun #

Ces membres existent sur tous les composants visuels — ils ne sont pas propres à celui-ci. Ils sont détaillés une seule fois, dans les chapitres transverses ; cette table dit seulement où les lire.

MembresRôleDétaillé dans
of_resetRemettre le composant à zéro3.6 Remettre un composant à zéro : of_reset()
of_register_shortcut · of_clear_shortcutsRaccourcis clavier du composant3.5 Les raccourcis clavier
of_is_created · of_is_ready · of_get_last_errorS'il est né, s'il est prêt, ce qui a échoué3.7 Diagnostic
of_save_as_png · of_save_as_jpgExporter le rendu en image3.8 Exporter le rendu en image
of_set_redrawGrouper les modifications en un seul repaint3.10 Bonnes pratiques
of_preload_iconsIcônes affichées sans délaiAffichage instantané : of_icon
of_set_translationTraduire un libellé du composant5.2 Adapter un libellé : of_set_translation
of_focus_webviewDonner le focus au composant6.4 Clavier et focus
of_print · of_print_to_pdfImprimer, ou écrire un PDF6.9 Imprimer
of_set_property · of_get_property · of_component_namePiloter une propriété par son nom3.1 Le moteur de propriétés

← Référence des composants · Sommaire du guide