12.1.3 L'interfaccia dello scrittore

Le interfacce per creare gli scrittori dipendono dalla specifica classe di scrittore che viene istanziata. Le interfacce descritte di seguito sono quelle che tutti gli scrittori devono supportare una volta inizializzati. Notare che mentre molte applicazioni possono usare la classe AbstractFormatter come formattatore, lo scrittore deve tipicamente essere fornito dall'applicazione.

flush( )
Svuota ogni output o evento di controllo dei dispositivi bufferizzati.

new_alignment( align)
Imposta lo stile di allineamento. Il valore di align può essere un oggetto, ma per convenzione è una stringa o None, dove None indica che deve essere utilizzato l'allineamento ``preferito'' dello scrittore. I valori convenzionali degli allineamenti sono 'left', 'center', 'right' e 'justify'.

new_font( font)
Imposta lo stile del font. Il valore di font sarà None, ad indicare che deve essere utilizzato il valore predefinito per il font, o una tupla nella forma (size, italic, bold, teletype). size sarà una stringa ad indicare la dimensione del font che dovrà essere utilizzato; le stringhe specifiche e la loro interpretazione deve essere definita dall'applicazione. I valori italic, bold, e teletype sono valori booleani, a specificare quale di questi attributi del font deve essere utilizzato.

new_margin( margin, level)
Imposta il livello del margine all'intero level e il tag logico a margin. L'interpretazione del tag logico è lasciata alla discrezione dello scrittore; l'unica restrizione sul valore del tag logico è che non può essere un valore falso per valori diversi da zero di level.

new_spacing( spacing)
Imposta lo stile di spaziatura a spacing.

new_styles( styles)
Imposta gli stili aggiuntivi. Il valore degli stili styles è una tupla di valori arbitrari; il valore AS_IS deve essere ignorato. La tupla degli stili può essere interpolata sia come un insieme o come uno stack, in funzione dei requisiti dell'applicazione e dell'implementazione dello scrittore.

send_line_break( )
Interrompe la linea corrente.

send_paragraph( blankline)
Produce una separazione di paragrafo di almeno una riga vuota, blankline, o l'equivalente. Il valore di blankline è un intero. Notare che l'implementazione riceverà una chiamata a send_line_break() prima di questa chiamata se un'interruzione di linea è necessaria; questo metodo non deve includere la fine dell'ultima linea del paragrafo. È solo responsabile della spaziatura verticale tra i paragrafi.

send_hor_rule( *args, **kw)
Mostra un separatore orizzontale (horizontal rule) sul dispositivo di output. Gli argomenti di questo metodo sono interamente specifici dell'applicazione e dello scrittore e devono essere interpretati con cura. L'implementazione del metodo può presupporre che un'interruzione di linea sia già stata pubblicata da send_line_break().

send_flowing_data( data)
Manda in output i dati di tipo carattere, che possono essere divisi in base alla parola e rimandati come flusso come necessario. All'interno di qualsiasi sequenza di chiamate di questo metodo, lo scrittore può assumere che caratteri di spaziatura multipli siano stati collassati in un solo carattere.

send_literal_data( data)
Manda in output i dati di tipo carattere che sono gia stati formattati per essere mostrati. Generalmente, questo deve essere interpretato per indicare che le interruzioni di linea indicate dai caratteri di fine riga debbano essere preservati e nessuna nuova interruzione debba essere introdotta. I dati possono contenere fine riga o caratteri di tabulazione, al contrario dei dati forniti all'interfaccia send_formatted_data().

send_label_data( data)
Imposta i dati data a sinistra del margine sinistro corrente, se possibile. Il valore di data non è ristretto; il trattamento dei valori che non sono stringhe è interamente dipendente dall'applicazione e dallo scrittore. Questo metodo verrà chiamato solamente all'inizio di una riga.

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