Thibault Vataire écrivait :

> 1/ créer autant de styles de puces que types de numérotation à utiliser.
>    L'astuce ici est de sélectionner le niveau 1-10 dans l'onglet
>    Options pour que tous les niveaux du style aient le même aspect.
> 2/ pour chaque style créé, enregistrer une macro correspondant à
>    l'application de ce style dans un document.
> 3/ créer une barre d'outils ou chaque bouton correspond à l'éxécution d'une 
> de ces macros.
> 
> Vous trouverez un exemple ci-joint.

Merci, c'était une bonne piste, pour laquelle il aurait encore fallu
quelques réglages, histoire que la numérotation redémarre 1) lors de
la réutilisation d'un style, sans doute rien d'insurmontable.

Cependant j'explorais aussi d'autres pistes et je suis finalement
arrivé à atteindre ce que je voulais avec un code qui ressemble à
ça :

   cursor = doc.getCurrentController().getViewCursor()
   textcursor = doc.Text.createTextCursorByRange(cursor.getStart())
   level = textcursor.getPropertyValue('NumberingLevel')
   numberingrules = textcursor.getPropertyValue('NumberingRules')
   if numberingrules is None:
       numberingrules = doc.createInstance('com.sun.star.text.NumberingRules')
   props = numberingrules.getByIndex(level)
   for prop in props:
       if prop.Name == 'NumberingType':
           prop.Value = 1   # 1 == lower letters
           break
   uno.invoke(numberingrules, 'replaceByIndex',
                   (level, uno.Any("[]com.sun.star.beans.PropertyValue", 
props)) )
   textcursor.setPropertyValue('NumberingRules', numberingrules)



        Frédéric

---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org

Répondre à