/// <summary> /// Creates a 'TextArea' to be displayed. You can specify /// <see cref="withRoundedCorners"/> to make the text area border rounded. /// </summary> /// <param name="parentColumnWidths">parentColumnWidths</param> /// <param name="title">title</param> /// <param name="textAreaText">textAreaText</param> /// <param name="defaultColumnWidth">defaultColumnWidth</param> /// <param name="textAreaPadding">textAreaPadding</param> /// <param name="withInternalBlankRow">withInternalBlankRow</param> /// <param name="withRoundedCorners">withRoundedCorners</param> public void CreateTextAreaCell( string parentColumnWidths, string title, string textAreaText, string defaultColumnWidth = DefaultTextAreaColumnWidth, Generator.MarginInfo textAreaPadding = null, bool withInternalBlankRow = false, bool withRoundedCorners = false) { // parent housing table var textAreaTable = CreateOuterTable( parentColumnWidths, Properties.Resources.ArialFont, DefaultHeadingTwoFontSize, DefaultOuterPadding, keepContentTogether: true); // nested table to correlate label & text area. var nestedTable = AddNestedTable( textAreaTable, defaultColumnWidth, Properties.Resources.ArialFont, DefaultHeadingTwoFontSize, isKeptTogether: true, isKeptWithNext: true); // Label Area formatting var parentTableLabelRow = nestedTable.Rows.Add(); parentTableLabelRow.IsBroken = false; var inputColor = new Generator.Color(Properties.Resources.GreyColor); parentTableLabelRow.DefaultCellTextInfo.IsTrueTypeFontBold = true; parentTableLabelRow.DefaultCellTextInfo.Color = inputColor; parentTableLabelRow.DefaultCellTextInfo.LineSpacing = TextAreaLineSpacing; var labelCell = parentTableLabelRow.Cells.Add(title); labelCell.Padding = textAreaPadding ?? DefaultTextAreaLabelPadding; // Text Area formatting var textAreaInnerTable = CreateInnerTable( Properties.Resources.DefaultFullWidth, fontSize: DefaultHeadingTwoFontSize, parentTable: textAreaTable, keepContentTogether: true, // in some circumstances, a blank row has to be created like this, in order to separate elements. padding: withInternalBlankRow ? HeadingWithNoSubHeadingPadding : null); textAreaInnerTable.BackgroundColor = new Generator.Color(Properties.Resources.InnerTableColor); var textAreaInnerTableRow = textAreaInnerTable.Rows.Add(); var textAreaCell = textAreaInnerTableRow.Cells.Add(textAreaText); textAreaCell.Padding = textAreaPadding ?? DefaultTextAreaDescriptionPadding; CreateStandardOrRoundedCornersBorder(withRoundedCorners, textAreaInnerTable); }
/// <summary> /// Creates an 'Outer Table Row'. You can optionally specify a <see cref="columnSpan"/>. /// Everything else must be supplied. /// </summary> /// <param name="row">row</param> /// <param name="title">title</param> /// <param name="fullDescription">fullDescription</param> /// <param name="columnSpan">columnSpan</param> /// <param name="padding">padding</param> /// <param name="descriptionAlignment">descriptionAlignment</param> /// <param name="useSpacing">useSpacing</param> public void CreateOuterTableRowCells( Generator.Row row, string title, string fullDescription, int columnSpan = DefaultHeaderColumnSpan, Generator.MarginInfo padding = null, AlignmentType descriptionAlignment = AlignmentType.Left, bool useSpacing = false) { var labelCell = row.Cells.Add(title); var descriptionColor = new Generator.Color(Properties.Resources.GreyColor); labelCell.DefaultCellTextInfo.Color = descriptionColor; labelCell.DefaultCellTextInfo.FontSize = DefaultHeadingTwoFontSize; labelCell.DefaultCellTextInfo.IsTrueTypeFontBold = true; var descriptionCell = row.Cells.Add(fullDescription); descriptionCell.DefaultCellTextInfo.FontName = Properties.Resources.ArialFont; descriptionCell.DefaultCellTextInfo.FontSize = DefaultHeadingTwoFontSize; descriptionCell.DefaultCellTextInfo.Color = descriptionColor; descriptionCell.Alignment = descriptionAlignment; if (useSpacing) { labelCell.DefaultCellTextInfo.LineSpacing = DefaultLineSpacing; descriptionCell.DefaultCellTextInfo.LineSpacing = DefaultLineSpacing; } if (padding != null) { labelCell.Padding = padding; descriptionCell.Padding = padding; } }