示例#1
0
        /// <summary>
        /// 添加一个系列到列表中。
        /// </summary>
        /// <param name="serieName"></param>
        /// <param name="type"></param>
        /// <param name="show"></param>
        /// <returns></returns>
        public Serie AddSerie(SerieType type, string serieName, bool show = true)
        {
            var serie = new Serie();

            serie.type  = type;
            serie.show  = show;
            serie.name  = serieName;
            serie.index = m_Series.Count;

            if (type == SerieType.Scatter)
            {
                serie.symbol.type         = SerieSymbolType.Circle;
                serie.symbol.size         = 20f;
                serie.symbol.selectedSize = 30f;
            }
            else if (type == SerieType.Line)
            {
                serie.symbol.type         = SerieSymbolType.EmptyCircle;
                serie.symbol.size         = 2.5f;
                serie.symbol.selectedSize = 5f;
            }
            else
            {
                serie.symbol.type = SerieSymbolType.None;
            }
            serie.animation.Reset();
            m_Series.Add(serie);
            return(serie);
        }
示例#2
0
        /// <summary>
        /// 是否时百分比堆叠
        /// </summary>
        /// <param name="stackName"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        internal bool IsPercentStack(string stackName, SerieType type)
        {
            if (string.IsNullOrEmpty(stackName))
            {
                return(false);
            }
            int  count          = 0;
            bool isPercentStack = false;

            foreach (var serie in m_Series)
            {
                if (serie.show && serie.type == type)
                {
                    if (stackName.Equals(serie.stack))
                    {
                        count++;
                        if (serie.barPercentStack)
                        {
                            isPercentStack = true;
                        }
                    }
                    if (count >= 2 && isPercentStack)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
示例#3
0
 public IdDoc_CompFisc(TipoCFEType tipoCFE, SerieType SerieNumero, FechaType FchEmis, FechaType PeriodoDesde, FechaType PeriodoHasta, bool MntBruto, FormasDePagoType FmaPago, FechaType FchVenc, string ClauVenta, ViaTranspType ViaTransp)
     : this(tipoCFE, SerieNumero, FchEmis, FmaPago, PeriodoDesde, PeriodoHasta, MntBruto, FchVenc)
 {
     this.ClauVenta = ClauVenta;
     this.ModVenta  = null;
     this.ViaTransp = ViaTransp;
 }
示例#4
0
        public static void AddDefaultSerie(BaseChart chart, SerieType serieType, string serieName)
        {
            switch (serieType)
            {
            case SerieType.Line: AddDefaultLineSerie(chart, serieName); break;

            case SerieType.Bar: AddDefaultBarSerie(chart, serieName); break;

            case SerieType.Pie: AddDefaultPieSerie(chart, serieName); break;

            case SerieType.Radar: AddDefaultRadarSerie(chart, serieName); break;

            case SerieType.Scatter: AddDefaultScatterSerie(chart, serieName); break;

            case SerieType.EffectScatter: AddDefaultEffectScatterSerie(chart, serieName); break;

            case SerieType.Heatmap: AddDefaultHeatmapSerie(chart, serieName); break;

            case SerieType.Liquid: AddDefaultLiquidSerie(chart, serieName); break;

            case SerieType.Gauge: AddDefaultGaugeSerie(chart, serieName); break;

            case SerieType.Ring: AddDefaultRingSerie(chart, serieName); break;

            default: Debug.LogError("AddDefaultSerie: not support serieType yet:" + serieType); break;
            }
        }
示例#5
0
 public IdDoc_CompFisc(TipoCFEType tipoCFE, SerieType SerieNumero, FechaType FchEmis, TipoTrasladoType TipoTraslado, string ClauVenta, ModVentaType ModVenta, ViaTranspType ViaTrasnp)
     : this(tipoCFE, SerieNumero, FchEmis, TipoTraslado)
 {
     this.ClauVenta = ClauVenta;
     this.ModVenta  = ModVenta;
     this.ViaTransp = ViaTrasnp;
 }
示例#6
0
        /// <summary>
        /// 添加一个系列到列表中。
        /// </summary>
        /// <param name="serieName"></param>
        /// <param name="type"></param>
        /// <param name="show"></param>
        /// <returns></returns>
        public Serie AddSerie(SerieType type, string serieName, bool show = true)
        {
            var serie = new Serie();

            serie.type  = type;
            serie.show  = show;
            serie.name  = serieName;
            serie.index = m_Series.Count;

            if (type == SerieType.Scatter)
            {
                serie.symbol.show = true;
                serie.symbol.type = SerieSymbolType.Circle;
            }
            else if (type == SerieType.Line)
            {
                serie.symbol.show = true;
                serie.symbol.type = SerieSymbolType.EmptyCircle;
            }
            else
            {
                serie.symbol.show = false;
            }
            serie.animation.Restart();
            m_Series.Add(serie);
            SetVerticesDirty();
            return(serie);
        }
        private float GetStackBarWidth(float categoryWidth, Serie now, SerieType type)
        {
            if (string.IsNullOrEmpty(now.stack))
            {
                return(now.GetBarWidth(categoryWidth));
            }
            float barWidth = 0;

            for (int i = 0; i < m_Series.Count; i++)
            {
                var serie = m_Series.list[i];
                if ((serie.type == type) &&
                    serie.show && now.stack.Equals(serie.stack))
                {
                    if (serie.barWidth > barWidth)
                    {
                        barWidth = serie.barWidth;
                    }
                }
            }
            if (barWidth > 1)
            {
                return(barWidth);
            }
            else
            {
                return(barWidth * categoryWidth);
            }
        }
示例#8
0
        public static bool IsSerieLegend(Series series, string legendName, SerieType type)
        {
            foreach (var serie in series.list)
            {
                if (serie.type == type)
                {
                    switch (serie.type)
                    {
                    case SerieType.Pie:
                    case SerieType.Radar:
                    case SerieType.Ring:
                        foreach (var serieData in serie.data)
                        {
                            if (legendName.Equals(serieData.name))
                            {
                                return(true);
                            }
                        }
                        break;

                    default:
                        if (legendName.Equals(serie.name))
                        {
                            return(true);
                        }
                        break;
                    }
                }
            }
            return(false);
        }
示例#9
0
        /// <summary>
        /// 是否时百分比堆叠
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        internal static bool IsPercentStack(Series series, SerieType type)
        {
            int  count          = 0;
            bool isPercentStack = false;

            foreach (var serie in series.list)
            {
                if (serie.show && serie.type == type)
                {
                    if (!string.IsNullOrEmpty(serie.stack))
                    {
                        count++;
                        if (serie.barPercentStack)
                        {
                            isPercentStack = true;
                        }
                    }
                    if (count >= 2 && isPercentStack)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
        public void CanCorrectlyGenerateNextEpisodesStreamWithoutCachedStreams(SerieType serieType, string expected, int?season)
        {
            ISerie serie = new Serie(0, "TestMovie", new Progress(0, 1, season), 0, serieType.ToString(), string.Empty, string.Empty);

            string actual = streamManagerSUT.GenerateNextEpisodeStream(serie, new List <IStreamItem>());

            Assert.AreEqual(expected, actual);
        }
示例#11
0
 protected void BlockListField(bool all, SerieType serieType, params SerializedProperty[] props)
 {
     if (!m_Chart.ContainsSerie(serieType))
     {
         return;
     }
     BlockListField(all, props);
 }
        public void CanCorrectlyGenerateNextEpisodesStreamWithoutCachedStreams(SerieType serieType, string expected, int? season)
        {
            ISerie serie = new Serie(0, "TestMovie", new Progress(0, 1, season), 0, serieType.ToString(), string.Empty, string.Empty);

            string actual = streamManagerSUT.GenerateNextEpisodeStream(serie, new List<IStreamItem>());

            Assert.AreEqual(expected, actual);
        }
示例#13
0
 public IdDoc_CompFisc(TipoCFEType tipoCFE, SerieType SerieNumero, FechaType FchEmis, FormasDePagoType FmaPago, FechaType PeriodoDesde, FechaType PeriodoHasta, bool MntBruto, FechaType FchVenc)
     : this(tipoCFE, SerieNumero)
 {
     this.FchEmis      = FchEmis;
     this.PeriodoDesde = PeriodoDesde;
     this.PeriodoHasta = PeriodoHasta;
     this.MntBruto     = MntBruto;
     this.FmaPago      = FmaPago;
     this.FchVenc      = FchVenc;
 }
示例#14
0
 internal static bool ContainsSerie(Series series, SerieType type)
 {
     foreach (var serie in series.list)
     {
         if (serie.type == type)
         {
             return(true);
         }
     }
     return(false);
 }
示例#15
0
 public bool Contains(SerieType type)
 {
     foreach (var serie in m_Series)
     {
         if (serie.type == type)
         {
             return(true);
         }
     }
     return(false);
 }
示例#16
0
        public static void UpdateDataZoomRuntimeStartEndValue(CoordinateChart chart, SerieType serieType)
        {
            foreach (var dataZoom in chart.dataZooms)
            {
                if (!dataZoom.enable)
                {
                    continue;
                }
                double min = double.MaxValue;
                double max = double.MinValue;
                foreach (var serie in chart.series.list)
                {
                    if (!serie.show || serie.type != serieType)
                    {
                        continue;
                    }
                    if (!dataZoom.IsContainsXAxis(serie.xAxisIndex))
                    {
                        continue;
                    }
                    var axis = chart.GetXAxis(serie.xAxisIndex);

                    if (axis.minMaxType == Axis.AxisMinMaxType.Custom)
                    {
                        if (axis.min < min)
                        {
                            min = axis.min;
                        }
                        if (axis.max > max)
                        {
                            max = axis.max;
                        }
                    }
                    else
                    {
                        double serieMinValue = 0;
                        double serieMaxValue = 0;
                        SerieHelper.GetMinMaxData(serie, out serieMinValue, out serieMaxValue, null, 2);
                        if (serieMinValue < min)
                        {
                            min = serieMinValue;
                        }
                        if (serieMaxValue > max)
                        {
                            max = serieMaxValue;
                        }
                    }
                }
                dataZoom.runtimeStartValue = min + (max - min) * dataZoom.start / 100;
                dataZoom.runtimeEndValue   = min + (max - min) * dataZoom.end / 100;
            }
        }
示例#17
0
        public static bool IsSerieLegend(BaseChart chart, string legendName, SerieType type)
        {
            foreach (var serie in chart.series.list)
            {
                if (serie.type == type)
                {
                    switch (serie.type)
                    {
                    case SerieType.Pie:
                    case SerieType.Radar:
                    case SerieType.Ring:
                        foreach (var serieData in serie.data)
                        {
                            if (legendName.Equals(serieData.name))
                            {
                                return(true);
                            }
                        }
                        break;

                    case SerieType.Custom:
                        if (chart.GetCustomSerieDataNameForColor())
                        {
                            foreach (var serieData in serie.data)
                            {
                                if (legendName.Equals(serieData.name))
                                {
                                    return(true);
                                }
                            }
                        }
                        else
                        {
                            if (legendName.Equals(serie.name))
                            {
                                return(true);
                            }
                        }
                        break;

                    default:
                        if (legendName.Equals(serie.name))
                        {
                            return(true);
                        }
                        break;
                    }
                }
            }
            return(false);
        }
示例#18
0
 public bool IsStack(string stackName, SerieType type)
 {
     if (string.IsNullOrEmpty(stackName)) return false;
     int count = 0;
     foreach (var serie in m_Series)
     {
         if (serie.show && serie.type == type)
         {
             if (stackName.Equals(serie.stack)) count++;
             if (count >= 2) return true;
         }
     }
     return false;
 }
        public float Internal_GetBarGap(SerieType type)
        {
            float gap = 0f;

            for (int i = 0; i < m_Series.Count; i++)
            {
                var serie = m_Series.list[i];
                if (serie.type == type)
                {
                    if (serie.barGap != 0)
                    {
                        gap = serie.barGap;
                    }
                }
            }
            return(gap);
        }
示例#20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                txtPeriodoDesde.Text      = DateTime.Today.ToString();
                txtPeriodoHasta.Text      = DateTime.Today.ToString();
                txtFchVenc.Text           = DateTime.Today.ToString();
                ddlTipoCFE.DataSource     = TiposDeCFE;
                ddlTipoCFE.DataTextField  = "Nombre";
                ddlTipoCFE.DataValueField = "Id";
                ddlTipoCFE.DataBind();

                ddlModVenta.DataSource     = ModalidadesDeVenta;
                ddlModVenta.DataTextField  = "Nombre";
                ddlModVenta.DataValueField = "Id";
                ddlModVenta.DataBind();

                ddlTipoTraslado.DataSource     = FormasDePago;
                ddlTipoTraslado.DataTextField  = "Nombre";
                ddlTipoTraslado.DataValueField = "Id";
                ddlTipoTraslado.DataBind();

                ddlViaTransp.DataSource     = ViasDeTrasnporte;
                ddlViaTransp.DataTextField  = "Nombre";
                ddlViaTransp.DataValueField = "Id";
                ddlViaTransp.DataBind();

                ddlFmaPago.DataSource     = FormasDePago;
                ddlFmaPago.DataTextField  = "Nombre";
                ddlFmaPago.DataValueField = "Id";
                ddlFmaPago.DataBind();

                ControlItem_Fact.Visible         = false;
                ControlItem_Det_Fact_Exp.Visible = false;
                ControlItem_Rem_Exp.Visible      = false;
                ControlItem_Rem.Visible          = false;
                ControlItemResg.Visible          = false;
            }
            else
            {
                TipoCFEType          tpoCFE = LTipoCFEType.BuscarTipoCFE(Convert.ToInt32(ddlTipoCFE.SelectedValue));
                SerieType            serie  = new SerieType(tpoCFE, "A", 1);
                IdDoc.IdDoc_CompFisc idDoc  = new IdDoc.IdDoc_CompFisc(tpoCFE, serie);
                Session["IdDoc"] = idDoc;
            }
        }
        public float Internal_GetBarTotalWidth(float categoryWidth, float gap, SerieType type)
        {
            float total   = 0;
            float lastGap = 0;

            barStackSet.Clear();
            for (int i = 0; i < m_Series.Count; i++)
            {
                var serie = m_Series.list[i];
                if (!serie.show)
                {
                    continue;
                }
                if (serie.type == type)
                {
                    if (!string.IsNullOrEmpty(serie.stack))
                    {
                        if (barStackSet.Contains(serie.stack))
                        {
                            continue;
                        }
                        barStackSet.Add(serie.stack);
                    }
                    var width = GetStackBarWidth(categoryWidth, serie, type);
                    if (gap == -1)
                    {
                        if (width > total)
                        {
                            total = width;
                        }
                    }
                    else
                    {
                        lastGap = width * gap;
                        total  += width;
                        total  += lastGap;
                    }
                }
            }
            if (total > 0 && gap != -1)
            {
                total -= lastGap;
            }
            return(total);
        }
示例#22
0
        private Serie InsertSerie(int index, SerieType type, string serieName, bool show = true, bool addToHead = false)
        {
            var serie = new Serie();

            serie.type  = type;
            serie.show  = show;
            serie.name  = serieName;
            serie.index = m_Series.Count;

            if (type == SerieType.Scatter)
            {
                serie.symbol.show = true;
                serie.symbol.type = SerieSymbolType.Circle;
            }
            else if (type == SerieType.Line)
            {
                serie.symbol.show = true;
                serie.symbol.type = SerieSymbolType.EmptyCircle;
            }
            else
            {
                serie.symbol.show = false;
            }
            serie.AnimationRestart();
            if (addToHead)
            {
                m_Series.Insert(0, serie);
            }
            else if (index >= 0)
            {
                m_Series.Insert(index, serie);
            }
            else
            {
                m_Series.Add(serie);
            }
            for (int i = 0; i < m_Series.Count; i++)
            {
                m_Series[i].index = i;
            }
            SetVerticesDirty();
            return(serie);
        }
        public int Internal_GetBarIndex(Serie currSerie, SerieType type)
        {
            tempList.Clear();
            int index = 0;

            for (int i = 0; i < m_Series.Count; i++)
            {
                var serie = m_Series.GetSerie(i);
                if (serie.type != type)
                {
                    continue;
                }
                if (string.IsNullOrEmpty(serie.stack))
                {
                    if (serie.index == currSerie.index)
                    {
                        return(index);
                    }
                    tempList.Add(string.Empty);
                    index++;
                }
                else
                {
                    if (!tempList.Contains(serie.stack))
                    {
                        if (serie.index == currSerie.index)
                        {
                            return(index);
                        }
                        tempList.Add(serie.stack);
                        index++;
                    }
                    else
                    {
                        if (serie.index == currSerie.index)
                        {
                            return(tempList.IndexOf(serie.stack));
                        }
                    }
                }
            }
            return(0);
        }
        private void OnGUI()
        {
            if (chart == null)
            {
                Close();
                return;
            }
            var iconRect = new Rect(5, 10, position.width - 10, EditorGUIUtility.singleLineHeight);

            serieType   = (SerieType)EditorGUI.EnumPopup(iconRect, "Serie Type", serieType);
            iconRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
            serieName   = EditorGUI.TextField(iconRect, "Serie Name", serieName);
            iconRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;
            GUILayout.Space(iconRect.y + 5);
            if (GUILayout.Button("Add"))
            {
                SerieTemplate.AddDefaultSerie(chart, serieType, serieName);
                chart.RefreshAllComponent();
            }
        }
        public float Internal_GetBarSameStackTotalValue(string stack, int dataIndex, SerieType type)
        {
            if (string.IsNullOrEmpty(stack))
            {
                return(0);
            }
            float total = 0;

            foreach (var serie in m_Series.list)
            {
                if (serie.type == type)
                {
                    if (stack.Equals(serie.stack))
                    {
                        total += serie.data[dataIndex].data[1];
                    }
                }
            }
            return(total);
        }
示例#26
0
        public Serie AddSerie(string serieName, SerieType type, bool show = true)
        {
            var serie = GetSerie(serieName);

            if (serie == null)
            {
                serie       = new Serie();
                serie.type  = type;
                serie.show  = show;
                serie.name  = serieName;
                serie.yData = new List <float>();
                m_Series.Add(serie);
            }
            else
            {
                serie.type = type;
                serie.show = show;
            }
            return(serie);
        }
示例#27
0
        /// <summary>
        /// 是否堆叠
        /// </summary>
        /// <param name="stackName"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static bool IsStack(Series series, string stackName, SerieType type)
        {
            if (string.IsNullOrEmpty(stackName))
            {
                return(false);
            }
            int count = 0;

            foreach (var serie in series.list)
            {
                if (serie.show && (serie.type == type))
                {
                    if (stackName.Equals(serie.stack))
                    {
                        count++;
                    }
                    if (count >= 2)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
示例#28
0
        /// <summary>
        /// 是否堆叠
        /// </summary>
        /// <param name="stackName"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        internal bool IsStack(string stackName, SerieType type)
        {
            if (string.IsNullOrEmpty(stackName))
            {
                return(false);
            }
            int count = 0;

            foreach (var serie in m_Series)
            {
                if (serie.show && serie.type == type)
                {
                    if (stackName.Equals(serie.stack))
                    {
                        count++;
                    }
                    if (count >= 2)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
示例#29
0
        private void DrawData(Rect pos, SerializedProperty prop, SerieType serieType, ref Rect drawRect)
        {
            SerializedProperty m_Datas         = prop.FindPropertyRelative("m_Data");
            SerializedProperty m_DataDimension = prop.FindPropertyRelative("m_ShowDataDimension");
            SerializedProperty m_ShowDataName  = prop.FindPropertyRelative("m_ShowDataName");
            SerializedProperty m_ShowDataIcon  = prop.FindPropertyRelative("m_ShowDataIcon");
            int index = InitToggle(prop);

            drawRect.width       = EditorGUIUtility.labelWidth + 10;
            m_DataFoldout[index] = EditorGUI.Foldout(drawRect, m_DataFoldout[index], "Data");
            drawRect.width       = pos.width;

            AddSingleLineHeight();
            if (m_DataFoldout[index])
            {
                EditorGUI.indentLevel++;

                float nameWid = 45;
#if UNITY_2019_3_OR_NEWER
                var gap     = 2;
                var namegap = 3;
#else
                var gap     = 0;
                var namegap = 0;
#endif
                EditorGUI.PropertyField(new Rect(drawRect.x, drawRect.y, pos.width - 2 * nameWid - 2, pos.height), m_DataDimension);
                var nameRect = new Rect(pos.width - 2 * nameWid + 14 + gap, drawRect.y, nameWid - gap, pos.height);
                if (XChartsSettings.editorBlockEnable)
                {
                    nameRect.x += ChartEditorHelper.BLOCK_WIDTH;
                }
                if (GUI.Button(nameRect, new GUIContent("Name")))
                {
                    m_ShowDataName.boolValue = !m_ShowDataName.boolValue;
                }
                var iconRect = new Rect(pos.width - nameWid + 14, drawRect.y, nameWid + namegap, pos.height);
                if (XChartsSettings.editorBlockEnable)
                {
                    iconRect.x += ChartEditorHelper.BLOCK_WIDTH;
                }
                if (GUI.Button(iconRect, new GUIContent("More...")))
                {
                    m_ShowDataIcon.boolValue = !m_ShowDataIcon.boolValue;
                }
                AddSingleLineHeight();
                var listSize = m_Datas.arraySize;
                listSize = EditorGUI.IntField(drawRect, "Size", listSize);
                AddSingleLineHeight();

                if (listSize < 0)
                {
                    listSize = 0;
                }
                if (m_DataDimension.intValue < 1)
                {
                    m_DataDimension.intValue = 1;
                }
                int  dimension    = m_DataDimension.intValue;
                bool showName     = m_ShowDataName.boolValue;
                bool showIcon     = m_ShowDataIcon.boolValue;
                bool showSelected = (serieType == SerieType.Pie);
                if (listSize != m_Datas.arraySize)
                {
                    while (listSize > m_Datas.arraySize)
                    {
                        m_Datas.arraySize++;
                    }
                    while (listSize < m_Datas.arraySize)
                    {
                        m_Datas.arraySize--;
                    }
                }
                if (listSize > 30 && !XChartsSettings.editorShowAllListData)
                {
                    int num = listSize > 10 ? 10 : listSize;
                    for (int i = 0; i < num; i++)
                    {
                        DrawDataElement(ref drawRect, dimension, m_Datas, showName, showIcon, showSelected, i, pos.width);
                    }
                    if (num >= 10)
                    {
                        EditorGUI.LabelField(drawRect, "...");
                        AddSingleLineHeight();
                        DrawDataElement(ref drawRect, dimension, m_Datas, showName, showIcon, showSelected, listSize - 1, pos.width);
                    }
                }
                else
                {
                    for (int i = 0; i < m_Datas.arraySize; i++)
                    {
                        DrawDataElement(ref drawRect, dimension, m_Datas, showName, showIcon, showSelected, i, pos.width);
                    }
                }
                AddHeight(EditorGUIUtility.standardVerticalSpacing);
                EditorGUI.indentLevel--;
            }
        }
示例#30
0
 public bool ContainsSerie(SerieType serieType)
 {
     return(SeriesHelper.ContainsSerie(m_Series, serieType));
 }
示例#31
0
 /// <summary>
 /// Add a serie to serie list.
 /// 添加一个系列到系列列表中。
 /// </summary>
 /// <param name="serieName">the name of serie</param>
 /// <param name="type">the type of serie</param>
 /// <param name="show">whether to show this serie</param>
 /// <returns>the added serie</returns>
 public virtual Serie AddSerie(SerieType type, string serieName = null, bool show = true)
 {
     return(m_Series.AddSerie(type, serieName));
 }