TextView
Funciones
TextView* | textview_create (void) |
void | textview_OnFilter (...) |
void | textview_OnFocus (...) |
void | textview_size (...) |
void | textview_clear (...) |
uint32_t | textview_printf (...) |
void | textview_writef (...) |
void | textview_rtf (...) |
void | textview_units (...) |
void | textview_family (...) |
void | textview_fsize (...) |
void | textview_fstyle (...) |
void | textview_color (...) |
void | textview_bgcolor (...) |
void | textview_pgcolor (...) |
void | textview_halign (...) |
void | textview_lspacing (...) |
void | textview_bfspace (...) |
void | textview_afspace (...) |
void | textview_scroll_visible (...) |
void | textview_move_caret (...) |
void | textview_editable (...) |
const char_t* | textview_get_text (...) |
void | textview_copy (...) |
void | textview_cut (...) |
void | textview_paste (...) |
Los TextView son vistas diseñadas para trabajar con bloques de texto enriquecido, donde pueden combinarse tipografías, tamaños y colores (Figura 1). Podemos considerarlas como la base de un editor de texto. En ¡Hola TextView! tienes un ejemplo de uso.
- Utiliza textview_create para crear una vista de texto.
- Utiliza textview_writef para añadir texto a la vista.
- Utiliza textview_printf para añadir texto con el formato de
printf
. - Utiliza textview_rtf para añadir contenido en formato RTF de Microsoft.
- Utiliza textview_clear para borrar todo el texto.
1. Formato de carácter
Una de las ventajas del texto enriquecido con respecto al texto plano, es la posibilidad de combinar diferentes formatos de carácter dentro del mismo párrafo (Figura 2). Los cambios se aplicarán al nuevo texto que se añada al control.
Utiliza textview_family para cambiar la tipografía.
Utiliza textview_fsize para cambiar el tamaño del carácter.
Utiliza textview_fstyle para cambiar el estilo.
Utiliza textview_color para cambiar el color del texto.
Utiliza textview_bgcolor para cambiar el color de fondo del texto.
2. Formato de párrafo
Se pueden establecer también atributos por párrafo (Figura 3). El carácter nueva línea '\n'
se considera cierre o final del párrafo.
Utiliza textview_halign para establecer a alineación del párrafo.
Utiliza textview_lspacing para establecer la separación entre líneas (interlineado).
Utiliza textview_bfspace para indicar el espacio vertical antes del párrafo.
Utiliza textview_afspace para indicar el espacio vertical después del párrafo.
3. Formato del documento
Por último disponemos de varios atributos que afectan a la totalidad del documento o del control.
Utiliza textview_units para establecer la unidades del texto.
Utiliza textview_pgcolor para establecer el color del fondo del control (página).
textview_create ()
Crea una vista de texto.
TextView* textview_create(void);
Retorna
La vista de texto.
textview_OnFilter ()
Establece un manejador para filtrar el texto mientras se edita.
void textview_OnFilter(TextView *view, Listener *listener);
view | La vista. |
listener | Función callback que se llamará tras cada pulsación de tecla. En EvTextFilter de event_result se devolverá el texto filtrado. |
Observaciones
Ver Filtrar textos y Eventos GUI.
textview_OnFocus ()
Establece un manejador para el foco del teclado.
void textview_OnFocus(TextView *view, Listener *listener);
view | La vista. |
listener | Función callback que se llamará cuando se reciba o se pierda el foco del teclado. |
Observaciones
Ver Eventos GUI.
textview_size ()
Establece el tamaño por defecto de la vista.
void textview_size(TextView *view, const S2Df size);
view | La vista. |
size | El tamaño. |
Observaciones
Corresponde al Dimensionado natural del control. Por defecto 245x144.
textview_clear ()
Borra todo el contenido de la vista.
void textview_clear(TextView *view);
view | La vista. |
textview_printf ()
Escribe texto en la vista, utilizando el formato del printf
.
uint32_t textview_printf(TextView *view, const char_t *format, ...);
1 |
textview_printf(view, Code: %-10s Price %5.2f\n", code, price);
|
view | La vista. |
format | Cadena con el formato tipo-printf con un número variable de parámetros. |
... | Argumentos o variables del printf. |
Retorna
El número de bytes escritos.
textview_writef ()
Escribe una cadena C UTF8 en la vista.
void textview_writef(TextView *view, const char_t *str);
view | La vista. |
str | Cadena C UTF8 terminada en carácter nulo |
textview_rtf ()
Inserta texto en el formato RTF de Microsoft.
void textview_rtf(TextView *view, Stream *rtf_in);
view | La vista. |
rtf_in | Stream de lectura con el contenido RTF. |
textview_units ()
Establece las unidades del texto.
void textview_units(TextView *view, const uint32_t units);
view | La vista. |
units |
Observaciones
ekFPOINTS es el valor por defecto y el utilizado normalmente por los procesadores de texto. Ver Tamaño en puntos.
textview_family ()
Establece la familia tipográfica del texto ("Arial", "Times New Roman", "Helvetica", etc).
void textview_family(TextView *view, const char_t *family);
view | La vista. |
family | La familia tipográfica. |
Observaciones
No todas las familias estarán presentes en todas las plataformas. Utiliza font_exists_family o font_installed_families para comprobarlo.
textview_fsize ()
Establece el tamaño del texto.
void textview_fsize(TextView *view, const real32_t size);
view | La vista. |
size | El tamaño. |
Observaciones
El valor está condicionado a las unidades establecidas en textview_units.
textview_fstyle ()
Establece el estilo del texto.
void textview_fstyle(TextView *view, const uint32_t fstyle);
view | La vista. |
fstyle | Combinación de ekFBOLD, ekFITALIC, ekFSTRIKEOUT, ekFUNDERLINE ekFSUBSCRIPT, ekFSUPSCRIPT. Para anular cualquier estilo previo utiliza ekFNORMAL. |
textview_color ()
Establece el color del texto.
void textview_color(TextView *view, const color_t color);
view | La vista. |
color | El color. Utiliza kCOLOR_DEFAULT para restablecer el color por defecto. |
textview_bgcolor ()
Establece el color de fondo del texto.
void textview_bgcolor(TextView *view, const color_t color);
view | La vista. |
color | El color. Utiliza kCOLOR_DEFAULT para restablecer el color por defecto. |
textview_pgcolor ()
Establece el color de fondo del control.
void textview_pgcolor(TextView *view, const color_t color);
view | La vista. |
color | El color. Utiliza kCOLOR_DEFAULT para restablecer el color por defecto. |
textview_halign ()
Establece la alineación del texto en un párrafo.
void textview_halign(TextView *view, const align_t align);
view | La vista. |
align | La alineación. Por defecto ekLEFT. |
textview_lspacing ()
Establece el espaciado inter-lineal del párrafo.
void textview_lspacing(TextView *view, const real32_t scale);
view | La vista. |
scale | Factor de escala en la altura de la fuente. |
textview_bfspace ()
Establece un espacio vertical antes del párrafo.
void textview_bfspace(TextView *view, const real32_t space);
view | La vista. |
space | El espacio en las unidades preestablecidas. |
textview_afspace ()
Establece un espacio vertical después del párrafo.
void textview_afspace(TextView *view, const real32_t space);
view | La vista. |
space | El espacio en las unidades preestablecidas. |
textview_scroll_visible ()
Muestra u oculta las barras de scroll.
void textview_scroll_visible(TextView *view, const bool_t horizontal, const bool_t vertical);
view | La vista. |
horizontal | Barra horizontal. |
vertical | Barra vertical. |
textview_move_caret ()
Posiciona el cursor en el carácter indicado.
void textview_move_caret(TextView *view, const int64_t pos);
view | La vista. |
pos | Posición. |
textview_editable ()
Establece si el texto del control es o no editable.
void textview_editable(TextView *view, const bool_t is_editable);
view | La vista. |
is_editable |
|
textview_get_text ()
Obtiene el texto del control.
const char_t* textview_get_text(const TextView *view);
view | La vista. |
Retorna
Cadena C UTF8 terminada en carácter nulo '\0'
.
textview_copy ()
Copia al portapapeles el texto seleccionado.
void textview_copy(const TextView *view);
view | La vista. |
Observaciones
Ver Operaciones con el portapapeles.
textview_cut ()
Corta el texto seleccionado, copiándolo al portapapeles.
void textview_cut(TextView *view);
view | La vista. |
Observaciones
Ver Operaciones con el portapapeles.
textview_paste ()
Pega el texto del portapapeles en la posición del caret.
void textview_paste(TextView *view);
view | La vista. |
Observaciones
Ver Operaciones con el portapapeles.