private string GetRowSeparator(VerticalBorder verticalBorder) { var rowSeparator = new StringBuilder(); rowSeparator.Append(Settings.TableSymbols.GetBorderSymbol(HorizontalBorder.Left, verticalBorder).ToString()); for (var column = 0; column < _columnLengths.Count(); column++) { rowSeparator.Append(new string(Settings.TableSymbols.HorizontalTableFieldBorder, _columnLengths[column])); var horizontalBorder = column == _table.ColumnCount - 1 ? HorizontalBorder.Right : HorizontalBorder.Center; rowSeparator.Append(Settings.TableSymbols.GetBorderSymbol(horizontalBorder, verticalBorder)); } return(rowSeparator.ToString()); }
internal VerticalBorder ToVerticalBorder() { VerticalBorder border = new VerticalBorder(); if (HasColor) { border.Color = this.clrReal.ToSpreadsheetColor(); } if (HasBorderStyle) { border.Style = this.BorderStyle; } return(border); }
public virtual char GetBorderSymbol(HorizontalBorder horizontalBorder, VerticalBorder verticalBorder) { if (horizontalBorder == HorizontalBorder.Left && verticalBorder == VerticalBorder.Top) { return(TopLeftCorner); } if (horizontalBorder == HorizontalBorder.Left && verticalBorder == VerticalBorder.Center) { return(LeftRowSeperator); } if (horizontalBorder == HorizontalBorder.Left && verticalBorder == VerticalBorder.Bottom) { return(BottomLeftCorner); } if (horizontalBorder == HorizontalBorder.Center && verticalBorder == VerticalBorder.Top) { return(TopColumnSeperator); } if (horizontalBorder == HorizontalBorder.Center && verticalBorder == VerticalBorder.Center) { return(TableFieldCorner); } if (horizontalBorder == HorizontalBorder.Center && verticalBorder == VerticalBorder.Bottom) { return(BottomColumnSeperator); } if (horizontalBorder == HorizontalBorder.Right && verticalBorder == VerticalBorder.Top) { return(TopRightCorner); } if (horizontalBorder == HorizontalBorder.Right && verticalBorder == VerticalBorder.Center) { return(RightRowSeperator); } return(BottomRightCorner); }
internal void FromBorderPropertiesType(VerticalBorder border) { if (border.Color != null) { this.clrReal = new SLColor(this.listThemeColors, this.listIndexedColors); this.clrReal.FromSpreadsheetColor(border.Color); HasColor = !this.clrReal.IsEmpty(); } else { RemoveColor(); } if (border.Style != null) { this.BorderStyle = border.Style.Value; } else { RemoveBorderStyle(); } }
/// <summary> /// Form a DocumentFormat.OpenXml.Spreadsheet.Border class from SLBorder. /// </summary> /// <returns>A DocumentFormat.OpenXml.Spreadsheet.Border with the properties of this SLBorder class.</returns> public Border ToBorder() { Sync(); var border = new Border(); // by "default" always have left, right, top, bottom and diagonal borders, even if empty? border.LeftBorder = LeftBorder.ToLeftBorder(); border.RightBorder = RightBorder.ToRightBorder(); border.TopBorder = TopBorder.ToTopBorder(); border.BottomBorder = BottomBorder.ToBottomBorder(); border.DiagonalBorder = DiagonalBorder.ToDiagonalBorder(); if (HasVerticalBorder) { border.VerticalBorder = VerticalBorder.ToVerticalBorder(); } if (HasHorizontalBorder) { border.HorizontalBorder = HorizontalBorder.ToHorizontalBorder(); } if (DiagonalUp != null) { border.DiagonalUp = DiagonalUp.Value; } if (DiagonalDown != null) { border.DiagonalDown = DiagonalDown.Value; } // default is true. So set property only if false // This reduces tag attributes if ((Outline != null) && !Outline.Value) { border.Outline = false; } return(border); }
internal VerticalBorder ToVerticalBorder() { VerticalBorder border = new VerticalBorder(); if (HasColor) border.Color = this.clrReal.ToSpreadsheetColor(); if (HasBorderStyle) border.Style = this.BorderStyle; return border; }
internal void FromBorderPropertiesType(VerticalBorder border) { if (border.Color != null) { this.clrReal = new SLColor(this.listThemeColors, this.listIndexedColors); this.clrReal.FromSpreadsheetColor(border.Color); HasColor = !this.clrReal.IsEmpty(); } else { RemoveColor(); } if (border.Style != null) this.BorderStyle = border.Style.Value; else RemoveBorderStyle(); }
/// <summary> /// Set the vertical border with a border style and a theme color, modifying the theme color with a tint value. /// </summary> /// <param name="BorderStyle">The border style. Default is none.</param> /// <param name="BorderColor">The theme color to be used.</param> /// <param name="Tint"> /// The tint applied to the theme color, ranging from -1.0 to 1.0. Negative tints darken the theme color /// and positive tints lighten the theme color. /// </param> public void SetVerticalBorder(BorderStyleValues BorderStyle, SLThemeColorIndexValues BorderColor, double Tint) { VerticalBorder.BorderStyle = BorderStyle; VerticalBorder.SetBorderThemeColor(BorderColor, Tint); }