Aller au contenu
  • 0
amar

Fmp12 - Onglets - Déclencheurs

Question

Bonjour à tous,

Je viens de convertir un fichier fmp11 en 12, tout va bien.

Sur cette application, lorsque on ouvre on arrive sur un modèle avec des onglets.

en V11 j'ai simulé ces onglets avec une rubrique mv, que j'ai placé horizontalement pour la simulation et chaque rubrique est un bouton qui exécutent le même script avec un paramètre différents pour contrôler les accès sur les onglets.

On me dit maintenant qu'avec la V12 on mettre des déclencheurs sur les onglets, effectivement on peut MAIS... ou peut être que je ne sais pas faire.

Voilà ce que j'obtiens, en mode modèle donc, je choisis le premier onglet et je lui colle donc le script à exécuter avec son paramètre sur changement onglet, je passe au second onglet, et quelle fut ma frustration lorsque je vois qu'il a déjà le script et le paramètre.

Ce qui veut donc dire qu'on ne peut mettre que le même script sur tous les onglets avec le même paramètre, c'est du n'importe quoi, ou alors je n'ai rien compris.

Partager ce message


Lien à poster
Partager sur d’autres sites

20 réponses à cette question

Messages recommandés

  • 0

ya pas foule en V12 à ce que je vois.

Bon je retourne aussi à la V11 alors

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Amar,

Il existe deux nouvelles fonctions d'obtention en v12 qui permettent de déterminer de quel onglet l'utilisateur provient et sur lequel il arrive :

Obtenir ( OngletActuelDéclencheur )

Le numéro d'index et le nom d'objet du panneau à onglets à partir duquel le changement est effectué lorsque le déclencheur de script SurChangementOnglet est activé.

Obtenir ( OngletCibleDéclencheur )

Le numéro d'index et le nom d'objet du panneau à onglets vers lequel le changement est effectué lorsque le déclencheur de script SurChangementOnglet est activé.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Olivier,

Merci pour ta réponse, mais je trouve tout de même que c'est incomplet, si on ne peut pas mettre un paramètre de script différent sur chacun des onglets.

Si je comprends tout il faut déclarer les paramètre dans le script lui-même de la façon suivante par exemple

Si on cliqué sur onglet1 alors 1

Si onglet 2 alors 2

etc...

C'est ça l'astuce ?

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Hello,

bah non, on peut mettre un seul paramètre, mais multiple (liste de valeurs, xml, ...), et ensuite en début de script par ex. on récupère celui qu'on veut en fonction du n° d'onglet.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

oui mais ce qui revient au même, tu joues avec les mots ou je me trompe

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Pourquoi voudrais-tu introduire une dépendance entre modèle et script alors que le script peut être autonome et obtenir l'information par lui-même ?

C'est la première fois que FM introduit la possibilité de connaître le nom de l'objet déclenchant le script. C'est malheureusement limite aux onglets, mais c'est déjà ça !

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

oui mais ce qui revient au même, tu joues avec les mots ou je me trompe

Non, ce n'est pas la même chose.

Ce que tu évoques, c'est d'avoir, en dur dans le script, plusieurs valeurs de paramètre, dont une sera choisie selon l'onglet.

Si tu veux changer un paramètre, tu dois le faire dans le script.

Ou encore : impossible d'utiliser le même script pour un autre jeu d'onglets avec paramètres différents.

Moi je te parle de définir ces différentes valeurs dans le paramètre passé au script.

Ensuite, tout ce que fait le script, c'est de recevoir cette liste de valeurs en paramètre, et de choisir une valeur selon l'onglet.

Le paramètre est bien défini au niveau du déclencheur, pas dans le script.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Laurent, on est bien d'accord mais tu es tout de même obligé de faire un test dans le script pour récupérer le bon prm, peut-être qu'il y a qlq chose que je ne comprends pas trop mais je continue à penser que c'est inabouti, cela aurait été beaucoup plus simple (pour moi) de pouvoir déclencher le script1 avec un prm1 sur l'onglet1 et avoir la possibilité de déclencher un autre scipt2 avec l'onglet 2 par exemple et ainsi de suite, mais bon.

Fabrice, je n'ai pas trop compris ta remarque sur la dépendance entre modèle et script

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Salut Amar,

J'arrive bien après la bataille. L'avantage, s'il faut en trouver un, du fait que ce soit le script déclenché qui cherche et trouve lui-même l'onglet cliqué ou désiré est qu'il n'est plus nécessaire de placer un bouton sur chaque onglet comme auparavant ; à ceci près qu'un onglet bascule quand on clique la souris tandis qu'avec un bouton c'est quand on la déclique (donc remords possible si l'on clique par mégarde ; on peut alors faire glisser le curseur à l'extérieur du bouton avant de décliquer) ; mais c'était déjà malheureusement le cas avant, càd sans associer de script aux onglets. Dommage qu'on n'ait pas le choix.

J'en profite, mais il se peut que j'enfonce une porte ouverte, pour vous faire part d'une découverte intéressante : on peut inhiber le basculement d'un onglet en plaçant dans le script déclenché l'action Interrompre script mais non Fin de script, nuance.

Bon week-end.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Merci Fabrice. Je n'aime pas regarder des vidéos ou écouter des messages audio ; je préfère lire des textes ou des illustrations. Dans le premier cas, c'est de l'accés séquentiel et l'auditeur est tributaire du rythme de la source, et dans le second, c'est de l'accès direct.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Telecharge le fichier alors !

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

C'est ce que j'ai fait, après avoir compris qu'il fallait cliquer sur la boîte marquée ZIP. Pour moi c'est pareil, j'aime bien les images mais les préfère quand elles sont de texte accompagnées. Bref, l'exemple est clair mais, désolé de le dire, je ne vois pas, sans doute car je suis bouché à l'émeri, à quoi sert le script TabPreventSwitch. À tel point qu'en en désactivant toutes les actions, le comportement de l'exemple reste le même ; (running gag : qd je dis que l'action Fin de script est inutile sinon nuisible). Je me suis permis de joindre ton exemple modifié pour montrer l'avortement de la bascule. Et que le script TabSwitch (raw:objectName) oppose True à vide plutôt qu'à False m'étonne, même si ça marche, bien sûr.

Sinon, bien d'accord avec toi pour dire que la gestion graphique est meilleure en v12 (ouais, j'ai vu la vidéo !). C'est marrant que t'aies mis les boutons de commande à l'extérieur des onglets ; je me demande, mais c'est purement historique, si c'était déjà possible dans les versions précédentes de commander des onglets de l'extérieur.

Merci quand même. Les onglets sont une possibilité supplémentaire de ne pas se servir de Cache-moi qui est lourd à mettre en œuvre.

ControlledTabSwitching_3.zip

ControlledTabSwitching_3.zip

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Rien n'empêche de cliquer sur l'onglet dans ton fichier.

Finalement, une vidéo a du bon...

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Et on est bien content. Mais ça n'a rien à voir avec le schmilblik.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Ç'a à voir avec ce que je disais plus haut. À ce compte, c'est ton exemple qui n'avait rien à voir ; c'est pour ça que je recentrai.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

on peut inhiber le basculement d'un onglet en plaçant dans le script déclenché l'action Interrompre script mais non Fin de script, nuance.

Excuse-moi, j'avais compris que tu disais qu'on ne pouvait pas inhiber le changement d'onglet avec Fin de Script...

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Oui, intéressant en effet. Plus un bug je pense qu'autre chose. En tout cas pas documenté.

Il reste que Interrompre script interrompra tous les scripts de la pile, ce qui interdit ce genre d'usage pour le cas où un script est en pause, ou tout simplement en tant que sous script.

Si on va par là, on peut dire aussi que débrancher le cable d'alimentation empêche aussi le changement d'onglet (sauf batterie ou onduleur)

Mais en effet, ce comportement m'avait échappé.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant


  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×