/******************************************************************************* * You may amend and distribute as you like, but don't remove this header! * * EPPlus provides server-side generation of Excel 2007/2010 spreadsheets. * See http://www.codeplex.com/EPPlus for details. * * Copyright (C) 2011 Jan Källman * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Lesser General Public License for more details. * * The GNU Lesser General Public License can be viewed at http://www.opensource.org/licenses/lgpl-license.php * If you unfamiliar with this license or have questions about it, here is an http://www.gnu.org/licenses/gpl-faq.html * * All code and executables are provided "as is" with no warranty either express or implied. * The author accepts no liability for any damage or loss of business that this product may cause. * * Code change notes: * * Author Change Date * ****************************************************************************** * Jan Källman Initial Release 2009-10-01 * Jan Källman License changed GPL-->LGPL 2011-12-16 *******************************************************************************/ using System; using System.Collections.Generic; using System.Text; namespace OfficeOpenXml.Style { /// /// Border line style /// public enum ExcelBorderStyle { None, Hair, Dotted, DashDot, Thin, DashDotDot, Dashed, MediumDashDotDot, MediumDashed, MediumDashDot, Thick, Medium, Double }; /// /// Horizontal text alignment /// public enum ExcelHorizontalAlignment { General, Left, Center, CenterContinuous, Right, Fill, Distributed, Justify } /// /// Vertical text alignment /// public enum ExcelVerticalAlignment { Top, Center, Bottom, Distributed, Justify } /// /// Font-Vertical Align /// public enum ExcelVerticalAlignmentFont { None, Subscript, Superscript } /// /// Font-Underlinestyle for /// public enum ExcelUnderLineType { None, Single, Double, SingleAccounting, DoubleAccounting } /// /// Fill pattern /// public enum ExcelFillStyle { None, Solid, DarkGray, MediumGray, LightGray, Gray125, Gray0625, DarkVertical, DarkHorizontal, DarkDown, DarkUp, DarkGrid, DarkTrellis, LightVertical, LightHorizontal, LightDown, LightUp, LightGrid, LightTrellis } /// /// Type of gradient fill /// public enum ExcelFillGradientType { /// /// No gradient fill. /// None, /// /// This gradient fill is of linear gradient type. Linear gradient type means that the transition from one color to the next is along a line (e.g., horizontal, vertical,diagonal, etc.) /// Linear, /// /// This gradient fill is of path gradient type. Path gradient type means the that the boundary of transition from one color to the next is a rectangle, defined by top,bottom, left, and right attributes on the gradientFill element. /// Path } /// /// The reading order /// public enum ExcelReadingOrder { /// /// Reading order is determined by scanning the text for the first non-whitespace character: if it is a strong right-to-left character, the reading order is right-to-left; otherwise, the reading order left-to-right. /// ContextDependent=0, /// /// Left to Right /// LeftToRight=1, /// /// Right to Left /// RightToLeft=2 } public abstract class StyleBase { protected ExcelStyles _styles; internal OfficeOpenXml.XmlHelper.ChangedEventHandler _ChangedEvent; protected int _positionID; protected string _address; internal StyleBase(ExcelStyles styles, OfficeOpenXml.XmlHelper.ChangedEventHandler ChangedEvent, int PositionID, string Address) { _styles = styles; _ChangedEvent = ChangedEvent; _address = Address; _positionID = PositionID; } internal int Index { get; set;} internal abstract string Id {get;} internal virtual void SetIndex(int index) { Index = index; } } }