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 :

Conseil sur l'architecture de mon projet


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 95
    Par défaut Conseil sur l'architecture de mon projet
    Bonjour à tous,

    Je suis en train de réaliser une petite application web sous flex pour décrire les processus de mon entreprise.

    C'est une simple carthographie de processus, et quand on click sur l'un des processus cela descend à la carthographie du sous-processus qui lui est associé.

    Jusqu'ici ca marchait pas trop mal mais le code est vraiment dégueu et je ne sais pas trop comment le structurer.

    Actuellement j'ai une classe "main" qui affiche le processus de niveau 0, lorsque je click

    En entête j'ai tout mon actionscript qui charge un sous-processus en fonction de l'élément sur lequel on a clické.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private function addActPany():void{
    					var act_pany:ACT_PANY = new ACT_PANY; // Sous processus Pany
    					main.removeChild(level0);
    					main.addChild(act_pany);
    			}
    			private function addActEc():void{
    					var act_ec:ACT_EC = new ACT_EC; // Sous processus EC
    					main.removeChild(level0);
    					main.addChild(act_ec);
    			}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <mx:Panel id="main" x="253" y="10" layout="absolute" width="1024" height="576" title="Processus commercial">
    	<mx:Grid id="level0" top="10" bottom="222" right="85" left="10">
             // MA CARTHOGRAPHIE : J'utilise des Canvas comme élément clickable
            </mx:Grid>
    </mx:Panel>
    Et enfin en entête de ma classe main j'utilise aussi de l'actionscript pour gérer un treeview (pour la navigation entre carthographie de processus).

    J'ai positionné le treeview mxml en dessous du panel "main" qui affiche la carthographie :
    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
    28
    29
    </mx:Panel>
    	<mx:Panel x="19" y="10" width="226" height="576" layout="absolute" title="Navigation">
    		<mx:Tree labelField="@label" x="10" y="10" width="186" height="516"
              change="changeEvt(event);">
    		<mx:XMLListCollection>
    				<mx:XMLList>
    					<process label="Commercial" data="1">
    						<activite label="Entreprise" data="11">
    							<instruction label="X" data="111"/>
    							<instruction label="Y" data="112"/>
    							<instruction label="Z" data="113"/>
    						</activite>
    						<activite label="W" data="12">
    							<instruction label="X" data="121"/> 
    							<instruction label="Y" data="122"/>
    							<instruction label="Z" data="123"/>
    						</activite>
    						<activite label="O" data="13"/>
    						<activite label="P" data="14"/>
    						<activite label="Q" data="15"/>
    					</process>
    					<process label="Marketing">
    						<activite label="PLAN(X)"/>
    					</process>
    				</mx:XMLList>
    		</mx:XMLListCollection>
     
    		</mx:Tree>
    	</mx:Panel>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private function changeEvt(event:Event):void {
    			if(event.currentTarget.selectedItem.@data == 1)
    			{
    					var com:proc = new proc;
    					this.removeChild(level0);
    					main.addChild(com);
    			}
    			if(event.currentTarget.selectedItem.@data == 11)
    			{
    					var act_pany:ACT_PANY = new ACT_PANY;
    					main.removeChild(level0);
    					main.addChild(act_pany);
    			}
    Si je navigue en utilisant la carthographie cela fonctionne parfaitement, mais si je navigue en utilisant le menu de navigation alors je ne peux naviguer que sur un élément, après la navigation ne fonctionne plus et je ne sais pas comment résoudre ce problème....

    Autre question, comment faire les laisons entre les différents processus, suis-je obligé d'utiliser la fonction DrawLine ou existe-t-il une API pour flexBuilder ou autre qui permettent de dessiner (WYSIWYG) mes interactions entre processus ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Par défaut
    Bonjour,

    Etant les objectifs de ton application, sans trop regarder le code, je pense que tu devrais fonctionner avec les states de Flex. Chaque niveau correspond à un state, idem pour les sous niveau...
    A chaque clique sur un élément, tu changes l'état courant (currentState).

    Cela beaucoup plus facile à manipuler et ton menu de navigation sera plus simple à développer.

    Autre question, comment faire les laisons entre les différents processus, suis-je obligé d'utiliser la fonction DrawLine ou existe-t-il une API pour flexBuilder ou autre qui permettent de dessiner (WYSIWYG) mes interactions entre processus ?
    A ma connaissance, il n'existe pas une API faisant ça.

    Bon courage

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 95
    Par défaut
    Salut et merci de m'avoir éclairé sur les states, je ne connaissais pas...

    Au final je ne les aient pas utilisé, j'étais parti sur autre chose avant d'avoir lu ton message...

    J'ai réussi à m'en sortir mais j'ai quelques bugs, par exemple je n'arrive pas à télécharger un fichier, il me propose bien de le télécharger et j'ai vérifié que l'url entré dans l'URLRequest était la bonne, mais malheureusement je ne retrouve pas mon fichier sur mon bureau après avoir lancé le téléchargement...

    Je suppose que je me confronte à un problème connu, est-ce que quelqu'un saurait me dépanner ?

Discussions similaires

  1. Conseils sur l'architecture à mettre en oeuvre pour projet d'application web
    Par Peppermay dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 30/03/2012, 18h14
  2. [patterns] conseil sur le fonctionnement de mon programme
    Par lichman dans le forum Design Patterns
    Réponses: 4
    Dernier message: 13/09/2007, 09h32
  3. Réponses: 4
    Dernier message: 10/05/2007, 03h21
  4. besoin de conseil sur le démarrage d'un projet
    Par kollyv dans le forum Général Java
    Réponses: 5
    Dernier message: 06/04/2007, 18h32
  5. Besoin d'aide sur comment partir avec mon projet
    Par brutus111 dans le forum Développement 2D, 3D et Jeux
    Réponses: 17
    Dernier message: 01/09/2006, 12h08

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