|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Membre à l'essai
![]() Inscription : novembre 2006 Messages : 87 ![]() |
Bonjour,
l'idée est d'avoir une page principale (Main.mxml), laquelle possède un bouton (mainBouton) dans une barre d'outils en haut. - mainBouton déclenche l'ouverture d'une TitleWindow (Window1), Window1 qui possède un bouton (w1Bouton). - w1Bouton déclenche l'ouverture d'une seconde TitleWindow (Window2) - et désactive (enabled=false) mainBouton : pas de soucis (mais ma solution ne doit pas être la bonne, voir ci-dessous) Une fois sur Window2, - le but est de réactiver mainBouton lorsque l'on ferme Window2 : et là, je n'y arrive pas... Mon dernier essai infructueux étant dans Window1 onFermetureEcran() avec this.dispatchEvent(new MyEvent(MyEvent.BOUTON_ACTIF_OU_NON,true)) Une idée, un conseil, un barbecue, une sortie ski, je suis ouvert à toute proposition. Merci d'avance. Le code complet pour tester (elle est pas belle la vie!!). Au passage, vous noterez la redondance du code (afficherEcran(), onFermetureEcran()...) : c'est secondaire mais là aussi, un conseil sera bienvenu. Vous l'aurez deviné j'en suis aux balbutiements de flex/as. Main.mxml Code :
Code :
Code :
Code :
|
||||||||
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 279 ![]() |
Salut,
Citation:
Certes PDF de 50 pages à lire mais tu comprendras vite l'intérêt de "perdre" 2-3 jours de compréhension du framework PureMVC pour gagner énormément de temps de dév sur tes actuels et futurs projets C'est plus à démontrer que le système d'events flash est foireux tu peux écouter juste les événements qui sont sur la même "branche de composants" que le composant qui a déclenché l'event...et c'est ca qui est pourri Pour écouter un event dispatché sur une autre branche, tu dois redispatcher l'event au croisement des 2 branches et ainsi de suite...ce qui est vite très très lourd sans compter que tes composants ne sont plus faiblement couplés. L'implémentation du pattern Observer (utilisé par PureMVC) résout tous ces problèmes et est à mon avis moins consommatrice de ressources. Bonne lecture et bonne bière
__________________
Je ne réponds pas aux questions envoyées par mp |
|
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : novembre 2006 Messages : 87 ![]() |
Salut Madfrix,
merci déjà pour ta réponse. Je prends la bière, à ta santé. PureMvc, Mate, Cairngorm... : j'ai vu, lu, relu et vomis (j'exagère)...Je vais la faire un peu courte et peut être à tord. Flex étant déjà un framework à part entière, y coller une couche de plus ne m'inspire pas plus que cela, à l'instant t. Côté organisationnel, n-tiers ou séparation des couches ihm, metier, dao (mvc pour d'autres), je devrais m'en dépatouiller. Et donc, avant de peut être revenir sur mes propos, j'aimerais d'abord trouver une solution propre à Flex, afin d'en comprendre les mécanismes et peut être ensuite de mieux appréhender les divers frameworks tiers. Mais je note ton conseil, une bière à la main. Salut et merci. |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 279 ![]() |
Salut,
si tu tiens à utiliser le modèle évenementiel flash, tu peux faire ceci alors : Code :
__________________
Je ne réponds pas aux questions envoyées par mp |
||
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : novembre 2006 Messages : 87 ![]() |
Salut Madfrix,
sur ce coup je note la solution du tableau mais comme je suis du genre insatisfait, je relèverais qu'ici tu détournes le problème puisque tu centralises tout sur l'équivalent de mon main ce qui forcément rend caduque le problème de portée de mes events. Cela pourrait passer pour 2 écrans mais dès lors que l'on parle d'une appli ordinaire, je ne le sens pas comme cela. Mais bon, on avance. Si tu dois m'envoyer bouler, pas de blème tant que c'est une bière à la main, une tueuse dans l'autre. |
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 279 ![]() |
Salut,
Citation:
Si tu vois pas ce que je veux dire, je te ferais un petit code ce soir si j'ai le temps
__________________
Je ne réponds pas aux questions envoyées par mp |
|
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : novembre 2006 Messages : 87 ![]() |
Salut,
la solution finale adoptée pour l'instant est un dérivé des soluces proposées. On définit une propriété stockant le nom du prochain écran que l'on souhaite affiché, lorsque le main reçoit l'event de fermeture d'une TitleWindow, on teste alors cette propriété, si elle est renseignée, on ouvre nouvel Ecran et la barre d'outil reste inactive, sinon, on active la barre. On se retrouve donc avec le test dans le Main comme Madfrix l'indiquait, plus de soucis de portée. Nickel - Je vais pouvoir passer à autre chose que d'la bière... Merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com