Bug 182000 Cross tab layout behavior
In the current approach of cross tab layout view, the arrow is associated with the first data item in the cell. - User cannot delete measure and level data items which have arrow with them. -Wenbin has concerns with the approach, as this will make the UI very restrictive. - Also user may want to delete data item and just show image in a cross tab cell. We had a discussion with Bang, and he has revised the mockups for the layout - The idea is that the arrow is associated with the cross tab cell and not data item. Let us know if there are any issues with supporting this.
xtab/org.eclipse.birt.report.item.crosstab.ui/src/org/eclipse/birt/report/item/crosstab/internal/ui/editors/editpolicies/VirtualCrosstabCellFlowLayoutEditPolicy.java
import org.eclipse.birt.report.model.api.olap.LevelHandle;
import org.eclipse.birt.report.model.api.olap.MeasureHandle;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.commands.UnexecutableCommand;
import org.eclipse.gef.requests.CreateRequest;
/**
 * 
 */
public class VirtualCrosstabCellFlowLayoutEditPolicy extends ReportFlowLayoutEditPolicy
{
	protected Command getCreateCommand( CreateRequest request )
	{
		
		
		Object model = this.getHost( ).getModel( );
		Object newObject = request.getExtendedData( ).get( DesignerConstants.KEY_NEWOBJECT );
		if (model instanceof VirtualCrosstabCellAdapter)
		{
			EditPart parent = getHost( ).getParent( );
			CrosstabHandleAdapter adapter  = ((CrosstabTableEditPart)parent).getCrosstabHandleAdapter( );
			int type = ((VirtualCrosstabCellAdapter)model).getType( );
			if (newObject instanceof DimensionHandle)
			{
				return new CreateDimensionViewCommand(adapter, type, (DimensionHandle)newObject);
			}
			if (newObject instanceof LevelHandle)
			{
				DimensionHandle dimensionHandle = CrosstabAdaptUtil.getDeDimensionHandle( (LevelHandle)newObject );
				CreateDimensionViewCommand command = new CreateDimensionViewCommand(adapter, type, dimensionHandle);