OK
AJAX error!

Les forumsGrammalecteFormateur de texte : appliquer à la sélection active seulement

Formateur de texte : appliquer à la sélection active seulement

Bonjour.

Je m'adresse ici aux pros de la programmation. J'aimerais savoir s'il serait possible d'ajouter une option dans le Formateur de Texte de Grammalecte, une option à cocher permettant de ne traiter que la sélection courante au lieu de traiter tout le document. Ou au contraire, serait-il plus facile d'offrir la possibilité de définir une zone à protéger ?

Je me suis trouvé confronté à ce problème sur un document technique bourré d'équations créées par Insertion->Objet->Formule. Dans les paragraphes où je décris le contenu des équations, les symboles mathématiques (genre x', y'', a+, b-, etc...) sont écrits comme du simple texte parce que j'avais la flemme de les incorporer dans des objets "Formule" avec une formule par symbole. Le formateur de texte ne modifie pas les formules, ce qui est parfait, mais il modifie les symboles écrits en mode "texte", et le résultat n'est pas toujours acceptable. C'est là que j'aimerais avoir la possibilité de sélectionner la zone de texte où le formateur de texte doit travailler, ou au contraire avoir la possibilité de définir une zone à protéger.

A+
le 27 janvier 2014 à 16:23
Bonjour,

Je pensais que ce n’était pas possible, mais en regardant la boîte de dialogue “Chercher/remplacer”, je constate que cette option existe. Elle doit donc probablement être accessible via l’API aussi. Reste à la trouver. :)

Avec l’enregistreur de macro, j’ai fait un test et ça donne :

rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(18) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 0
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 71680
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = "’"
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = "'"
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 3
args1(18).Name = "Quiet"
args1(18).Value = true

dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())


Quelques questions sur le forum des spécialistes nous éclaireront peut-être.
le 27 janvier 2014 à 18:06
Bonjour.

C'est vrai que j'aurais pu trouver un titre plus explicite. Merci pour cette réponse, mais comme je le faisais remarquer sur le forum Open Office, je ne connais rien au langage Python.

Quelques questions sur le forum des spécialistes nous éclaireront peut-être.



Ah bon ? C'est pas ici ? :D

Mais c'est effectivement en voyant cette option dans la boite de dialogue "Chercher et remplacer" que j'ai pensé qu'il serait utile de l'intégrer au formateur de texte. S'il est possible d'intégrer cette fonctionnalité dans une future version, que ceux qui sont intéressés se manifestent.

En tout cas, merci pour cette excellente extension et ce très utile formateur de texte.

A+
le 27 janvier 2014 à 18:36
Seuls les plus grands maîtres connaissent les profondeurs abyssales de l’API de LO/OO et je ne suis pas de ceux-là.

Investigation faite, je crois avoir trouvé comment procéder. En fait, il faut créer un replaceDescriptor à partir de la sélection et non à partir du document. Subtil. Je tâcherai de faire ça quand j’aurai le temps.
le 27 janvier 2014 à 18:54
Bonjour

Quand j'avais formulé ma proposition sur les titres de civilités abrégés (www.dicollecte.org… ), je signalais que l'on pouvait mettre en place les insécables en faisant appel également à la "sélection active".

Quand vous aurez le temps, bien sûr.
le 28 janvier 2014 à 03:59
En fait, ma première idée n’est pas possible. Je l’avais vue sur Calc et je pensais qu’on pourrait faire de même dans Writer, mais ça ne semble pas possible.
Pour mémoire : forum.openoffice.org…
le 29 janvier 2014 à 18:53

Notification par e-mail    0