tabular-data-mainbox-widget/src/main/java/org/gcube/portlets/user/td/mainboxwidget/client/grid/GridHeaderColumnMenu.java

114 lines
4.4 KiB
Java

package org.gcube.portlets.user.td.mainboxwidget.client.grid;
import java.util.ArrayList;
import java.util.List;
import org.gcube.portlets.user.td.mainboxwidget.client.resources.MainboxResources;
import org.gcube.portlets.user.td.widgetcommonevent.shared.GridHeaderOperationId;
import com.sencha.gxt.widget.core.client.menu.MenuItem;
/**
* Defines the menu for column on the grid
*
* @author "Giancarlo Panichi"
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class GridHeaderColumnMenu {
protected final ArrayList<MenuItem> menuItems;
public GridHeaderColumnMenu() {
menuItems = new ArrayList<MenuItem>();
MenuItem changePositionItem = new MenuItem("Position Column");
changePositionItem.setId(GridHeaderOperationId.COLUMNPOSITION
.toString());
changePositionItem.setIcon(MainboxResources.INSTANCE.columnReorder());
menuItems.add(changePositionItem);
MenuItem changeLabelItem = new MenuItem("Labels");
changeLabelItem.setId(GridHeaderOperationId.COLUMNLABEL
.toString());
changeLabelItem.setIcon(MainboxResources.INSTANCE.columnLabel());
menuItems.add(changeLabelItem);
MenuItem addColumnItem = new MenuItem("Add Column");
addColumnItem.setId(GridHeaderOperationId.COLUMNADD.toString());
addColumnItem.setIcon(MainboxResources.INSTANCE.columnAdd());
menuItems.add(addColumnItem);
MenuItem deleteColumnItem = new MenuItem("Delete Column");
deleteColumnItem.setId(GridHeaderOperationId.COLUMNDELETE.toString());
deleteColumnItem.setIcon(MainboxResources.INSTANCE.columnDelete());
menuItems.add(deleteColumnItem);
MenuItem splitColumnItem = new MenuItem("Split Column");
splitColumnItem.setId(GridHeaderOperationId.COLUMNSPLIT.toString());
splitColumnItem.setIcon(MainboxResources.INSTANCE.columnSplit());
menuItems.add(splitColumnItem);
MenuItem mergeColumnItem = new MenuItem("Merge Column");
mergeColumnItem.setId(GridHeaderOperationId.COLUMNMERGE.toString());
mergeColumnItem.setIcon(MainboxResources.INSTANCE.columnMerge());
menuItems.add(mergeColumnItem);
MenuItem changeToTypeItem = new MenuItem("Column Type");
changeToTypeItem.setId(GridHeaderOperationId.COLUMNTYPE.toString());
changeToTypeItem.setIcon(MainboxResources.INSTANCE.columnType());
menuItems.add(changeToTypeItem);
MenuItem filterItem = new MenuItem("Filter");
filterItem.setId(GridHeaderOperationId.COLUMNFILTER.toString());
filterItem.setIcon(MainboxResources.INSTANCE.columnFilter());
menuItems.add(filterItem);
MenuItem replaceValueBatchItem = new MenuItem("Replace Batch");
replaceValueBatchItem.setId(GridHeaderOperationId.COLUMNBATCHREPLACE.toString());
replaceValueBatchItem.setIcon(MainboxResources.INSTANCE.columnReplaceBatch());
menuItems.add(replaceValueBatchItem);
MenuItem replaceValueOnConditionItem = new MenuItem("Replace By Expression");
replaceValueOnConditionItem.setId(GridHeaderOperationId.COLUMNREPLACEBYEXPRESSION.toString());
replaceValueOnConditionItem.setIcon(MainboxResources.INSTANCE.columnReplaceByExpression());
menuItems.add(replaceValueOnConditionItem);
MenuItem replaceValueByExternalItem = new MenuItem("Replace By External");
replaceValueByExternalItem.setId(GridHeaderOperationId.COLUMNREPLACEBYEXTERNAL.toString());
replaceValueByExternalItem.setIcon(MainboxResources.INSTANCE.columnReplaceByExternal());
menuItems.add(replaceValueByExternalItem);
MenuItem downscaleCSquareItem = new MenuItem("Downscale C-Square");
downscaleCSquareItem.setId(GridHeaderOperationId.DOWNSCALECSQUARE.toString());
downscaleCSquareItem.setIcon(MainboxResources.INSTANCE.downscaleCSquare());
menuItems.add(replaceValueByExternalItem);
/*MenuItem newAnnotationColumnItem = new MenuItem("Annotation");
newAnnotationColumnItem.setId(GridHeaderOperationId.ANNOTATIONADD.toString());
newAnnotationColumnItem.setIcon(TabularDataResources.INSTANCE.annotationAdd());
menuItems.add(newAnnotationColumnItem);*/
/*MenuItem columnDuplicateValidationItem = new MenuItem("Duplicate Detection");
columnDuplicateValidationItem.setId(GridHeaderOperationId.DUPLICATEDETECTION.toString());
columnDuplicateValidationItem.setIcon(TabularDataResources.INSTANCE.tableDuplicateRows());
menuItems.add(columnDuplicateValidationItem);*/
}
/**
*
* @return the list of menu items to be added
*/
public List<MenuItem> getMenu() {
return menuItems;
}
}