All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vaadin.client.widget.grid.events.SelectAllEvent Maven / Gradle / Ivy

Go to download

Vaadin is a web application framework for Rich Internet Applications (RIA). Vaadin enables easy development and maintenance of fast and secure rich web applications with a stunning look and feel and a wide browser support. It features a server-side architecture with the majority of the logic running on the server. Ajax technology is used at the browser-side to ensure a rich and interactive user experience.

There is a newer version: 8.27.1
Show newest version
/*
 * Copyright 2000-2016 Vaadin Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.vaadin.client.widget.grid.events;

import com.google.gwt.event.shared.GwtEvent;
import com.vaadin.client.widget.grid.selection.SelectionModel;

/**
 * A select all event, fired by the Grid when it needs all rows in data source
 * to be selected, OR when all rows have been selected and are now deselected.
 *
 * @since 7.4
 * @author Vaadin Ltd
 * @param 
 *            the type of the rows in grid
 */
public class SelectAllEvent extends GwtEvent> {

    /**
     * Handler type.
     */
    private static final Type> TYPE = new Type<>();;

    private final SelectionModel selectionModel;
    private final boolean allSelected;

    /**
     * Constructs a new select all event when all rows in grid are selected.
     *
     * @param selectionModel
     *            the selection model in use
     */
    public SelectAllEvent(SelectionModel selectionModel) {
        this(selectionModel, true);
    }

    /**
     *
     *
     * @param selectionModel
     *            the selection model in use
     * @param allSelected
     *            {@code true} for all selected, {@code false} for all
     *            deselected
     */
    public SelectAllEvent(SelectionModel selectionModel,
            boolean allSelected) {
        this.selectionModel = selectionModel;
        this.allSelected = allSelected;
    }

    /**
     * Gets the type of the handlers for this event.
     *
     * @return the handler type
     */
    public static final Type> getType() {
        return TYPE;
    }

    @SuppressWarnings({ "rawtypes", "unchecked" })
    @Override
    public Type> getAssociatedType() {
        return (Type) TYPE;
    }

    @Override
    protected void dispatch(SelectAllHandler handler) {
        handler.onSelectAll(this);
    }

    /**
     * The selection model in use.
     *
     * @return the selection model
     */
    public SelectionModel getSelectionModel() {
        return selectionModel;
    }

    /**
     * Returns whether all the rows were selected, or deselected. Deselection
     * can only happen if all rows were previously selected.
     *
     * @return {@code true} for selecting all rows, or {@code false} for
     *         deselecting all rows
     */
    public boolean isAllSelected() {
        return allSelected;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy