/**
* Copyright 2008-2016 Qualogy Solutions B.V.
*
* 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.qualogy.qafe.gwt.client.component.improved;
import java.util.List;
import com.google.gwt.gen2.table.client.ColumnDefinition;
import com.google.gwt.user.cellview.client.CellTable;
import com.google.gwt.user.cellview.client.Column;
import com.google.gwt.user.cellview.client.TextColumn;
import com.google.gwt.user.client.ui.UIObject;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.MultiSelectionModel;
import com.google.gwt.view.client.SelectionModel;
import com.google.gwt.view.client.SingleSelectionModel;
import com.qualogy.qafe.gwt.client.component.DataMap;
import com.qualogy.qafe.gwt.client.component.HasDataGridMethods;
import com.qualogy.qafe.gwt.client.ui.renderer.cell.LinkColumn;
import com.qualogy.qafe.gwt.client.ui.renderer.cell.QButtonColumn;
import com.qualogy.qafe.gwt.client.vo.functions.DataContainerGVO;
import com.qualogy.qafe.gwt.client.vo.functions.SetValueGVO;
import com.qualogy.qafe.gwt.client.vo.ui.ButtonGVO;
import com.qualogy.qafe.gwt.client.vo.ui.ComponentGVO;
import com.qualogy.qafe.gwt.client.vo.ui.DataGridGVO;
public class QCellTable extends CellTable<DataContainerGVO> implements HasDataGridMethods {
List<DataContainerGVO> list = null;
private final static String CONTENT_HTML ="html";
private final static String CONTENT_LINK ="link";
private final static String CONTENT_CHECKBOX ="checkbox";
private final static String CONTENT_STRING ="string";
public QCellTable(DataGridGVO gvo, String uuid, String parent){
setSize(gvo.getWidth(),gvo.getHeight());
String context = gvo.getContext();
String window = gvo.getWindow();
String component =gvo.getId();
Column<DataContainerGVO,String> [] columns = null;
if (gvo!=null){
if (gvo.getColumns()!=null){
int gvoColSize= gvo.getColumns().length;
columns = new Column[gvoColSize];
for (int i=0;i<gvoColSize;i++){
final String columnName= gvo.getColumns()[i].getFieldName();
String contentType = gvo.getColumns()[i].getContent();
if (CONTENT_STRING.equals(contentType)){
if (gvo.getColumns()[i].getComponent()!=null){
ComponentGVO c = gvo.getColumns()[i].getComponent();
if (c instanceof ButtonGVO){
ButtonGVO bc = (ButtonGVO)c;
columns[i] = new QButtonColumn<DataContainerGVO>(uuid,context,window,component,gvo.getColumns()[i].getId(),parent,gvo.getColumns()[i].getTooltip(), gvo.getColumns()[i],bc) {
@Override
public String getValue(DataContainerGVO map) {
return map.getDataMap().get(columnName)!=null ? map.getDataMap().get(columnName).toString(): null;
}
};
}
} else {
columns[i] = new TextColumn<DataContainerGVO>() {
@Override
public String getValue(DataContainerGVO map) {
return map.getDataMap().get(columnName)!=null ? map.getDataMap().get(columnName).toString(): null;
}
};
}
} else if (CONTENT_LINK.equals(contentType)){
columns[i] = new LinkColumn<DataContainerGVO>(uuid,context,window,component,gvo.getColumns()[i].getId(),parent,gvo.getColumns()[i].getTooltip(), gvo.getColumns()[i]) {
@Override
public String getValue(DataContainerGVO map) {
return map.getDataMap().get(columnName)!=null ? map.getDataMap().get(columnName).toString(): null;
}
};
}
if (columns[i]!=null){
if (gvo.getColumns()[i].getSortable()!=null && gvo.getColumns()[i].getSortable().booleanValue()){
//columns[i].
}
addColumn(columns[i],gvo.getColumns()[i].getDisplayname());
}
}
}
ListDataProvider<DataContainerGVO> adapter = new ListDataProvider<DataContainerGVO>();
list = adapter.getList();
if (gvo.getPageSize()!=null){
if (gvo.getPageSize()>0){
setPageSize(gvo.getPageSize());
}
}
SelectionModel<DataContainerGVO> selectionModel = null;
if (gvo.getMultipleSelect()!=null && gvo.getMultipleSelect().booleanValue()){
selectionModel = new MultiSelectionModel<DataContainerGVO>();
} else {
selectionModel = new SingleSelectionModel<DataContainerGVO>();
}
setSelectionModel(selectionModel);
adapter.addDataDisplay(this);
setPageStart(0);
}
}
public void setDelete(Boolean bool) {
// TODO Auto-generated method stub
}
public void setAdd(Boolean bool) {
// TODO Auto-generated method stub
}
public void setShowAll(Boolean bool) {
// TODO Auto-generated method stub
}
public void setExport(Boolean bool) {
// TODO Auto-generated method stub
}
public boolean isEditable() {
// TODO Auto-generated method stub
return false;
}
public void setEditable(boolean value) {
// TODO Auto-generated method stub
}
public void insertData(int i, DataContainerGVO map, Boolean append, String senderId,
String listenerType) {
// TODO Auto-generated method stub
}
// public void insertDataRow(List<String> listOfDataMap, Boolean append,
// String senderId, String listenerType) {
// // TODO Auto-generated method stub
//
// }
// public void insertData(List<DataContainerGVO> listOfDataMap, Boolean append,
// String senderId, String listenerType) {
// if (listOfDataMap!=null){
// if (getRowCount()>0){
// list.clear();
// }
// //setRowData(0, listOfDataMap);
// list.addAll(listOfDataMap);
// //setCurrentPage(0);
//
// }
//
// }
public void setOverflow(Widget overflow) {
// TODO Auto-generated method stub
}
public Integer getMaxRows() {
// TODO Auto-generated method stub
return null;
}
public void setPageSize(Integer pageSize) {
super.setPageSize(pageSize);
}
public void setModified(boolean modified, int row, int column, String value) {
// TODO Auto-generated method stub
}
public void setModified(ColumnDefinition<DataMap, String> columnDefinition,
UIObject uiObject, DataMap rowValue, Object newValue) {
// TODO Auto-generated method stub
}
public void processActions(DataGridGVO gvo, String uuid, String parent) {
// TODO Auto-generated method stub
}
public void setup() {
// TODO Auto-generated method stub
}
public void selectRow(int rowNr) {
// TODO Auto-generated method stub
}
public int getCurrentPage() {
// TODO Auto-generated method stub
return 0;
}
public void setCurrentPage(int currentPage) {
// TODO Auto-generated method stub
}
public Object getData() {
if(getSelectionModel() instanceof SingleSelectionModel){
return (( SingleSelectionModel<DataContainerGVO>)getSelectionModel()).getSelectedObject();
} else if (getSelectionModel() instanceof MultiSelectionModel) {
return (( MultiSelectionModel<DataContainerGVO>)getSelectionModel()).getSelectedSet();
} else {
return null;
}
}
public void insertDataRow(List<String> listOfDataMap, Boolean append, String senderId, String listenerType) {
// TODO Auto-generated method stub
}
// public void insertData(List<DataContainerGVO> listOfDataMap, Boolean append, String senderId, String listenerType) {
// // TODO Auto-generated method stub
//
// }
public void setModified(ColumnDefinition<DataContainerGVO, String> columnDefinition, UIObject uiObject, DataContainerGVO rowValue, String newValue) {
// TODO Auto-generated method stub
}
public void setModified(ColumnDefinition<DataMap, String> columnDefinition,
UIObject uiObject, DataMap rowValue, Object newValue,
boolean changedByUser) {
// TODO Auto-generated method stub
}
public void insertData(List<DataContainerGVO> listOfDataMap,
Boolean append, String senderId, String listenerType) {
// TODO Auto-generated method stub
}
public void setModified(
ColumnDefinition<DataContainerGVO, String> columnDefinition,
UIObject uiObject, DataContainerGVO rowValue, Object newValue) {
// TODO Auto-generated method stub
}
public void setModified(
ColumnDefinition<DataContainerGVO, String> columnDefinition,
UIObject uiObject, DataContainerGVO rowValue, Object newValue,
boolean changedByUser) {
// TODO Auto-generated method stub
}
public void setDataToCell(DataContainerGVO valueToset, boolean b,
String senderId, String cellOnRowToSet) {
// TODO Auto-generated method stub
}
public void addToDropDownValuesForColumnList(String key,
SetValueGVO setValue) {
// TODO Auto-generated method stub
}
public int getRowIndex(String rowIndex) {
// TODO Auto-generated method stub
return 0;
}
public DataContainerGVO getRowValue(int rowIndex) {
// TODO Auto-generated method stub
return null;
}
public void setColumnVisible(String column, boolean value) {
// TODO Auto-generated method stub
}
public void setColumnLabel(String column, String value) {
// TODO Auto-generated method stub
}
public void setColumnValue(String columnName, DataContainerGVO value) {
// TODO Auto-generated method stub
}
public void setColumnValue(int rowIndex, String columnName, DataContainerGVO value) {
// TODO Auto-generated method stub
}
}