예제 #1
0
        private static string verticalAlignmentClass(EwfTableFieldOrItemSetup row, EwfTableFieldOrItemSetup column)
        {
            // NOTE: Think about whether the row or the column should win.
            var alignments = new[] { row.VerticalAlignment, column.VerticalAlignment };

            return((from i in alignments select TableCellVerticalAlignmentOps.Class(i)).FirstOrDefault(i => i.Length > 0) ?? "");
        }
예제 #2
0
        private static string textAlignmentClass(EwfTableCell cell, EwfTableFieldOrItemSetup row, EwfTableFieldOrItemSetup column)
        {
            // NOTE: Think about whether the row or the column should win if nothing is specified on the cell.
            var alignments = new[] { cell.TextAlignment, row.TextAlignment, column.TextAlignment };

            return((from i in alignments select TextAlignmentStatics.Class(i)).FirstOrDefault(i => i.Length > 0) ?? "");
        }
        /// <summary>
        /// Creates an item setup object.
        /// </summary>
        /// <param name="classes">The CSS class(es). When used on a column, sets the class on every cell since most styles don't work on col elements.</param>
        /// <param name="size">The height or width. For an EWF table, this is the row height. For a column primary table, this is the column width. If you specify
        /// percentage widths for some or all columns in a table, these values need not add up to 100; they will be automatically scaled if necessary. The automatic
        /// scaling will not happen if there are any columns without a specified width.</param>
        /// <param name="textAlignment">The text alignment of the cells in this item.</param>
        /// <param name="verticalAlignment">The vertical alignment of the cells in this item.</param>
        /// <param name="clickScript">The click script.</param>
        /// <param name="toolTip">The tool tip to display. Setting ToolTipControl will ignore this property. Do not pass null.</param>
        /// <param name="toolTipControl">The control to display inside the tool tip. This will ignore the ToolTip property.</param>
        /// <param name="tableLevelItemActions">The list of table level item actions. Each item must have either a null list or a list with the same actions in the
        /// same order as all other items in the table.</param>
        /// <param name="groupLevelItemActions">The list of group level item actions. Each item must have either a null list or a list with the same actions in the
        /// same order as all other items in the group.</param>
        /// <param name="rankId">
        /// The rank ID for this item. Swapping will be enabled for all items that have a non null rank ID. Setting this on at least one item of a table adds a
        /// column on the right of the table containing controls to move each item up or down the list. This consumes a small amount of table width.
        /// </param>
        // NOTE: Change the Tuples to named types here.
        public EwfTableItemSetup(IEnumerable <string> classes = null, Unit?size = null, TextAlignment textAlignment = TextAlignment.NotSpecified,
                                 TableCellVerticalAlignment verticalAlignment = TableCellVerticalAlignment.NotSpecified, ClickScript clickScript = null,
                                 string toolTip = "", Control toolTipControl = null, IEnumerable <Tuple <string, Action> > tableLevelItemActions = null,
                                 IEnumerable <Tuple <string, Action> > groupLevelItemActions = null, int?rankId = null)
        {
            FieldOrItemSetup = new EwfTableFieldOrItemSetup(classes, size, textAlignment, verticalAlignment, clickScript, toolTip, toolTipControl);

            if (tableLevelItemActions != null)
            {
                var tableLevelItemActionList = tableLevelItemActions.ToList();
                if (!tableLevelItemActionList.Any())
                {
                    throw new ApplicationException();
                }
                TableLevelItemActions = tableLevelItemActionList.AsReadOnly();
            }

            if (groupLevelItemActions != null)
            {
                var groupLevelItemActionList = groupLevelItemActions.ToList();
                if (!groupLevelItemActionList.Any())
                {
                    throw new ApplicationException();
                }
                GroupLevelItemActions = groupLevelItemActionList.AsReadOnly();
            }

            RankId = rankId;
        }
예제 #4
0
        internal static WebControl GetColControl(EwfTableFieldOrItemSetup fieldOrItemSetup, double columnWidthFactor)
        {
            var width = fieldOrItemSetup.Size;

            return(new WebControl(HtmlTextWriterTag.Col)
            {
                Width = !width.IsEmpty && width.Type == UnitType.Percentage ? Unit.Percentage(width.Value * columnWidthFactor) : width
            });
        }
 /// <summary>
 /// Creates a table field.
 /// </summary>
 /// <param name="classes">The CSS class(es). When used on a column, sets the class on every cell since most styles don't work on col elements.</param>
 /// <param name="size">The height or width. For an EWF table, this is the column width. For a column primary table, this is the row height. If you specify
 /// percentage widths for some or all columns in a table, these values need not add up to 100; they will be automatically scaled if necessary. The automatic
 /// scaling will not happen if there are any columns without a specified width.</param>
 /// <param name="textAlignment">The text alignment of the cells in this field.</param>
 /// <param name="verticalAlignment">The vertical alignment of the cells in this field.</param>
 /// <param name="clickScript">The click script.</param>
 /// <param name="toolTip">The tool tip to display. Setting ToolTipControl will ignore this property. Do not pass null.</param>
 /// <param name="toolTipControl">The control to display inside the tool tip. This will ignore the ToolTip property.</param>
 public EwfTableField(IEnumerable <string> classes = null, Unit?size = null, TextAlignment textAlignment = TextAlignment.NotSpecified,
                      TableCellVerticalAlignment verticalAlignment = TableCellVerticalAlignment.NotSpecified, ClickScript clickScript = null,
                      string toolTip = "", Control toolTipControl = null)
 {
     FieldOrItemSetup = new EwfTableFieldOrItemSetup(classes, size, textAlignment, verticalAlignment, clickScript, toolTip, toolTipControl);
 }