Bonjour à tous,
J'ai une question sur la gestion des évènements GWT. Peut être il y en a parmi vous qui peuvent aider.
Voila, je veux créer un Tree couplée avec un bouton qui permet de supprimer ou éditer l'élément sélectionné de l'arbre. Cela ressemble à :
Éditer | Supprimer
+Elem1
+param1
+param2
+Elem2
+param4
+param5
Pour cela, je passe l'arbre comme parametre au bouton MAIS le problème est qu'il ne réajit pas au changement du séléction.
Voici à quoi ressemble mon code:
//----------------------
Le bouton :
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
30
31 Tree t = new Tree(); for (final Element elem : elements) { TreeItem ti = createbranches(elem , masterPanel); t.addItem(ti); } vpanel.add(t); private TreeItem createbranches(final Element elem, final HorizontalSplitPanel hspanel ) { final FocusPanel TreeFocus = new FocusPanel(new HTML("<u>"+elem.getName()+"</u>")); TreeFocus.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { hspanel.setRightWidget(new Label(elem.getName()+" Element Update.")); selectedElement = elem; TreeFocus.setFocus(true); } }); TreeItem res = new TreeItem(TreeFocus); final FocusPanel gdFP = new FocusPanel(new HTML("<u>Geographical Data</u>")); gdFP.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { hspanel.setRightWidget(new DataPanel(elem)); gdFP.setFocus(true); } }); TreeItem gdTI = new TreeItem (gdFP); .... ....
//----------------------
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 class DeleteButton extends Button { public DeleteButton (String string, final HorizontalSplitPanel hspanel, final ElementList elements, final Tree t, final ElementselectedElement) { super(string); ClickHandler handler = new ClickHandler(){ @Override public void onClick(ClickEvent event) { DeletePopup popup = new DeletePopup(hspanel, elements, t, selectedElement); popup.show(); } }; addClickHandler(handler); setStyleName("buttonStyle"); } }
Merci de votre aide.
Cordialement.
Partager