/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.eas.grid;
import com.google.gwt.dom.client.Element;
import com.google.gwt.user.cellview.client.AbstractCellTable;
import com.google.gwt.user.cellview.client.Column;
import com.google.gwt.user.cellview.client.Header;
/**
*
* @author mg
* @param <T>
* Type of cell table data element.
*/
public class DraggedColumn<T> {
public static DraggedColumn<?> instance;
protected Header<?> header;
protected final Column<T, ?> column;
protected final int columnIndex;
protected AbstractCellTable<T> table;
protected Element cellElement;
protected Element targetElement;
public DraggedColumn(Column<T, ?> aColumn, Header<?> aHeader, AbstractCellTable<T> aTable, Element aCellElement, Element aTargetElement) {
this(aColumn, aHeader, aTable != null ? aTable.getColumnIndex(aColumn) : -1, aTable, aCellElement, aTargetElement);
}
protected DraggedColumn(Column<T, ?> aColumn, Header<?> aHeader, int aColumnIndex, AbstractCellTable<T> aTable, Element aCellElement, Element aTargetElement) {
super();
column = aColumn;
columnIndex = aColumnIndex;
header = aHeader;
table = aTable;
cellElement = aCellElement;
targetElement = aTargetElement;
}
public boolean isResize() {
return targetElement.getClassName().contains(DraggableHeader.headerStyles.gridHeaderResizer());
}
public boolean isMove() {
return !isResize();
}
public Column<T, ?> getColumn() {
return column;
}
public Header<?> getHeader() {
return header;
}
public int getColumnIndex() {
return columnIndex;
}
public AbstractCellTable<T> getTable() {
return table;
}
public Element getCellElement() {
return cellElement;
}
public Element getTargetElement() {
return targetElement;
}
}