Example #1
0
        private void CalcStats(StatsMode mode)
        {
            fListStats.SetColumnCaption(0, LangMan.LS(GKData.StatsTitles[(int)mode].Cap));
            fListStats.SetColumnCaption(1, LangMan.LS(LSID.LSID_Value));

            fListStats.SortOrder  = SortOrder.None;
            fListStats.SortColumn = -1;
            fListStats.Sorting    = true;

            fListStats.BeginUpdate();
            List <StatsItem> vals = new List <StatsItem>();

            try {
                fTreeStats.GetSpecStats(mode, vals);
                fCurrentValues = vals;

                fListStats.ClearItems();
                foreach (StatsItem lv in vals)
                {
                    string stVal = lv.GetDisplayString();
                    fListStats.AddItem(null, lv.Caption, stVal);
                }
            } finally {
                fListStats.EndUpdate();
            }

            fChartTitle = LangMan.LS(GKData.StatsTitles[(int)mode].Title);

            switch (mode)
            {
            case StatsMode.smAge:
                fChartXTitle = LangMan.LS(LSID.LSID_Age);
                fChartYTitle = LangMan.LS(LSID.LSID_People);
                PrepareArray(ChartStyle.Point, true);
                break;

            case StatsMode.smLifeExpectancy:
                fChartXTitle = LangMan.LS(LSID.LSID_LifeExpectancy);
                fChartYTitle = LangMan.LS(LSID.LSID_People);
                PrepareArray(ChartStyle.Point, true);
                break;

            case StatsMode.smBirthYears:
            case StatsMode.smBirthTenYears:
            case StatsMode.smDeathYears:
            case StatsMode.smDeathTenYears:
            {
                switch (mode)
                {
                case StatsMode.smBirthYears:
                case StatsMode.smDeathYears:
                    fChartXTitle = LangMan.LS(LSID.LSID_Years);
                    break;

                case StatsMode.smBirthTenYears:
                case StatsMode.smDeathTenYears:
                    fChartXTitle = LangMan.LS(LSID.LSID_Decennial);
                    break;
                }

                switch (mode)
                {
                case StatsMode.smBirthYears:
                case StatsMode.smBirthTenYears:
                    fChartYTitle = LangMan.LS(LSID.LSID_HowBirthes);
                    break;

                case StatsMode.smDeathYears:
                case StatsMode.smDeathTenYears:
                    fChartYTitle = LangMan.LS(LSID.LSID_HowDeads);
                    break;
                }

                PrepareArray(ChartStyle.Point, true);
                break;
            }

            case StatsMode.smChildsDistribution:
                fChartXTitle = LangMan.LS(LSID.LSID_Childs);
                fChartYTitle = LangMan.LS(LSID.LSID_Parents);
                PrepareArray(ChartStyle.Bar, true);
                break;

            case StatsMode.smCertaintyIndex:
                fChartXTitle = LangMan.LS(LSID.LSID_CertaintyIndex);
                fChartYTitle = LangMan.LS(LSID.LSID_People);
                PrepareArray(ChartStyle.Bar, true);
                break;

            case StatsMode.smBirthByMonth:
                fChartXTitle = LangMan.LS(LSID.LSID_Month);
                fChartYTitle = LangMan.LS(LSID.LSID_People);
                PrepareArray(ChartStyle.Bar, true);
                break;

            case StatsMode.smDemography:
                fChartXTitle = LangMan.LS(LSID.LSID_LifeExpectancy);
                fChartYTitle = LangMan.LS(LSID.LSID_People);
                PrepareArray(ChartStyle.ClusterBar, true, vals);
                break;

            default:
                fGraph.Clear();
                break;
            }
        }