Re: [fr-users] Actionner un bouton de commande par macro

2014-12-19 Par sujet Jean-Francois Nifenecker
Bonjour,

Le 19/12/2014 15:18, Didier Dorange-Pattoret a écrit :
> 
> J'ai mal expliqué ce que je veux faire :
> 
> 1) Je lance une macro m1, elle ouvre (.Execute) une boîte de dialogue
> dlg1. Cette boîte de dialogue contient un bouton btn1.
> 
> 2) Si je clique avec la souris sur btn1 alors une macro m2 est lancée
> qui rend invisible dlg1 et  ouvre (.Execute) une boîte dlg2.
> 
> Cela fonctionne bien.
> 
> Je voudrais court-circuiter l'étape 2) mais si j'écris dans le programme
> Call m1 : Call m2 seule la boîte dlg1 s'ouvre et bien sûr attend un clic.
> 
> Du coup, je me suis dit que si j'écrivais du code qui simule le clic sur
> btn1 au lieu de Call m2 cela devrait passer ...
> 

j'ai peut-être pas tout compris mais pourquoi ne pas exécuter
directement m2 depuis ton module de départ ? m2 n'est pas visible ?

-- 
Jean-Francois Nifenecker, Bordeaux

-- 
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] Actionner un bouton de commande par macro

2014-12-19 Par sujet Didier Dorange-Pattoret

Merci Laurent pour ta réponse.

Je vais essayer de comprendre tout cela.

Bonne soirée et encore merci.


Le 19/12/2014 15:35, Laurent Godard a écrit :

Re

hum.

avec .execute, ta boite est modale et donc effectivement l'appel est 
bloquant


tu peux regarder du coté de .visible = true
ta boite est lancé mais n'est plus modale (et donc l'execution dans m1 
se poursuit)


si tu veux conserver une boite modale mais que le process continue 
(par exemple barre de progression), tu peux passer par un callback 
asynchrone com.sun.star.awt.AsyncCallback


voir ce bout de code de principe http://pastebin.com/MiXCPQMT

l'idee est de mettre dans le .tag du dialogue ce qui sera utilisé dans 
le select case du callback asynchrone pour lancer la bonne sub


l'appel se fait comme suit
oDlgPatience.model.tag = "m2"
retourDialogue = oDlgPatience.execute()

laurent



--
Didier Dorange-Pattoret

http://www.dmaths.org

Soutenez le projet Dmaths : rejoignez le club ou faites adhérer votre 
établissement !
http://www.dmaths.org/documentation/doku.php?id=presentation:club

Seuls des formats ouverts peuvent assurer la pérennité de vos documents.
J'ai signé l'appel pour l'interopérabilité dans l'Éducation nationale de 
@aprilorg. Et vous ? http://formatsouverts.education/#InteropEduc


--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] Actionner un bouton de commande par macro

2014-12-19 Par sujet Laurent Godard

Re

hum.

avec .execute, ta boite est modale et donc effectivement l'appel est 
bloquant


tu peux regarder du coté de .visible = true
ta boite est lancé mais n'est plus modale (et donc l'execution dans m1 
se poursuit)


si tu veux conserver une boite modale mais que le process continue (par 
exemple barre de progression), tu peux passer par un callback asynchrone 
com.sun.star.awt.AsyncCallback


voir ce bout de code de principe http://pastebin.com/MiXCPQMT

l'idee est de mettre dans le .tag du dialogue ce qui sera utilisé dans 
le select case du callback asynchrone pour lancer la bonne sub


l'appel se fait comme suit
oDlgPatience.model.tag = "m2"
retourDialogue = oDlgPatience.execute()

laurent

--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] Actionner un bouton de commande par macro

2014-12-19 Par sujet Didier Dorange-Pattoret

Bonjour Laurent,

J'ai mal expliqué ce que je veux faire :

1) Je lance une macro m1, elle ouvre (.Execute) une boîte de dialogue 
dlg1. Cette boîte de dialogue contient un bouton btn1.


2) Si je clique avec la souris sur btn1 alors une macro m2 est lancée 
qui rend invisible dlg1 et  ouvre (.Execute) une boîte dlg2.


Cela fonctionne bien.

Je voudrais court-circuiter l'étape 2) mais si j'écris dans le programme 
Call m1 : Call m2 seule la boîte dlg1 s'ouvre et bien sûr attend un clic.


Du coup, je me suis dit que si j'écrivais du code qui simule le clic sur 
btn1 au lieu de Call m2 cela devrait passer ...


Merci pour ta réponse.


Le 19/12/2014 14:53, Laurent Godard a écrit :

Bonjour Didier


Ma question du jour : Comment actionner par programme un
CommandButton ? (simuler un clic)


j'ai du mal à saisir la problematique

- si c'est un des tes boutons, appeler la sub qui est associée à 
l'evenement click (mais je me doute que tu ne poserais pas la question 
;) )


- si c'est un bouton de l'interface de libreo, voir du coté des 
slotsID et des call .uno:


- regarder sinon du coté de l'envoi d'un evenement (examine ton bouton 
avec xray pour voir si tu as pas de quoi faire)


mais j'ai peut etre pas compris la question

Laurent



--
Didier Dorange-Pattoret

http://www.dmaths.org

Soutenez le projet Dmaths : rejoignez le club ou faites adhérer votre 
établissement !
http://www.dmaths.org/documentation/doku.php?id=presentation:club

Seuls des formats ouverts peuvent assurer la pérennité de vos documents.
J'ai signé l'appel pour l'interopérabilité dans l'Éducation nationale de 
@aprilorg. Et vous ? http://formatsouverts.education/#InteropEduc


--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] Actionner un bouton de commande par macro

2014-12-19 Par sujet Laurent Godard

Bonjour Didier


Ma question du jour : Comment actionner  par programme un
CommandButton ? (simuler un clic)


j'ai du mal à saisir la problematique

- si c'est un des tes boutons, appeler la sub qui est associée à 
l'evenement click (mais je me doute que tu ne poserais pas la question ;) )


- si c'est un bouton de l'interface de libreo, voir du coté des slotsID 
et des call .uno:


- regarder sinon du coté de l'envoi d'un evenement (examine ton bouton 
avec xray pour voir si tu as pas de quoi faire)


mais j'ai peut etre pas compris la question

Laurent

--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] Actionner un bouton de commande par macro

2014-12-19 Par sujet Didier Dorange-Pattoret

Bonjour,

Pas d'idées ?

Merci.

Le 18/12/2014 07:26, Didier Dorange-Pattoret a écrit :

Bonjour à tous,

Je poursuis le développement du module de construction de figures de 
Dmaths.


Ma question du jour : Comment actionner  par programme un 
CommandButton ? (simuler un clic)


Merci d'avance.



--
Didier Dorange-Pattoret

http://www.dmaths.org

Soutenez le projet Dmaths : rejoignez le club ou faites adhérer votre 
établissement !
http://www.dmaths.org/documentation/doku.php?id=presentation:club

Seuls des formats ouverts peuvent assurer la pérennité de vos documents.
J'ai signé l'appel pour l'interopérabilité dans l'Éducation nationale de 
@aprilorg. Et vous ? http://formatsouverts.education/#InteropEduc


--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



[fr-users] Actionner un bouton de commande par macro

2014-12-17 Par sujet Didier Dorange-Pattoret

Bonjour à tous,

Je poursuis le développement du module de construction de figures de Dmaths.

Ma question du jour : Comment actionner  par programme un CommandButton 
? (simuler un clic)


Merci d'avance.

--
Didier Dorange-Pattoret

http://www.dmaths.org

Soutenez le projet Dmaths : rejoignez le club ou faites adhérer votre 
établissement !
http://www.dmaths.org/documentation/doku.php?id=presentation:club

Seuls des formats ouverts peuvent assurer la pérennité de vos documents.
J'ai signé l'appel pour l'interopérabilité dans l'Éducation nationale de 
@aprilorg. Et vous ? http://formatsouverts.education/#InteropEduc


--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés