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.vaadin.gwt.client.tabsheet.tab.connector;
35
36 import info.magnolia.ui.vaadin.gwt.client.tabsheet.tab.widget.MagnoliaTabWidget;
37 import info.magnolia.ui.vaadin.tabsheet.MagnoliaTab;
38
39 import com.vaadin.client.ComponentConnector;
40 import com.vaadin.client.ConnectorHierarchyChangeEvent;
41 import com.vaadin.client.communication.StateChangeEvent;
42 import com.vaadin.client.communication.StateChangeEvent.StateChangeHandler;
43 import com.vaadin.client.ui.AbstractSingleComponentContainerConnector;
44 import com.vaadin.shared.ui.Connect;
45
46
47
48
49
50
51 @Deprecated
52 @Connect(MagnoliaTab.class)
53 public class MagnoliaTabConnector extends AbstractSingleComponentContainerConnector {
54
55 @Override
56 protected void init() {
57 super.init();
58 addStateChangeHandler("isClosable", new StateChangeHandler() {
59 @Override
60 public void onStateChanged(StateChangeEvent stateChangeEvent) {
61 getWidget().getLabel().setClosable(getState().isClosable);
62 }
63 });
64
65 addStateChangeHandler("hasError", new StateChangeHandler() {
66 @Override
67 public void onStateChanged(StateChangeEvent stateChangeEvent) {
68 getWidget().getLabel().setHasError(getState().hasError);
69 }
70 });
71
72 addStateChangeHandler("isNotificationHidden", new StateChangeHandler() {
73 @Override
74 public void onStateChanged(StateChangeEvent stateChangeEvent) {
75 getWidget().getLabel().hideNotification();
76 }
77 });
78
79 addStateChangeHandler("notification", new StateChangeHandler() {
80 @Override
81 public void onStateChanged(StateChangeEvent stateChangeEvent) {
82 getWidget().getLabel().updateNotification(getState().notification);
83 }
84 });
85
86 addStateChangeHandler("isActive", new StateChangeHandler() {
87 @Override
88 public void onStateChanged(StateChangeEvent stateChangeEvent) {
89 getWidget().getLabel().updateNotification(getState().notification);
90 if (getState().isActive) {
91 getWidget().removeStyleName("inactive");
92 } else {
93 getWidget().addStyleName("inactive");
94 }
95 }
96 });
97
98 addStateChangeHandler("icon", new StateChangeHandler() {
99 @Override
100 public void onStateChanged(StateChangeEvent stateChangeEvent) {
101 if (getState().icon != null) {
102 getWidget().setIcon(getState().icon);
103 }
104 }
105 });
106 }
107
108 @Override
109 public void updateCaption(ComponentConnector connector) {
110 }
111
112 @Override
113 public MagnoliaTabWidget getWidget() {
114 return (MagnoliaTabWidget) super.getWidget();
115 }
116
117 @Override
118 protected MagnoliaTabWidget createWidget() {
119 return new MagnoliaTabWidget(this);
120 }
121
122 @Override
123 public MagnoliaTabState getState() {
124 return (MagnoliaTabState) super.getState();
125 }
126
127 @Override
128 protected MagnoliaTabState createState() {
129 return new MagnoliaTabState();
130 }
131
132 @Override
133 public void onConnectorHierarchyChange(ConnectorHierarchyChangeEvent e) {
134 if (!e.getOldChildren().isEmpty()) {
135 final ComponentConnector oldContent = e.getOldChildren().get(0);
136 getWidget().remove(oldContent.getWidget());
137 }
138
139 if (getContent() != null) {
140 getWidget().setWidget(getContent().getWidget());
141 }
142 }
143 }