10 messages in org.openoffice.fr.prog[prog] boite de dialogue qui affecte ...
FromSent OnAttachments
Christophe DevallandSep 26, 2005 1:17 pm 
Bernard MarcellySep 27, 2005 1:38 am 
Christophe DevallandSep 27, 2005 2:15 am 
Christophe DevallandSep 27, 2005 2:24 am 
Bernard MarcellySep 27, 2005 3:51 am 
pacSep 27, 2005 5:59 am 
Christophe DevallandSep 27, 2005 6:38 am 
pacSep 29, 2005 1:56 am 
pacSep 30, 2005 1:33 am 
Bernard MarcellySep 30, 2005 4:50 am 
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:[prog] boite de dialogue qui affecte la selectionActions...
From:Christophe Devalland (chri@ac-rouen.fr)
Date:Sep 26, 2005 1:17:25 pm
List:org.openoffice.fr.prog

Bonjour, dans l'un de mes programmes, j'ai repris l'addon TaillesEquations de Laurent Godard (merci à lui). J'ai ajouté une boite de dialogue qui s'ouvre avec 2 champs : le nom de la police et la taille du texte courant, ceux-ci étant modifiables. A présent, un des trois modes de fonctionnement ne marche plus : si j'appelle le programme avec comme objet sélectionné une formule (c'est le cas n°1 du programme de Laurent), alors, le test : if LaFormule.getImplementationName = "SwXTextEmbeddedObject" est faux alors qu'il était vrai si je n'ouvrais pas la boite de dialoque. (je suis en version 1.1.4, voir code ci-dessous)

j'ai alors placé l'instruction LaFormule=ThisComponent.getCurrentSelection() en 1ère ligne, avant l'affichage de la boite de dialogue : c'est pire car il semble qu'openoffice bug et n'affiche plus la boite de dialogue, l'éditeur BASIC ne veut plus se fermer, en attente que la macro se termine, ce qui est impossible car la boite de dialogue est virtuellement ouverte mais non affichée. Obligé de fermer salement openoffice.

Ma question : comment contourner ce petit problème de fonctionnement afin que les 3 modes prévus par Laurent Godard puissent tourner normalement?

merci d'avance à tous.

voici le début du code :

Sub AffecteFormule oViewCursor = ThisComponent.getCurrentController().getViewCursor() oTextCursor=oViewCursor.Text.createTextCursorByRange(oViewCursor) DialogLibraries.LoadLibrary("CmathOOo") oDialogPoliceFormules = CreateUnoDialog(DialogLibraries.CmathOOo.DialogPoliceFormules) oDialogPoliceFormules.Model.TextFieldPolice.Text=oTextCursor.CharFontName oDialogPoliceFormules.Model.TextFieldTaille.Text=oTextCursor.CharHeight oDialogPoliceFormules.Execute() iTaille=val(oDialogPoliceFormules.Model.TextFieldTaille.Text) sPolice=oDialogPoliceFormules.Model.TextFieldPolice.Text oDialogPoliceFormules.EndExecute() LaFormule=ThisComponent.getCurrentSelection() if IsNumeric(iTaille) then if IsNull(LaFormule) then Message="Le redimensionnement ne fonctionne pas sur un nouveau document"+chr(10) message=message+"Veuillez enregistrer, quitter et réouvrir votre document"+chr(10) message=message+chr(10)+"Désolé" msgbox message,64,"problème ..." exit sub endif if LaFormule.getImplementationName = "SwXTextEmbeddedObject" then ' un objet seul est selectionné cas=1 else etc...