IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

setter MXML/AS


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 160
    Par défaut setter MXML/AS
    Bonjour,

    Je développe une appli Flex et je me retrouve face à un problème "bizarre" :
    J'ai une fenetre perso (qui étend TitleWindow) dans laquelle je set une propriété à travers l'attibut adéquat dans la balise <TitleWindow>.
    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <TitleWindow maProp="NON" [...] >
    Or a un moment je crée cette fenetre en AS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var fenetre:MaFenetre = new MaFenetre();
    Et je me rends compte que tant que la fenêtre n'est pas affichée (via le PopupManager par exemple) et bien l'affectation n'a pas lieu !
    Ce qui veut dire que si "maProp" vaut "OUI" par défaut et que j'affecte "NON" comme dans l'exemple ci-dessus, si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var fenetre:MaFenetre = new MaFenetre();
    [...]
    Je vois dans le débugueur que maProp vaut "OUI"

    Mais si je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var fenetre:MaFenetre = new MaFenetre();
    PopupManager.add(fenetre,mere);
    [...]
    Alors là il passe bien dans le setter de la propriété et donc maProp vaut bien "NON".


    Y a t-il un moyen de contourner ce problème ?

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Alors juste pour commencer je voudrais faire une remarque. Normalement pour créer un TitleWindows, tu dois utiliser la méthode createPopUp du PopUpManager. Pourquoi tu ne l'as pas utilisé ? Peut être que ton problème vient de là.

    Bien évidemment createPopUp affiche la pop up en plus de la créer si mes souvenirs sont bons. Dans ce cas il faudrait peut être que tu revoies le moment de création de ta pop up.

    ++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 160
    Par défaut
    Mais en fait le truc c'est que je ne veux pas l'afficher, je donnais l'exemple du addPopup pour montrer que l'affectation de ma propriété ne se fait qu'à l'affichage et non à la création de l'objet.

    En gros je souhaites accèder en AS à un propritété (un attribut) de ma fenetre définie en MXML.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 319
    Par défaut
    Pas sûr de bien comprendre... En fait la value de ta propriété maProp est à OUI tant que le manager n'a pas ajouté ton objet "ma fenêtre" c'est ça ?

    Peux-tu mettre ton vrai code ? car TitleWindow ne possède pas de propriété maProp

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 160
    Par défaut
    En effet c'est bien ça.

    Bon alors avec un code proche du réel :

    Soit un objet AS TitleWindowDroit héritant de TitleWindow.
    Je rajoute dans ce nouvel objet la propriété droitConsultation initialisée à "O".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var droitConsultation:String = "O";
    Pour l'une de mes fenêtres je souhaite faire ceci (cas un peu idiot mais pouvant arriver : personne ne peut consulter cette fenêtre):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <customcompAS:TitleWindowDroit droitConsultation="N">
    </customcompAS>
    Enfin, j'ai un lien vers cette TitleWindow customisée qui ne doit s'afficher (le lien) QUE si droitConsultation est à "O".

    Donc en gros au moment de construire le lien je veux regarder si la propriété de ma fenetre est à "O" ou à "N". Pour ça je construit l'objet TitleWindowDroit en AS et je veux faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var maFenetre:TitleWindowDroit = new TitleWindowDroit();
    if(maFenetre.droitConsultation == "O"){
        //Afficher le lien vers ma fenetre
       //Autres opérations
    }
    else{
        //Ne pas afficher le lien
    }

    Le problème c'est que l'affectation de la variable droitConsultation avec la valeur que j'ai indiqué dans le MXML ne se fait pas lorsque je construis l'objet en AS. Ce qui fait que lors de mon test sur la propriété et ben j'ai toujours la valeur par défaut et non la valeur affectée.

    Ensuite, j'ai fais des "expériences" et je me suis aperçu que l'affectation ne se faisait que si l'on faisait afficher la fenêtre. Or en aucun cas je ne veux la faire afficher. D'où mon problème.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Enfin, j'ai un lien vers cette TitleWindow customisée qui ne doit s'afficher (le lien) QUE si droitConsultation est à "O".
    Pourquoi tu ne mets pas le lien en disabled plutôt ?

    Alors soit je n'ai compris, soit tu veux faire trop compliquer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] Génération automatique Property (getter / setter)
    Par Husqvarna dans le forum Windows Forms
    Réponses: 7
    Dernier message: 23/07/2020, 11h55
  2. [Info]générer automatiquement les getters / setters
    Par lr dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 01/02/2005, 10h14
  3. [Bean] Automatiser les appels de setters / getters
    Par shinchun dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/12/2004, 15h18
  4. SNMP (setter une variable???)
    Par racel dans le forum Développement
    Réponses: 2
    Dernier message: 07/06/2004, 11h48
  5. configuration getter & setter
    Par otb82 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 15/10/2003, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo