4 messages in org.openoffice.fr.progRe: [prog] Limiter l'effet d'un Rempl...
FromSent OnAttachments
Romain PelisseJan 30, 2009 10:45 am 
Bernard MarcellyJan 31, 2009 2:40 am 
Romain PelisseFeb 2, 2009 6:27 am 
Bernard MarcellyFeb 2, 2009 11:02 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Limiter l'effet d'un Remplacer (ReplaceDescriptor) à la sélection couranteActions...
From:Romain Pelisse (bela@gmail.com)
Date:Feb 2, 2009 6:27:34 am
List:org.openoffice.fr.prog

La méthode createReplaceDescriptor est seulement exposée par le document. Pas par CurrentSelection qui est un conteneur de sélections, ni par une sélection. Facile à voir avec Xray.

Oui, ... mais non ! :)

Car si tu examines avec xray l'object StarDesktop.CurrentComponent, tu ne verras pas non plus de méthode createReplaceDescriptor... Alors que cette invocation fonctionne à l'exécution et que cette méthode est indiqué par la documentation OpenOffice.org.

Je ne pense pas que la méthode replaceAll puisse être limitée à une zone. Tu devrais t'inspirer de ce qui est expliqué dans le livre Programmation OpenOffice.org 2 à "Limiter le champ de recherche" et "Rechercher pour remplacer" en utilisant le TextRange de la sélection, et les méthodes findNext, compareRegionEnds.

En effet, c'est dans ton livre ;)

Ce qui m'ennuie avec cette méthode, c'est de devoir itérer, moi même à la main, dans le document... Je trouve bizarre que OOo ne fournisse pas une méthode pour appliquer un ReplaceAll à un textRange, et encore plus spécifiquement à un TextRange aussi évident que la sélection de l'utilisateur.

Bon, visiblement, je n'ai pas le choix, je vais devoir parcourir moi même cette zone de texte, avec le nombre d'erreur de programmation que cela peut induire...

(Bon dès que j'arrive à recompiler OpenOffice et que je deviens bon en C++, je patcherais ça :p )

Merci encore pour tes infos !