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
32
33
34 package info.magnolia.ui.app.sample.main;
35
36 import info.magnolia.ui.framework.app.AppController;
37
38 import javax.inject.Inject;
39
40 import com.vaadin.ui.Button;
41 import com.vaadin.ui.Component;
42 import com.vaadin.ui.Label;
43 import com.vaadin.ui.VerticalLayout;
44
45
46
47
48 public class NavigationViewImpl implements NavigationView {
49
50 private Listener listener;
51
52 private VerticalLayout layout;
53
54 private final AppController appController;
55
56 @Inject
57 public NavigationViewImpl(AppController appController) {
58 this.appController = appController;
59 }
60
61 @Override
62 public void setListener(Listener listener) {
63 this.listener = listener;
64 }
65
66 @Override
67 public Component asVaadinComponent() {
68 if (layout == null) {
69 layout = new VerticalLayout();
70 layout.setMargin(true);
71 layout.setSpacing(true);
72 layout.addComponent(new Label("NAVIGATION"));
73
74 layout.addComponent(createButton("Alpha"));
75 layout.addComponent(createButton("Bravo"));
76 layout.addComponent(createButton("Charlie"));
77 layout.addComponent(createButton("Delta"));
78 layout.addComponent(createButton("Echo"));
79 }
80 return layout;
81 }
82
83 private Button createButton(final String name) {
84 return new Button("Select " + name, new Button.ClickListener() {
85
86 @Override
87 public void buttonClick(Button.ClickEvent event) {
88 listener.onItemSelected(name);
89 }
90 });
91 }
92 }