]> source.dussan.org Git - vaadin-framework.git/blob
96cda0adc17a908f7d72bcd23c2f8be782f072bd
[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 package com.vaadin.v7.client.widget.grid.events;
17
18 import com.google.gwt.event.shared.GwtEvent;
19 import com.vaadin.v7.client.widgets.Grid.Column;
20
21 /**
22  * An event for notifying that the columns in the Grid's have changed
23  * visibility.
24  *
25  * @param <T>
26  *            The row type of the grid. The row type is the POJO type from where
27  *            the data is retrieved into the column cells.
28  * @since 7.5.0
29  * @author Vaadin Ltd
30  */
31 public class ColumnVisibilityChangeEvent<T>
32         extends GwtEvent<ColumnVisibilityChangeHandler<T>> {
33
34     private static final Type<ColumnVisibilityChangeHandler<?>> TYPE = new Type<ColumnVisibilityChangeHandler<?>>();
35
36     public static final Type<ColumnVisibilityChangeHandler<?>> getType() {
37         return TYPE;
38     }
39
40     private final Column<?, T> column;
41
42     private final boolean userOriginated;
43
44     private final boolean hidden;
45
46     public ColumnVisibilityChangeEvent(Column<?, T> column, boolean hidden,
47             boolean userOriginated) {
48         this.column = column;
49         this.hidden = hidden;
50         this.userOriginated = userOriginated;
51     }
52
53     /**
54      * Returns the column where the visibility change occurred.
55      *
56      * @return the column where the visibility change occurred.
57      */
58     public Column<?, T> getColumn() {
59         return column;
60     }
61
62     /**
63      * Was the column set hidden or visible.
64      *
65      * @return <code>true</code> if the column was hidden <code>false</code> if
66      *         it was set visible
67      */
68     public boolean isHidden() {
69         return hidden;
70     }
71
72     /**
73      * Is the visibility change triggered by user.
74      *
75      * @return <code>true</code> if the change was triggered by user,
76      *         <code>false</code> if not
77      */
78     public boolean isUserOriginated() {
79         return userOriginated;
80     }
81
82     @SuppressWarnings({ "rawtypes", "unchecked" })
83     @Override
84     public com.google.gwt.event.shared.GwtEvent.Type<ColumnVisibilityChangeHandler<T>> getAssociatedType() {
85         return (Type) TYPE;
86     }
87
88     @Override
89     protected void dispatch(ColumnVisibilityChangeHandler<T> handler) {
90         handler.onVisibilityChange(this);
91     }
92
93 }