public ThermodynamicSystemEditorViewModel(IEventAggregator aggregator, ThermodynamicSystemEntity source, IThermodynamicSystemImporter importer, IChartViewModelFactory chartFactory)
        {
            _aggregator   = aggregator;
            _source       = source;
            _importer     = importer;
            _chartFactory = chartFactory;
            _aggregator.Subscribe(this);
            ScriptDocument = new TextDocument(_source.SourceCode);

            var types = Enum.GetValues(typeof(EvaluatedProperties));

            foreach (var type in types.OfType <EvaluatedProperties>())
            {
                AvailableFunctionTypes.Add(type);
            }
            ParseInputFile();
        }
        public ThermodynamicSystemEditorViewModel(IEventAggregator aggregator, ThermodynamicSystem source, IThermodynamicSystemImporter importer, IChartViewModelFactory chartFactory)
        {
            _aggregator = aggregator;
            //  _source = new ThermodynamicSystemEntity(source.Name);
            CurrentSystem = source;
            _importer     = importer;
            _chartFactory = chartFactory;
            _aggregator.Subscribe(this);
            //ScriptDocument = new TextDocument(_source.SourceCode);

            var types = Enum.GetValues(typeof(EvaluatedProperties));

            foreach (var type in types.OfType <EvaluatedProperties>())
            {
                AvailableFunctionTypes.Add(type);
            }
            // ParseInputFile();
            ComponentsForPureAnalysis = CurrentSystem.Components.Select(c => new CheckableComponent()
            {
                Data = c
            }).ToList();
        }