Esempio n. 1
0
 // Properties
 ///<summary>
 ///Gets specific border.
 ///</summary>
 ///<param name="individualBorder">Border to get.</param>
 public CellBorder this[IndividualBorder individualBorder]
 {
     get
     {
         return(new CellBorder(this.parent, individualBorder));
     }
 }
Esempio n. 2
0
        internal static int IndexFromIndividualBorder(IndividualBorder individualBorder)
        {
            int num = (int)individualBorder;

            if (num == 5)
            {
                num = 4;
            }
            return(num);
        }
Esempio n. 3
0
 ///<summary>
 ///Sets specific line color and line style on multiple borders.
 ///</summary>
 ///<param name="multipleBorders">Borders to set.</param>
 ///<param name="lineColor">Border line color.</param>
 ///<param name="lineStyle">Border line style.</param>
 public void SetBorders(MultipleBorders multipleBorders, Color lineColor, LineStyle lineStyle)
 {
     for (int num1 = 0; num1 < 6; num1++)
     {
         IndividualBorder border1 = (IndividualBorder)num1;
         if ((multipleBorders & CellBorder.MultipleFromIndividualBorder(border1)) != MultipleBorders.None)
         {
             this[border1].SetBorder(lineColor, lineStyle);
         }
     }
 }
Esempio n. 4
0
 public void SetBorders(MultipleBorders multipleBorders, Color lineColor, LineStyle lineStyle)
 {
     for (int i = 0; i < 6; i++)
     {
         IndividualBorder individualBorder = (IndividualBorder)i;
         if ((multipleBorders & CellBorder.MultipleFromIndividualBorder(individualBorder)) != MultipleBorders.None)
         {
             this[individualBorder].SetBorder(lineColor, lineStyle);
         }
     }
 }
        public static CellBorders Apply(this CellBorders instance, IndividualBorder side, SpreadsheetBorder border)
        {
            if (border.Style is not null)
            {
                instance[side].LineStyle = SpreadsheetBorderStyleMapper.Map(border.Style.Value);
            }

            if (border.Color is not null)
            {
                instance[side].LineColor = border.Color.Value.ToDotNetColor();
            }

            return(instance);
        }
Esempio n. 6
0
        internal CellStyle StyleResolved(int row, int column)
        {
            if (this.IsStyleDefault)
            {
                return(null);
            }
            IndividualBorder[] borderArray = new IndividualBorder[4];
            int        num    = 0;
            CellBorder border = this.style.Borders[IndividualBorder.Bottom];

            if ((border.LineStyle != LineStyle.None) && (row < base.LastRowIndex))
            {
                borderArray[num++] = IndividualBorder.Bottom;
            }
            border = this.style.Borders[IndividualBorder.Top];
            if ((border.LineStyle != LineStyle.None) && (row > base.FirstRowIndex))
            {
                borderArray[num++] = IndividualBorder.Top;
            }
            border = this.style.Borders[IndividualBorder.Right];
            if ((border.LineStyle != LineStyle.None) && (column < base.LastColumnIndex))
            {
                borderArray[num++] = IndividualBorder.Right;
            }
            border = this.style.Borders[IndividualBorder.Left];
            if ((border.LineStyle != LineStyle.None) && (column > base.FirstColumnIndex))
            {
                borderArray[num++] = IndividualBorder.Left;
            }
            if (num == 0)
            {
                return(this.style);
            }
            CellStyle style = new CellStyle(this.style, this.style.Element.ParentCollection);

            for (int i = 0; i < num; i++)
            {
                style.Borders[borderArray[i]].SetBorder(Color.Empty, LineStyle.None);
            }
            return(style);
        }
Esempio n. 7
0
 internal static MultipleBorders MultipleFromIndividualBorder(IndividualBorder individualBorder)
 {
     return((MultipleBorders)(((int)1) << (int)individualBorder));
 }
Esempio n. 8
0
 internal CellBorder(CellStyle parent, IndividualBorder borderId)
 {
     this.parent      = parent;
     this.borderId    = borderId;
     this.borderIndex = IndexFromIndividualBorder(borderId);
 }
Esempio n. 9
0
 internal static MultipleBorders MultipleFromIndividualBorder(IndividualBorder individualBorder)
 {
     return((MultipleBorders)(((int)IndividualBorder.Bottom) << ((int)individualBorder & 0x1f)));
 }
Esempio n. 10
0
        private static void ResolveBorder(CellStyle bordersStyle, MergedCellRange mergedRange, IndividualBorder borderId, int row, int column, int rowInc, int colInc)
        {
            CellBorder border = bordersStyle.Borders[borderId];
            bool       flag   = true;

            while (row < mergedRange.Height)
            {
                if (column >= mergedRange.Width)
                {
                    return;
                }
                CellBorder border2 = mergedRange[row, column].Style.Borders[borderId];
                if (flag)
                {
                    border.LineStyle = border2.LineStyle;
                    border.LineColor = border2.LineColor;
                    flag             = false;
                }
                else if ((border2.LineStyle != border.LineStyle) || (border2.LineColor != border.LineColor))
                {
                    border.LineStyle = LineStyle.None;
                    border.LineColor = Color.Empty;
                    return;
                }
                row    += rowInc;
                column += colInc;
            }
        }