Re: [fr-users] Actionner un bouton de commande par macro
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
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
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
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
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
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
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