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

MXML Discussion :

Comment déclarer ses objets dans la balise <fx:Declarations />


Sujet :

MXML

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 41
    Points
    41
    Par défaut Comment déclarer ses objets dans la balise <fx:Declarations />
    Bonjour, je suis pas sûr et certain, mais je crois avoir un souci à cause du fait que mes variables ne sont pas encore instanciées quand je les appelle. Est ce que c'est bien ça, ou je me trompe ?

    mon test exécute lors de l'évènement contentCreationComplete de mon appli :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trace("simpleEdit.states : "+simpleEdit.states);
    resultat :
    simpleEdit.states : null
    la balise <fxeclarations> de mon appli :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <fx:Declarations>
    <!-- du code ... -->
    	<toolbar:ToolEngine_simpleEdit id="simpleEdit" gardenEditor="{this}" img="{Resources.ICON_ARROW}" name="simpleEdit">
    		<toolbar:states>
    			<s:ArrayCollection>
    				<toolbar:ToolState name="{ToolEngine_simpleEdit.STATE_SELECT}" img="{Resources.ICON_ARROW}" isDisplay="false"/>
    				<toolbar:ToolState name="{ToolEngine_simpleEdit.STATE_MOVE}" img="{Resources.ICON_MOVE}"/>
    				<toolbar:ToolState name="{ToolEngine_simpleEdit.STATE_ROTATE}" img="{Resources.ICON_ROTATE}"/>
    				<toolbar:ToolState name="{ToolEngine_simpleEdit.STATE_DELETE}" img="{Resources.ICON_DELETE}"/>
    			</s:ArrayCollection>
    		</toolbar:states>
    	</toolbar:ToolEngine_simpleEdit>
    <!-- du code ... -->
    </fx:Declarations>
    ma classe ToolEngine_simpleEdit hérite directement de cette classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    package gardeneditor.toolbar
    {
    	//imports ....
    	public class ToolEngine extends EventDispatcher
    	{
    		//du code ....
     
    		private var _states:ArrayCollection;
     
    		[Bindable(event="statesLoaded")]
    		public function get states():ArrayCollection
    		{
    			return _states;
    		}
     
    		public function set states(value:ArrayCollection):void
    		{
    			if( _states !== value)
    			{
    				_states = value;
    				dispatchEvent(new Event("statesLoaded"));
    			}
    		}
     
    		//du code ....
    	}
    }
    Merci

    edit : j'ai testé de mettre un break sur le setter, il n'y passe pas.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    par contre si je fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <fx:Declarations>
    	<toolbar:ToolEngine_simpleEdit id="simpleEdit" gardenEditor="{this}" img="{Resources.ICON_ARROW}" name="simpleEdit" states="{simpleEditStates}"/>
     
    	<s:ArrayCollection id="simpleEditStates">
    		<toolbar:ToolState name="{ToolEngine_simpleEdit.STATE_SELECT}" img="{Resources.ICON_ARROW}" isDisplay="false"/>
    		<toolbar:ToolState name="{ToolEngine_simpleEdit.STATE_MOVE}" img="{Resources.ICON_MOVE}"/>
    		<toolbar:ToolState name="{ToolEngine_simpleEdit.STATE_ROTATE}" img="{Resources.ICON_ROTATE}"/>
    		<toolbar:ToolState name="{ToolEngine_simpleEdit.STATE_DELETE}" img="{Resources.ICON_DELETE}"/>
    	</s:ArrayCollection>
    </fx:Declarations>
    Ca fonctionne... pourquoi?!

    edit: vous m'direz "t'as trouvé un truc qui fonctionne, te prends pas la tête". Naan! je veux savoir!

  3. #3
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Salut,

    ca me semble logique moi, lorsque tu omets de mettre states="{simpleEditStates}" tu initialises pas ta propriété _states via ton setter "set state" et donc lorsque tu accèdes à simpleEdit.states dans ton trace cela te retourne null car tu n'as jamais instancié ton ArrayCollection.

    Bon dév

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    mais alors pourquoi ça fonctionne avec les dataprovider. Qu'est ce qui change?

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/09/2006, 17h21
  2. Comment ajouter une image dans une balise div ??
    Par liv dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/05/2006, 11h48
  3. Réponses: 4
    Dernier message: 20/04/2006, 02h56
  4. Réponses: 5
    Dernier message: 29/03/2006, 14h55
  5. Comment déclarer une DataSource dans server.xml
    Par guillaume06 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/06/2004, 14h27

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