Bug 181355 Cross tab layout behavior
- add a cross tab item - try to drag and drop a level from the cube( in data explorer ) into the cross tab layout Currently this is not supported. User can only drag dimension nodes. Expected behavior - User should be able to drag level nodes too, this should actually add dimension to the cross tabl row/column area
xtab/org.eclipse.birt.report.item.crosstab.ui/src/org/eclipse/birt/report/item/crosstab/internal/ui/editors/editpolicies/VirtualCrosstabCellFlowLayoutEditPolicy.java
Object parentObj = parent.getModel( );
		
		Object afterObj = after == null ? null : after.getModel( );
		Object childParent = child.getParent( ).getModel( );
		if (parentObj instanceof VirtualCrosstabCellAdapter && childParent instanceof CrosstabCellAdapter)
		{
			CrosstabCellAdapter childAdapter = (CrosstabCellAdapter)childParent;
			VirtualCrosstabCellAdapter parentAdapter = (VirtualCrosstabCellAdapter)parentObj;
			if (parentAdapter.getType( ) == VirtualCrosstabCellAdapter.IMMACULATE_TYPE
					|| parentAdapter.getType( ) == VirtualCrosstabCellAdapter.MEASURE_TYPE)
			{
				return UnexecutableCommand.INSTANCE;
			}
			if (ICrosstabCellAdapterFactory.CELL_FIRST_LEVEL_HANDLE.equals( childAdapter.getPositionType( )))
			{
				if (!(after instanceof FirstLevelHandleDataItemEditPart) )
				{
					afterObj = null;
				}
				ChangeAreaCommand command = new ChangeAreaCommand(parentAdapter.getDesignElementHandle( ), 
						childAdapter.getDesignElementHandle( ),(DesignElementHandle) DNDUtil.unwrapToModel( afterObj ) );
				
				command.setType( parentAdapter.getType( ) );
				return command;
			}
		}
		return UnexecutableCommand.INSTANCE;
	}
}