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); }
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).
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>
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>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....
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); }
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 ?
Partager