A partir do 4D 21 R3, é possível criar listas com marcadores e numeradas, estruturadas e elaboradas, com vários níveis no 4D Write Pro utilizando folhas de estilo, e exportá-las para todos os formatos, incluindo docx. Por exemplo, se pretender criar uma lista de vários níveis cuja numeração se ajuste automaticamente quando for removido ou adicionado conteúdo em todos os níveis, ou se pretender ter títulos e subtítulos com estilos e numeração consistentes em todo o seu documento do 4D Write Pro, então esta nova funcionalidade é o que precisa. Nesta publicação do blogue, iremos mostrar-lhe exatamente como criar listas de vários níveis utilizando folhas de estilo de vários níveis.
Mais especificamente, iremos explicar como utilizar ações padrão, bem como comandos, para gerir as folhas de estilo multinível.
HDI_4DWP_MultiLevelStyleSheets
Gerir folhas de estilo multinível através de ações padrão
Se quiser obter o resultado apresentado na animação abaixo, eis como o fazer:
- Passo 1: Tenha uma folha de estilo de parágrafo com um tipo de estilo de lista aplicado a vários parágrafos
- Passo 2: Use a ação padrão « listLevelAppend» para adicionar novos níveis à sua folha de estilo de parágrafo; dessa forma, passa de uma lista de nível único para uma lista multinível
- Passo 3: Utilize as ações padrão « listLevelDec » e « listLevelInc» para aumentar ou diminuir os níveis dos parágrafos selecionados
- Passo 4: Ajuste o formato dos marcadores de numeração utilizando as ações padrão « listConcatStringFormat » e « listNumberFormat»

Gestão de folhas de estilo multinível através de comandos 4D
Antes do 4D 21 R3, o 4D Write Pro já oferecia folhas de estilo que podem incluir todos os estilos de parágrafo (incluindo tipos de lista) e que podem ser aplicadas a parágrafos. Enriquecemos este conceito existente para que possa ser utilizado para criar listas multinível.
A lista multinível na captura de ecrã abaixo tem 3 níveis: um nível raiz e 2 subníveis. Para o conseguir, são necessárias 3 folhas de estilo de parágrafo relacionadas entre si: uma folha de estilo de nível raiz e 2 folhas de estilo de subnível relacionadas com ela. Eis como o fazer em passos concretos:
- Passo 1: Crie a folha de estilo de nível raiz e as duas folhas de estilo de subnível relacionadas a ela usando o comando ` WP New style sheet ` numa única linha de código. Estas três folhas de estilo são criadas com valores padrão: ` wk list type ` = ` wk decimal ` e ` wk margin left ` = 0,75 cm * (o número de níveis anteriores)
- Passo 2: Obtenha os 3 objetos de folha de estilo diferentes utilizando o comando WP Get style sheet
- Passo 3: Atualize o estilo da folha de estilo de nível raiz e de cada uma das folhas de estilo de subnível utilizando o comando WP SET ATTRIBUTES , tal como fez anteriormente com as folhas de estilo de parágrafo normais. Os estilos específicos que precisamos de atualizar no nosso caso são os seguintes: wk list style type, wk color, wk font size, wk font, wk font bold, wk list string format ltr, e wk list format string concat (novo atributo)
- Passo 4: Aplique cada folha de estilo aos parágrafos correspondentes utilizando o comando WP SET ATTRIBUTES , tal como fez anteriormente com as folhas de estilo de parágrafo normais.
- Passo 5 (opcional): Pode eliminar uma folha de estilo específica utilizando o comando WP DELETE STYLE SHEET caso mude de ideias; lembre-se apenas de que, se eliminar a folha de estilo de nível raiz, as folhas de estilo de subnível relacionadas com ela serão também eliminadas.
- Passo 6 (opcional): Pode exportar o seu documento do 4D Write Pro que contém a sua lista multinível utilizando o comando WP EXPORT DOCUMENT para outros formatos: DOCX, SVG, PDF e HTML. Neste caso, a sua lista exportada manterá a mesma hierarquia, estilos e estrutura, sem perder o recuo ou a numeração.

Aqui está todo o código de que necessita para criar a lista multinível utilizando folhas de estilo multinível reunidas:
$spanishNovels:="Spanish Novels\n20th century\nCien años de soledad\nEl túnel\nFicciones\n"
$frenchNovels:="French Novels\n19th century\nLes Misérables\nMadame Bovary\nGerminal"
WP SET TEXT(WParea; $spanishNovels+$frenchNovels; wk append)
//Creating 3 multi-level style sheets
WP New style sheet(WParea; wk type paragraph; "MyList"; 3)
//Getting the multi-level style sheets objects
levelStyle1:=WP Get style sheet(WParea; "MyList"; 1)
levelStyle2:=WP Get style sheet(WParea; "MyList"; 2)
levelStyle3:=WP Get style sheet(WParea; "MyList"; 3)
//Modifying the paragraph styles of the multi-level style sheets
WP SET ATTRIBUTES(levelStyle1; \
{listStyleType: wk upper latin; color: "#1F3A5F"; fontSize: 18; font: "Tahoma"; listFont: "Tahoma"; fontBold: wk true})
WP SET ATTRIBUTES(levelStyle2; \
{listStyleType: wk decimal; listConcatStringFormat: True; color: "#52796F"; fontSize: 16; font: "Tahoma"; listFont: "Tahoma"; fontBold: wk true})
WP SET ATTRIBUTES(levelStyle3; \
{listStringFormatLtr: "(#)"; listConcatStringFormat: False; color: "Black"; fontSize: 12; font: "Times New Roman"; listFont: "Times New Roman"})
//Setting the multi-level style sheets to the appropriate paragraphs
$paragraphs:=WP Get elements(WParea; wk type paragraph)
For ($i; 0; 9)
If (($i=0) ' ($i=5))
WP SET ATTRIBUTES($paragraphs[$i]; wk style sheet; levelStyle1)
Else
If (($i=1) ' ($i=6))
WP SET ATTRIBUTES($paragraphs[$i]; wk style sheet; levelStyle2)
Else
WP SET ATTRIBUTES($paragraphs[$i]; wk style sheet; levelStyle3)
End if
End if
End for
Importação e exportação de listas multinível
As listas multinível não estão disponíveis apenas no 4D Write Pro, mas também são preservadas ao exportar ou importar para ou de outros formatos.
Quando exporta um documento do 4D Write Pro que contém listas multinível, o documento resultante mantém a mesma estrutura de lista e níveis em todos os formatos de exportação suportados, incluindo DOCX, PDF, SVG, página web HTML completa e HTML-MIME. Isto significa que a sua numeração multinível (nível raiz e subníveis) permanece consistente, sem achatar a lista ou perder a indentação e a hierarquia.
Além disso, ao importar um documento DOCX que contenha uma lista multinível, o 4D Write Pro preserva a mesma estrutura multinível no documento 4D Write Pro resultante.
Tanto as listas planas como as de vários níveis são importadas com a sua hierarquia intacta, e pode continuar a editá-las programaticamente ou através de ações padrão.
Conclusão
Com as folhas de estilo multinível no 4D Write Pro, a criação de documentos estruturados e profissionais torna-se mais simples e poderosa do que nunca. Quer esteja a construir esboços complexos, a organizar informações hierárquicas ou a garantir uma numeração consistente em documentos de grande dimensão, esta funcionalidade dá-lhe controlo total sobre a estrutura e a apresentação do seu conteúdo.
Ao combinar ações padrão para edição interativa e comandos 4D para controlo programático, pode facilmente criar, gerir e manter listas multinível que se adaptam automaticamente à medida que o seu documento evolui. Melhor ainda, estas listas mantêm a sua estrutura e formatação ao exportar ou importar documentos, garantindo uma interoperabilidade perfeita com formatos como DOCX, PDF, HTML e muito mais.
Embora o 4D 21 R3 já ofereça capacidades poderosas para gerir listas multinível programaticamente e através de ações padrão, uma interface de utilizador dedicada para lidar com estas funcionalidades de forma mais intuitiva será introduzida no 4D 21 R4, melhorando ainda mais a experiência global.
Para mais detalhes sobre listas no 4D Write Pro, consulte a documentação e, para as suas perguntas e comentários, consulte o fórum da 4D.
De momento, não é possível deixar comentários nesta publicação.