Free cookie consent management tool by TermsFeed Policy Generator

source: branches/Breadcrumbs/HeuristicLab.ExtLibs/HeuristicLab.EPPlus/3.1.3/EPPlus-3.1.3/Drawing/Chart/ExcelLineChart.cs @ 11571

Last change on this file since 11571 was 9580, checked in by sforsten, 12 years ago

#1730:

  • added SymbolicDataAnalysisExpressionExcelFormatter
  • changed modifiers in SymbolicExpressionTreeChart of methods SaveImageAsBitmap and SaveImageAsEmf to public
  • added menu item ExportSymbolicSolutionToExcelMenuItem to export a symbolic solution to an excel file
  • added EPPlus-3.1.3 to ExtLibs
File size: 5.4 KB
Line 
1/*******************************************************************************
2 * You may amend and distribute as you like, but don't remove this header!
3 *
4 * EPPlus provides server-side generation of Excel 2007/2010 spreadsheets.
5 * See http://www.codeplex.com/EPPlus for details.
6 *
7 * Copyright (C) 2011  Jan Källman
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
17 * See the GNU Lesser General Public License for more details.
18 *
19 * The GNU Lesser General Public License can be viewed at http://www.opensource.org/licenses/lgpl-license.php
20 * If you unfamiliar with this license or have questions about it, here is an http://www.gnu.org/licenses/gpl-faq.html
21 *
22 * All code and executables are provided "as is" with no warranty either express or implied.
23 * The author accepts no liability for any damage or loss of business that this product may cause.
24 *
25 * Code change notes:
26 *
27 * Author             Change            Date
28 * ******************************************************************************
29 * Jan Källman    Initial Release           2009-10-01
30 * Jan Källman    License changed GPL-->LGPL 2011-12-16
31 *******************************************************************************/
32using System;
33using System.Collections.Generic;
34using System.Text;
35using System.Xml;
36using System.IO.Packaging;
37using OfficeOpenXml.Table.PivotTable;
38
39namespace OfficeOpenXml.Drawing.Chart
40{
41    /// <summary>
42    /// Provides access to line chart specific properties
43    /// </summary>
44    public class ExcelLineChart : ExcelChart
45    {
46        #region "Constructors"
47        internal ExcelLineChart(ExcelDrawings drawings, XmlNode node, Uri uriChart, PackagePart part, XmlDocument chartXml, XmlNode chartNode) :
48            base(drawings, node, uriChart, part, chartXml, chartNode)
49        {
50        }
51
52        internal ExcelLineChart(ExcelChart topChart, XmlNode chartNode) :
53            base(topChart, chartNode)
54        {
55        }
56        internal ExcelLineChart(ExcelDrawings drawings, XmlNode node, eChartType type, ExcelChart topChart, ExcelPivotTable PivotTableSource) :
57            base(drawings, node, type, topChart, PivotTableSource)
58        {
59            Smooth = false;
60        }
61        #endregion
62        string MARKER_PATH="c:marker/@val";
63        /// <summary>
64        /// If the series has markers
65        /// </summary>
66        public bool Marker
67        {
68            get
69            {
70                return _chartXmlHelper.GetXmlNodeBool(MARKER_PATH, false);
71            }
72            set
73            {
74                _chartXmlHelper.SetXmlNodeBool(MARKER_PATH, value, false);
75            }
76        }
77
78        string SMOOTH_PATH = "c:smooth/@val";
79        /// <summary>
80        /// If the series has smooth lines
81        /// </summary>
82        public bool Smooth
83        {
84            get
85            {
86                return _chartXmlHelper.GetXmlNodeBool(SMOOTH_PATH, false);
87            }
88            set
89            {
90                _chartXmlHelper.SetXmlNodeBool(SMOOTH_PATH, value);
91            }
92        }
93        //string _chartTopPath = "c:chartSpace/c:chart/c:plotArea/{0}";
94        ExcelChartDataLabel _DataLabel = null;
95        /// <summary>
96        /// Access to datalabel properties
97        /// </summary>
98        public ExcelChartDataLabel DataLabel
99        {
100            get
101            {
102                if (_DataLabel == null)
103                {
104                    _DataLabel = new ExcelChartDataLabel(NameSpaceManager, ChartNode);
105                }
106                return _DataLabel;
107            }
108        }
109        internal override eChartType GetChartType(string name)
110        {
111               if(name=="lineChart")
112               {
113                   if(Marker)
114                   {
115                       if(Grouping==eGrouping.Stacked)
116                       {
117                           return eChartType.LineMarkersStacked;
118                       }
119                       else if (Grouping == eGrouping.PercentStacked)
120                       {
121                           return eChartType.LineMarkersStacked100;
122                       }
123                       else
124                       {
125                           return eChartType.LineMarkers;
126                       }
127                   }
128                   else
129                   {
130                       if(Grouping==eGrouping.Stacked)
131                       {
132                           return eChartType.LineStacked;
133                       }
134                       else if (Grouping == eGrouping.PercentStacked)
135                       {
136                           return eChartType.LineStacked100;
137                       }
138                       else
139                       {
140                           return eChartType.Line;
141                       }
142                   }
143               }
144               else if (name=="line3DChart")
145               {
146                   return eChartType.Line3D;               
147               }
148               return base.GetChartType(name);
149        }
150    }
151}
Note: See TracBrowser for help on using the repository browser.