Ejemplo n.º 1
0
        protected override IEnumerable <IDataModel> PopulateChildren()
        {
            var models = new List <IDataModel>();

            if (Node == null)
            {
                return(models);
            }

            foreach (var item in analysis.Run(((TreeViewX)Node.TreeView).App, CancellationToken.Value))
            {
                if (item is AnalysisError)
                {
                    models.Add(new ErrorModel(((AnalysisError)item).Message));
                }
                else
                {
                    var analyses = analysis.GetChildAnalyses(item).ToArray();
                    if (analyses.Length == 1)
                    {
                        models.Add(new AnalysisModel(analyses[0], false));
                    }
                    else
                    {
                        models.Add(new MultipleAnalysesModel((IFullName)item, analyses));
                    }
                }
            }
            models.Sort((a, b) => Comparer <string> .Default.Compare(a.Text, b.Text));
            return(models);
        }