Didier Dorange-Pattoret a écrit :
Bonjour Christophe,

J'ai fait le même constat.

Pour ce qui est de Dmaths, nous utilisons le dispatcher pour insérer une formule et cela fonctionne bien.
Bonjour Didier et merci de tes informations.
J'ai utilisé à mon tour le dispatcher. Cela fonctionne bien quand je sélectionne la formule que je souhaite avant de lancer la macro.
En fait, le module math de OOo2 semble bien bugué. Dès que l'on change le texte de la formule ou bien la taille des caractères, l'affichage ne se rafraichit pas, contrairement à OOo1.x. Même l'instruction setmodified(TRUE) n'y change rien alors qu'elle fonctionnait bien sur les versions 1.

Pour s'en convaincre, il suffit d'exécuter ce code sur une version 1 puis sur une version 2. Le mauvais comportement de la version 2 saute aux yeux. (Avant de lancer la macro la sélection doit contenir une formule ou bien du texte, faites le test avec par exemple "toto")

Sub Main
     oDesktop = createUnoService("com.sun.star.frame.Desktop")
    document   = ThisComponent.CurrentController.Frame
    dim Array(0) as new com.sun.star.beans.PropertyValue
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    dispatcher.executeDispatch(document, ".uno:InsertObjectStarMath", "", 0, Array())
    obj=ThisComponent.getCurrentSelection()
    'changement du texte de la formule
    obj.EmbeddedObject.formula="{1}over{3}"
    'changement de la taille
    obj.EmbeddedObject.BaseFontHeight=25
    'rafraichissement
    obj.EmbeddedObject.setmodified(TRUE)
    dispatcher.executeDispatch(document, ".uno:Escape", "", 0, Array())
    dispatcher.executeDispatch(document, ".uno:ResetAttributes", "", 0, Array())
End Sub


S'il faut ouvrir un dossier de bug, c'est désespérant. Non seulement ils n'ont pas réglé le problème de l'alignement vertical des équations (l'issue 972 est ouvert depuis 2001) mais en plus ils ajoutent des bugs au fur et à mesure des versions...

Quel dommage que le module math soit si peu considéré dans la suite OOo (mes messages d'aide sur ce module ne reçoivent en général aucune réponse)
Du coup, je n'ai pas de solution qui me satisfasse et je ne veux plus passer du temps à chercher une réponse qui n'existe paut-être pas.
Je jette l'éponge et je vais me coucher.

Merci encore Didier.
C. Devalland,
auteur de CmathOOo, disponible à http://cdeval.free.fr
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à