4D Write Pro facilita a criação de documentos complexos. Os atributos de apresentação e layout podem ser aplicados a diferentes partes dos documentos, quer sejam textos, imagens, ou tabelas. Por falar em tabelas, elas beneficiam de uma nova propriedade para melhor definir o layout! Vamos ver o que 4D v19 R4 tem reservado para si.
HDI Quebra dentro das filas da mesa
Mesas pequenas e grandes
As tabelas podem conter muitas filas, e o espaço que ocupam num documento pode ser significativo.
Quando não há espaço suficiente numa página, já existe um atributo que define se uma tabela pode ser automaticamente dividida em duas partes ou precedida por uma quebra de página para caber na página seguinte.
Até 4D V19R4, quando as tabelas são divididas em duas partes, a separação é sempre feita entre duas filas. Isto é normalmente suficiente porque as filas de uma tabela contêm apenas números ou etiquetas a maior parte do tempo. Por outro lado, quando as células têm texto mais longo (ou mesmo vários parágrafos), pode ser interessante permitir dividi-las em duas (e portanto também dividir as linhas da tabela) para preencher o espaço disponível.
Novos atributos
Aquebra de página wk dentro da fila também permite dividir uma mesa, mas desta vez dentro das filas. Note-se que esta opção depende da anterior. Se uma mesa não pode ser dividida, as suas filas também não.
Este atributo pode ser aplicado a um intervalo de linhas, a um elemento de linha, ou a qualquer alvo. Neste último caso, basta lembrar que, no final, são os atributos das linhas que são realmente afectados de forma transparente.
Aquebra de página wk dentro do parágrafo pode ser aplicada a parágrafos, mas também a qualquer alvo, como o próprio documento, uma secção específica, um intervalo de texto, etc. Em todos os casos, o atributo será de facto atribuído aos parágrafos dentro do alvo. Isto é simplesmente uma característica de “qualidade de vida”.
Nota: A quebra de página de atributo existente no interior que se aplicava tanto a parágrafos como a tabelas é agora obsoleta (mas continuará a funcionar por compatibilidade). É vantajosamente substituído pelos novos atributos mais explícitos acima descritos.
O que irá esta alteração?
Para novos documentos, esta nova opção é activada por defeito. De facto, não irá alterar nada se as linhas da tabela tiverem apenas uma linha de texto. Por outro lado, se as células contiverem um ou mais parágrafos, estas linhas serão divididas automaticamente.
Para documentos criados com uma versão anterior, para garantir a sua disposição idêntica, esta opção será desactivada em todas as filas de todas as tabelas quando os documentos forem abertos.
Exemplos de códigos
Amostra 1: Permitir quebras de página dentro de qualquer fila de uma tabela
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
Amostra2: Permitir quebras de página dentro de qualquer fila de uma tabela, excepto a primeira e última filas
Tem duas maneiras de programar isto de acordo com o seu gosto!
#1 Utilizar intervalos de fila
// 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 Usar elementos de linha
// 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)
Interface
A interface fornecida foi, evidentemente, modificada para ter em conta estes novos atributos no menu de tabelas e linhas.
Conclusão
Novos atributos foram criados para maior clareza, e um foi acrescentado para maior flexibilidade na apresentação. É a sua vez de criar u belos layouts e documentos!
A lista de todos os atributos e constantes pode ser encontrada na documentação.