]> source.dussan.org Git - vaadin-framework.git/blob
e1d4260c961cf6e6feaf8b256f397d2cfbcdad45
[vaadin-framework.git] /
1 /*
2  * Copyright 2000-2021 Vaadin Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */
16
17 package com.vaadin.v7.client.ui.twincolselect;
18
19 import com.vaadin.client.ApplicationConnection;
20 import com.vaadin.client.DirectionalManagedLayout;
21 import com.vaadin.client.UIDL;
22 import com.vaadin.shared.ui.Connect;
23 import com.vaadin.v7.client.ui.VTwinColSelect;
24 import com.vaadin.v7.client.ui.optiongroup.OptionGroupBaseConnector;
25 import com.vaadin.v7.shared.ui.twincolselect.TwinColSelectState;
26 import com.vaadin.v7.ui.TwinColSelect;
27
28 @Connect(TwinColSelect.class)
29 public class TwinColSelectConnector extends OptionGroupBaseConnector
30         implements DirectionalManagedLayout {
31
32     @Override
33     public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
34         // Captions are updated before super call to ensure the widths are set
35         // correctly
36         if (isRealUpdate(uidl)) {
37             getWidget().updateCaptions(uidl);
38             getLayoutManager().setNeedsHorizontalLayout(this);
39         }
40
41         super.updateFromUIDL(uidl, client);
42     }
43
44     @Override
45     protected void init() {
46         super.init();
47         getLayoutManager().registerDependency(this,
48                 getWidget().captionWrapper.getElement());
49     }
50
51     @Override
52     public void onUnregister() {
53         getLayoutManager().unregisterDependency(this,
54                 getWidget().captionWrapper.getElement());
55     }
56
57     @Override
58     public VTwinColSelect getWidget() {
59         return (VTwinColSelect) super.getWidget();
60     }
61
62     @Override
63     public TwinColSelectState getState() {
64         return (TwinColSelectState) super.getState();
65     }
66
67     @Override
68     public void layoutVertically() {
69         if (isUndefinedHeight()) {
70             getWidget().clearInternalHeights();
71         } else {
72             getWidget().setInternalHeights();
73         }
74     }
75
76     @Override
77     public void layoutHorizontally() {
78         if (isUndefinedWidth()) {
79             getWidget().clearInternalWidths();
80         } else {
81             getWidget().setInternalWidths();
82         }
83     }
84 }