コード例 #1
0
        internal static WorksheetRangeStyle DistinctStyle(WorksheetRangeStyle style, WorksheetRangeStyle referStyle)
        {
            if (style == null || style.Flag == PlainStyleFlag.None)
            {
                return(null);
            }
            if (referStyle == null || referStyle.Flag == PlainStyleFlag.None)
            {
                return(new WorksheetRangeStyle(style));
            }

            //var returnStyle = new WorksheetRangeStyle(style);
            var distinctedFlag = CheckDistinctStyle(style, referStyle);

            if (distinctedFlag == PlainStyleFlag.None)
            {
                return(null);
            }
            else
            {
                var distinctedStyle = new WorksheetRangeStyle();
                StyleUtility.CopyStyle(style, distinctedStyle, distinctedFlag);
                return(distinctedStyle);
            }
        }
コード例 #2
0
ファイル: StyleUtility.cs プロジェクト: datadiode/ReoGrid
        internal static PlainStyleFlag CheckDistinctStyle(WorksheetRangeStyle style, WorksheetRangeStyle referStyle)
        {
            if (style == null || style.Flag == PlainStyleFlag.None)
            {
                return(PlainStyleFlag.None);
            }
            if (referStyle == null || referStyle.Flag == PlainStyleFlag.None)
            {
                return(PlainStyleFlag.None);
            }

            //var returnStyle = new WorksheetRangeStyle(style);
            var distinctedFlag = style.Flag;

            if (StyleUtility.HasStyle(style, PlainStyleFlag.FillPatternColor) &&
                style.FillPatternColor == referStyle.FillPatternColor)
            {
                distinctedFlag &= ~PlainStyleFlag.FillPatternColor;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.FillPatternStyle) &&
                style.FillPatternStyle == referStyle.FillPatternStyle)
            {
                distinctedFlag &= ~PlainStyleFlag.FillPatternStyle;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.BackColor) &&
                style.BackColor == referStyle.BackColor)
            {
                distinctedFlag &= ~PlainStyleFlag.BackColor;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.TextColor) &&
                style.TextColor == referStyle.TextColor)
            {
                distinctedFlag &= ~PlainStyleFlag.TextColor;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontName) &&
                style.FontName == referStyle.FontName)
            {
                distinctedFlag &= ~PlainStyleFlag.FontName;
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontSize) &&
                style.FontSize == referStyle.FontSize)
            {
                distinctedFlag &= ~PlainStyleFlag.FontSize;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontStyleBold) &&
                style.Bold == referStyle.Bold)
            {
                distinctedFlag &= ~PlainStyleFlag.FontStyleBold;
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontStyleItalic) &&
                style.Italic == referStyle.Italic)
            {
                distinctedFlag &= ~PlainStyleFlag.FontStyleItalic;
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontStyleStrikethrough) &&
                style.Strikethrough == referStyle.Strikethrough)
            {
                distinctedFlag &= ~PlainStyleFlag.FontStyleStrikethrough;
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontStyleUnderline) &&
                style.Underline == referStyle.Underline)
            {
                distinctedFlag &= ~PlainStyleFlag.FontStyleUnderline;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.HorizontalAlign) &&
                style.HAlign == referStyle.HAlign)
            {
                distinctedFlag &= ~PlainStyleFlag.HorizontalAlign;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.VerticalAlign) &&
                style.VAlign == referStyle.VAlign)
            {
                distinctedFlag &= ~PlainStyleFlag.VerticalAlign;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.TextWrap) &&
                style.TextWrapMode == referStyle.TextWrapMode)
            {
                distinctedFlag &= ~PlainStyleFlag.TextWrap;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.Indent) &&
                style.Indent == referStyle.Indent)
            {
                distinctedFlag &= ~PlainStyleFlag.Indent;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.Padding) &&
                style.Padding == referStyle.Padding)
            {
                distinctedFlag &= ~PlainStyleFlag.Padding;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.RotationAngle) &&
                style.RotationAngle == referStyle.RotationAngle)
            {
                distinctedFlag &= ~PlainStyleFlag.RotationAngle;
            }

            return(distinctedFlag);
        }
コード例 #3
0
ファイル: StyleUtility.cs プロジェクト: datadiode/ReoGrid
        internal static RGXmlCellStyle ConvertToXmlStyle(WorksheetRangeStyle style)
        {
            if (style == null || style.Flag == PlainStyleFlag.None)
            {
                return(null);
            }

            RGXmlCellStyle xmlStyle = new RGXmlCellStyle();

            if (StyleUtility.HasStyle(style, PlainStyleFlag.BackColor))
            {
                xmlStyle.backColor = TextFormatHelper.EncodeColor(style.BackColor);
            }

            if (HasStyle(style, PlainStyleFlag.FillPattern))
            {
                RGXmlCellStyleFillPattern xmlFillPattern = new RGXmlCellStyleFillPattern()
                {
                    color          = TextFormatHelper.EncodeColor(style.FillPatternColor),
                    patternStyleId = (int)style.FillPatternStyle,
                };
                xmlStyle.fillPattern = xmlFillPattern;
            }

            if (StyleUtility.HasStyle(style, PlainStyleFlag.TextColor))
            {
                xmlStyle.textColor = TextFormatHelper.EncodeColor(style.TextColor);
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontName))
            {
                xmlStyle.font = style.FontName;
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontSize))
            {
                xmlStyle.fontSize = style.FontSize.ToString();
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontStyleBold))
            {
                xmlStyle.bold = style.Bold.ToString().ToLower();
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontStyleItalic))
            {
                xmlStyle.italic = style.Italic.ToString().ToLower();
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontStyleStrikethrough))
            {
                xmlStyle.strikethrough = style.Strikethrough.ToString().ToLower();
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.FontStyleUnderline))
            {
                xmlStyle.underline = style.Underline.ToString().ToLower();
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.HorizontalAlign))
            {
                xmlStyle.hAlign = XmlFileFormatHelper.EncodeHorizontalAlign(style.HAlign);
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.VerticalAlign))
            {
                xmlStyle.vAlign = XmlFileFormatHelper.EncodeVerticalAlign(style.VAlign);
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.TextWrap))
            {
                xmlStyle.textWrap = XmlFileFormatHelper.EncodeTextWrapMode(style.TextWrapMode);
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.Indent))
            {
                xmlStyle.indent = style.Indent.ToString();
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.Padding))
            {
                xmlStyle.padding = TextFormatHelper.EncodePadding(style.Padding);
            }
            if (StyleUtility.HasStyle(style, PlainStyleFlag.RotationAngle))
            {
                xmlStyle.rotateAngle = style.RotationAngle.ToString();
            }

            return(xmlStyle);
        }