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/CrosstabCellFlowLayoutEditPolicy.java
Object parentObj = parent.getModel( );
		Object source = child.getModel( );
		Object afterObj = after == null ? null : after.getModel( );
		Object childParent = child.getParent( ).getModel( );
		if (parentObj instanceof CrosstabCellAdapter && childParent instanceof CrosstabCellAdapter)
		{
			CrosstabCellAdapter childAdapter = (CrosstabCellAdapter)childParent;
			CrosstabCellAdapter parentAdapter = (CrosstabCellAdapter)parentObj;
			if (isFirstDataItem( childAdapter, child.getModel( ), ICrosstabCellAdapterFactory.CELL_FIRST_LEVEL_HANDLE )
				&& (ICrosstabCellAdapterFactory.CELL_FIRST_LEVEL_HANDLE.equals( parentAdapter.getPositionType( ) )
				|| ICrosstabCellAdapterFactory.CELL_LEVEL_HANDLE.equals( parentAdapter.getPositionType( )))
				)
			{
				if (afterObj != parentAdapter.getFirstDataItem( ))
				{
					afterObj = null;
				}
				if (childAdapter.getCrosstabCellHandle( ).getCrosstab( ) == parentAdapter.getCrosstabCellHandle( ).getCrosstab( ))
				{
					return new ChangeAreaCommand(parentAdapter.getDesignElementHandle( ), 
							childAdapter.getDesignElementHandle( ),(DesignElementHandle) DNDUtil.unwrapToModel( afterObj ) );
				}
				else
				{
					return UnexecutableCommand.INSTANCE;
				}
			}
			else if (isFirstDataItem( childAdapter, child.getModel( ), ICrosstabCellAdapterFactory.CELL_MEASURE )
					&& ICrosstabCellAdapterFactory.CELL_MEASURE.equals( parentAdapter.getPositionType( ) ))
				{