Bonjour,
J'ai lu à pas mal d'endroits que le binding était un tueur de performances et je me demandais si il était possible dans certains cas de le remplacer par de simple trigger
J'ai une Scene qui contient un CustomNode nommé module. Au cours de l'exécution du programme, la fonction remplirModule est appelée. Cette méthode assigne à module une instance d'une classe personnalisée qui étend CustomNode. Comme module est précédé de bind dans la Scene et que son contenu change, l'affichage est réactualisé.
Avec bind:
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 var module:CustomNode; Stage { scene: Scene { content: [ Group{ content: bind [ Rectangle{ fill:Color.SILVER }, module ] } ]}]}}} public function remplirModule(String): Void { module= MonCustomNode { //Cette classe étend CustomNode contenu:String; } }Avec triger :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class MonCustomNode extends CUstomNode { var contenu: String; override function create() { Group { content :[ Text { font: Font {size: 16} content: contenu } ] } } }
Est-il possible d'appeler une sorte de méthode "repaint" sur le CustomNode qui forcerait le réaffichage de ce bloc quand le triger se déclenche ?
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 var module:CustomNode on replace{ //!!!! Ici il faudrait forcer le "repaint" du CustomNode module dans la Scene //To implement }; Stage { scene: Scene { content: [ Group{ content: [ Rectangle{ fill:Color.SILVER }, module ] } ] } ]}]}}} public function remplirModule(String): Void { module= MonCustomNode { //Cette classe étend CustomNode contenu:String; } }
Partager