4D Write Pro facilita la creación de documentos complejos. Los atributos de visualización y maquetación pueden aplicarse a diferentes partes de los documentos, ya sean texto, imágenes o tablas. Hablando de tablas, ¡se benefician de una nueva propiedad para definir mejor el diseño! Veamos lo que 4D v19 R4 tiene reservado para usted.
HDI Breaks dentro de las filas de la tabla
Tablas pequeñas y grandes
Las tablas pueden contener muchas filas, y el espacio que ocupan en un documento puede ser importante.
Cuando no queda suficiente espacio en una página, ya existe un atributo que define si una tabla puede dividirse automáticamente en dos partes o ser precedida por un salto de página para que quepa en la página siguiente.
Hasta4D V19R4, cuando las tablas se dividen en dos partes, la separación se hace siempre entre dos filas. Esto suele ser suficiente porque las filas de una tabla sólo contienen números o etiquetas la mayoría de las veces. En cambio, cuando las celdas tienen un texto más largo (o incluso varios párrafos), puede ser interesante permitir dividirlas en dos (y por tanto dividir también las líneas de la tabla) para llenar el espacio disponible.
Nuevos atributos
wkpage break inside row también permite dividir una tabla, pero esta vez dentro de las filas. Tenga en cuenta que esta opción depende de la anterior. Si una tabla no se puede dividir, tampoco sus filas.
Este atributo puede aplicarse a un rango de filas, a un elemento de fila o a cualquier objetivo. En este último caso, sólo hay que recordar que, al final, son los atributos de las filas los que realmente se ven afectados de forma transparente.
wk page break inside paragraph puede aplicarse a párrafos, pero también a cualquier objetivo como el propio documento, una sección concreta, un rango de texto, etc. En todos los casos, el atributo se asignará realmente a los párrafos dentro del objetivo. Esto es simplemente una característica de «calidad de vida».
Nota: El atributo existente wk page break inside que se aplicaba tanto a los párrafos como a las tablas es ahora obsoleto (pero seguirá funcionando por compatibilidad). Se sustituye ventajosamente por los nuevos atributos más explícitos descritos anteriormente.
¿Qué cambiará esto?
Para los nuevos documentos, esta nueva opción está activada por defecto. De hecho, no cambiará nada si las filas de la tabla sólo tienen una línea de texto. En cambio, si las celdas contienen uno o varios párrafos, estas filas se dividirán automáticamente.
Para los documentos creados con una versión anterior, a fin de garantizar su idéntica disposición, esta opción se desactivará en todas las filas de todas las tablas cuando se abran los documentos.
Ejemplos de código
Ejemplo 1: Permitir saltos de página dentro de cualquier fila de una tabla
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
Ejemplo 2: Permitir saltos de página dentro de cualquier fila de una tabla excepto la primera y la última fila
¡Tiene dos maneras de programar esto según su gusto!
#1 Usar rangos de filas
// all rows can be split
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
// except first
WP SET ATTRIBUTES (
WP Table get rows($table; 1; 1); wk page break inside row; wk avoid)
// and last
WP SET ATTRIBUTES (
WP Table get rows($table; $table.rowCount; 1); wk page break inside row; wk avoid)
#2 Utilizar elementos de fila
// all rows can be split
)
WP SET ATTRIBUTES($table; wk page break inside row; wk auto
// get row elements
$colRows:=WP Get elements($table; wk type table row)
// except first
WP SET ATTRIBUTES (
$colRows[0]; wk page break inside row; wk avoid)
// and last
WP SET ATTRIBUTES (
$colRows[$colRows.length-1]; wk page break inside row; wk avoid)
Interfaz
Por supuesto, la interfaz proporcionada ha sido modificada para tener en cuenta estos nuevos atributos en el menú de tablas y filas.
Conclusión
Se han creado nuevos atributos para una mayor claridad y se ha añadido uno para una mayor flexibilidad en la presentación. ¡Es tu turno para crear u hermoso diseño y documentos!
La lista de todos los atributos y constantes se puede encontrar en la documentación.