public static float CalculateCellHeight(CGSize frame, IEntityCellContext context) { var descriptionHeight = GetDescriptionHeight(frame.Width, context); var result = GetHeaderHeight(frame, context.Entity) + descriptionHeight; return(result); }
private static float GetDescriptionHeight(nfloat frameWidth, IEntityCellContext context) { var textHeight = ScreenUtil.CalculateTextHeight( frameWidth - Gap * 2, context.FullDescription(), Theme.EntityDescriptionFont); var result = (!textHeight.EqualsF(0) ? Gap * 2 : 0) + (context.IsDescriptionExpanded ? textHeight : Math.Min(textHeight, DefaultDescriptionTextHeight)); return(result); }
public static string FullDescription(this IEntityCellContext context) { if (context.Description == null) { return(context.Entity.Description); } if (context.Entity.Description == null) { return(context.Description); } var result = string.Format( "{0}{1}{1}{2}", context.Description, Environment.NewLine, context.Entity.Description); return(result); }