Пример #1
0
        public static float CalculateCellHeight(CGSize frame, IEntityCellContext context)
        {
            var descriptionHeight = GetDescriptionHeight(frame.Width, context);
            var result            =
                GetHeaderHeight(frame, context.Entity) +
                descriptionHeight;

            return(result);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }