/* * Copyright 2012 Red Hat, Inc. and/or its affiliates. * * 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 org.kie.workbench.common.widgets.decoratedgrid.client.widget.events; import com.google.gwt.event.shared.EventHandler; import com.google.gwt.event.shared.GwtEvent; import java.util.ArrayList; import java.util.List; /** * An event to insert a column */ public abstract class InsertColumnEvent<T, C> extends GwtEvent<InsertColumnEvent.Handler<T, C>> { public static interface Handler<T, C> extends EventHandler { void onInsertColumn( InsertColumnEvent<T, C> event ); } private int index; private boolean redraw = true; private List<T> columns; private List<List<C>> columnsData; public InsertColumnEvent( List<T> columns, List<List<C>> columnsData, int index, boolean redraw ) { this( columns, columnsData, index ); this.redraw = redraw; } public InsertColumnEvent( List<T> columns, List<List<C>> columnsData, int index ) { this.columns = columns; this.columnsData = columnsData; this.index = index; } public InsertColumnEvent( T column, List<C> columnData, int index, boolean redraw ) { this( column, columnData, index ); this.redraw = redraw; } public InsertColumnEvent( T column, List<C> columnData, int index ) { this.columns = new ArrayList<T>(); this.columnsData = new ArrayList<List<C>>(); this.columns.add( column ); this.columnsData.add( columnData ); this.index = index; } public List<T> getColumns() { return this.columns; } public List<List<C>> getColumnsData() { return this.columnsData; } public int getIndex() { return this.index; } public boolean redraw() { return this.redraw; } @Override protected void dispatch( InsertColumnEvent.Handler<T, C> handler ) { handler.onInsertColumn( this ); } }