Exemplo n.º 1
0
        private void RunTSMath(string operation)
        {
            atcDataSource lNewSource = Utilities.TSMath.ComputeClicked(operation);

            if (!(lNewSource is null || lNewSource.DataSets.ToArray().Length == 0))
            {
                //create new dates to decouple from original time series
                var lTitle = lNewSource.ToString();
                var lgroup = new atcTimeseriesGroup();
                lgroup.AddRange(lNewSource.DataSets);
                atcDataManager.UserSelectDisplay(lTitle, lgroup);
            }
        }
Exemplo n.º 2
0
        private void OnTSMenuClickEventHandler(object sender, EventArgs e)
        {
            //The order in which menu entries are tested is significant
            var act = ((SimpleActionItem)sender).Caption;

            if (act == Utilities.TSToolDescription(ETSTool.LIST))
            {
                var plugin = new atcList.atcListPlugin();
                plugin.Show();
            }
            else if (act == Utilities.TSToolDescription(ETSTool.ATTRIBUTES))
            {
                /*
                 * var plugin = new atcSeasons.atcSeasonPlugin();
                 * plugin.CleanUpMode = IDataManagement.ECleanUpMode.CALCULATED;
                 * atcDataSource lNewSource = plugin.ComputeClicked(plugin.Category + "_Attributes");
                 * //plugin.ItemClicked("BasinsCompute_Seasons_Attributes_Timeseries::Seasons", ref handled);
                 * if (lNewSource != null && lNewSource.DataSets.Count > 0)
                 * {
                 *  ((atcSeasons.atcSeasonPlugin)lNewSource).CleanUpMode = IDataManagement.ECleanUpMode.CALCULATED;
                 *  string lTitle  = lNewSource.ToString();
                 *  atcDataManager.UserSelectDisplay(lTitle, ((atcSeasons.atcSeasonPlugin)lNewSource).DataSets);
                 * }
                 */
                var plugin = new atcSeasonalAttributes.atcSeasonalAttributesPlugin();
                plugin.Show(null);
            }
            else if (act == Utilities.TSToolDescription(ETSTool.GRAPH))
            {
                var plugin = new atcGraph.atcGraphPlugin();
                plugin.Show();
            }
            else if (act == Utilities.TSToolDescription(ETSTool.DATATREE))
            {
                var plugin = new atcDataTree.atcDataTreePlugin();
                plugin.Show();
            }
            else if (act == Utilities.TSToolDescription(ETSTool.TREND))
            {
                var plugin = new atcIDF.clsIDFPlugin();
                plugin.ShowFunction("Trend");
            }
            else if (act.Contains("Events"))
            {
                var plugin = new atcSynopticAnalysis.atcSynopticAnalysisPlugin();
                plugin.Show();
            }
            else if (act.Contains("Subset") && act.Contains("Filter"))
            {
                atcDataManager.UserSelectDataOptions.Add("ShowFilterOption", false);
                var lform = new frmFilterData();
                atcTimeseriesGroup processed = lform.AskUser((atcTimeseriesGroup)atcDataManager.UserSelectData());
                var spec = "Split Filter";
                if (processed != null && processed.Count > 0)
                {
                    var seasonSpec = processed[0].Attributes.GetValue("SeasonDefinition", null);
                    if (seasonSpec != null)
                    {
                        spec += ": " + seasonSpec.ToString();
                    }
                    atcDataManager.RemoveDataSource(spec);
                    var processedDS = new atcSeasons.atcSeasonPlugin();
                    processedDS.Specification = spec;
                    processedDS.DataSets.AddRange(processed);
                    atcDataManager.DataSources.Add(processedDS);
                }
            }
            else if (act.Contains("Subset") || act.Contains("Merge"))
            {
                RunTSMath(Utilities.TSMath.Category + "_Date_" + act);
            }
            else if (!(act.Contains("Subset") || act.Contains("Celsius") || act.Contains("Sum") || act.Contains("Merge")))
            {
                RunTSMath(Utilities.TSMath.Category + "_Math_" + act);
            }
        }