6.15.1 Oggetti Textbox

Potete instanziare un oggetto Textbox nel modo seguente:

class Textbox( win)
Restituisce un oggetto widget textbox (NdT: casella di testo). L'argomento win dovrebbe essere un oggetto finestra curses WindowObject in cui deve essere contenuto il textbox. Il cursore di modifica del textbox inizialmente si trova nell'angolo in alto a sinistra della finestra contenitore, con coordinate (0, 0). L'opzione stripspaces dell'istanza è inizialmente attiva.

Gli oggetti Textbox hanno i seguenti metodi:

edit( [validator])
Questo è il punto di ingresso che userete normalmente. Accetta digitazioni finchè non viene immessa una digitazione di terminazione. Se viene passato validator, dovrà essere una funzione. Verrà chiamata per ogni digitazione immessa, con quest'ultima come parametro; come risultato viene dato l'invio di un comando. Questo metodo restituisce i contenuti della finestra come una stringa; la presenza di caratteri vuoti dipende dal membro stripspaces.

do_command( ch)
Elabora una singola digitazione. Ecco le digitazione supportate:

Digitazione  Azione 
Control-A Vai al lato sinistro della finestra.
Control-B Cursore a sinistra, riavvolgendo la prossima riga se necessario.
Control-D Cancella il carattere sotto il cursore.
Control-E Vai al lato destro (stripspaces off) o alla fine della riga (stripspaces on).
Control-F Cursore a destra, riavvolgendo la prossima linea dove necessario.
Control-G Termina, restituendo il contenuto della finestra.
Control-H Cancella il carattere precedente.
Control-J Termina nel caso la finestra possieda una sola riga, altrimenti inserisce un fine riga.
Control-K Se la riga è vuota, cancellala, altrimenti pulisci tutto fino alla fine della riga.
Control-L Aggiorna lo schermo.
Control-N Cursore giù; spostati in basso di una riga.
Control-O Inserisci una riga vuota sotto la posizione del cursore.
Control-P Cursore sù; muoviti in alto di una riga.

Le operazioni di movimento non hanno effetto se il cursore si trova su un bordo, dove i movimenti non sono possibili. I seguenti sinonimi vengono supportati dove possibile:

Costante  Digitazione 
KEY_LEFT Control-B
KEY_RIGHT Control-F
KEY_UP Control-P
KEY_DOWN Control-N
KEY_BACKSPACE Control-h

Tutte le altre digitazioni vengono trattate come comandi d'inserimento del carattere fornito e poi si spostano a destra (con l'intera riga).

gather( )
Questo metodo restituisce i contenuti della finestra come una stringa; la presenza di caratteri vuoti dipende dal membro stripspaces.

stripspaces
Questo membro dato è un'opzione che controlla l'interpretazione dei caratteri vuoti nella finestra. Quando è attiva, i caratteri finali vuoti di ogni riga vengono ignorati; ogni movimento del cursore che portrebbe lo stesso cursore a posizionarsi su uno di questi caratteri vuoti, lo porta invece alla fine della riga, ed essi non vengono riportati quando il contenuto della finestra viene raccolto.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.