PBToolboxAI v3 ← Site

xmltree — u_pbt_xmltree #

← Riferimento dei componenti · Sommario della guida

xmltree mostra un valore XML come un albero comprimibile, colorato: una schermata di configurazione, una risposta API, un debug di integrazione. Imposti il testo XML in is_xml, il componente lo mostra; un clic su un nodo riporta il suo percorso (ue_node_clicked), un XML non valido solleva ue_error. Non modifica nulla: è un VISUALIZZATORE.

▶ Vederlo dal vivo — Applicazione dimostrativa, tessera XML tree, con il codice e questa pagina fianco a fianco.


In breve #

Userobjectu_pbt_xmltree
IngressoIl testo XML, in is_xml (una stringa)
Piega / dispiegaOgni contenitore con il suo chevron, o tutto in una volta (of_expand_all, of_collapse_all)
RitornoUn clic su un nodo dà il suo percorso (ue_node_clicked); un XML non valido solleva ue_error

Avvio rapido #

// 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

Proprietà #

ProprietàTipoPredefinitoDescrizione
is_xmlstring""Il testo XML da mostrare. Un oggetto, un array, un valore; letto e mostrato come albero. Vuoto cancella l'albero; un XML non valido solleva ue_error e non mostra nulla
ib_wrapbooleantrueLe righe lunghe vanno a capo (true, predefinito) o restano su una riga con barra orizzontale (false) — un aspetto da editor di codice
ib_search_enabledbooleantrueCtrl+F nell'albero apre una casella di ricerca — la stessa ricerca di of_search: digitare evidenzia, Invio successivo, Maiusc+Invio precedente, Esc chiude. false lascia la scorciatoia a un'applicazione che cerca dalla propria casella
is_theme_stylestringfluentStile visivo del componente (costanti THEME_STYLE_*)
is_theme_modestringlightVariante chiara o scura (costanti THEME_MODE_*)
il_theme_accentlong-1Colore d'accento di questo componente (-1 = accento del tema)
is_tooltipstring""Tooltip semplice mostrato al passaggio del mouse sul componente
is_super_tooltip_titlestring""Titolo del tooltip avanzato (prevale su is_tooltip)
is_super_tooltip_textstring""Testo del tooltip avanzato (markup avanzato accettato)
is_super_tooltip_imagestring""Immagine del tooltip avanzato

Metodi #

MetodoDescrizione
of_expand_all ( ) → longDispiega ogni contenitore. Rende 0, -1 se il componente non è creato
of_collapse_all ( ) → longPiega ogni contenitore annidato (il livello superiore resta visibile). Rende 0, -1 se il componente non è creato
of_clear ( ) → longSvuota l'albero (come is_xml = ""). Rende 0, -1 se il componente non è creato
of_expand_to_level ( long al_level ) → longMostra l'albero fino a al_level: gli elementi a quella profondità o più si chiudono (1 = i figli diretti della radice, 0 chiude la radice)
of_search ( string as_query ) → longEvidenzia ogni occorrenza (senza distinzione di maiuscole) e salta alla prima, aprendo ogni antenato chiuso; ue_search_result dice quante. Una richiesta vuota annulla la ricerca. La casella di ricerca si apre con la richiesta dentro e il focus sopra (la stessa di Ctrl+F): Invio passa alla successiva; con ib_search_enabled a false l'albero evidenzia soltanto
of_search_next ( ) → longPassa alla corrispondenza SUCCESSIVA (torna alla prima dopo l'ultima); ue_search_result riporta la nuova posizione
of_search_prev ( ) → longPassa alla corrispondenza PRECEDENTE (torna all'ultima prima della prima); ue_search_result riporta la nuova posizione
of_clear_search ( ) → longAnnulla la ricerca: niente più evidenziazioni né corrispondenza corrente (of_match_count rende 0), la casella di ricerca si svuota e si chiude
of_select_path ( string as_path ) → longSeleziona e scorre fino alla riga a as_path SENZA sollevare un evento (l'app l'ha pilotata)
of_selected_path ( ) → stringIl percorso della riga selezionata, letto DAL VIVO (/r/b/c, /r/a/@id) — ciò che un pulsante Copia copia. Vuoto se nulla è selezionato
of_selected_value ( ) → stringIl testo della riga selezionata quando è una FOGLIA (il testo di un elemento, il valore di un attributo), letto DAL VIVO. Vuoto per un elemento contenitore o senza selezione
of_match_count ( ) → longRende quante corrispondenze ha trovato la ricerca corrente, letto DAL VIVO — il 12 di una barra di stato 3 / 12. 0 senza ricerca
of_match_index ( ) → longRende la posizione (1-based) della corrispondenza corrente, letta DAL VIVO — il 3 di una barra di stato 3 / 12. 0 senza corrispondenza

Eventi #

EventoQuando
ue_node_clicked (string as_path)L'utente ha cliccato un nodo: il suo percorso d'accesso (/order/lines/line[2]/@sku), da rileggere nei tuoi dati
ue_selection_changed (string as_path)La riga selezionata è cambiata da TASTIERA (frecce, Inizio/Fine) — un clic del mouse riporta ue_node_clicked
ue_search_result (long al_count, long al_index)Una ricerca è partita o si è spostata: al_count corrispondenze in tutto, la corrente è al_index (1-based, 0 se nessuna) — per un « 3 / 12 »
ue_error (string as_message)Il testo in is_xml non è un XML valido: il messaggio dice perché, l'albero resta vuoto

Esempio #

Esplorare una risposta 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

Buone pratiche #


Ereditato dalla base comune #

Questi membri esistono su tutti i componenti visivi — non sono propri di questo. Sono descritti una sola volta, nei capitoli trasversali; questa tabella dice solo dove leggerli.

MembriRuoloDescritto in
of_resetRiportare il componente a zero3.6 Riportare un componente a zero: of_reset()
of_register_shortcut · of_clear_shortcutsScorciatoie da tastiera del componente3.5 Le scorciatoie da tastiera
of_is_created · of_is_ready · of_get_last_errorSe è nato, se è pronto, cosa è fallito3.7 Diagnostica
of_save_as_png · of_save_as_jpgEsportare il rendering in immagine3.8 Esportare il rendering come immagine
of_set_redrawRaggruppare le modifiche in un solo ridisegno3.10 Buone pratiche
of_preload_iconsIcone mostrate senza ritardoVisualizzazione istantanea: of_icon
of_set_translationTradurre una dicitura del componente5.2 Adattare un'etichetta: of_set_translation
of_focus_webviewDare il focus al componente6.4 Tastiera e focus
of_print · of_print_to_pdfStampare, o scrivere un PDF6.9 Stampare
of_set_property · of_get_property · of_component_namePilotare una proprietà per nome3.1 Il motore delle proprietà

← Riferimento dei componenti · Sommario della guida