Пример #1
0
        public void GenerateFromCode(object parameter)
        {
            _window.CircuitTab.IsSelected = true;

            string code = Code;

            if (string.IsNullOrWhiteSpace(code))
            {
                return;
            }

            Parser parser = new Parser();

            try
            {
                Assembly         asmToBuild = parser.CompileForBuild(code);
                CircuitEvaluator eval       = CircuitEvaluator.GetInstance();

                Dictionary <string, List <MethodCode> > methods = parser.GetMethodsCodes(code);
                if (methods.Count > 0)
                {
                    Assembly asmToRun = parser.CompileForRun(code);
                    eval.LoadLibMethods(asmToRun);
                    eval.LoadParserMethods(asmToBuild);
                    eval.LoadMethodsCodes(methods);
                }
                Dictionary <string, List <MethodInfo> > dict = eval.GetExtensionGates();
                CompositeTools = dict.Keys.ToList();
                PropertiesPane.LoadParametrics(dict);

                ComputerModel generatedModel = parser.BuildModel(asmToBuild);
                InitFromModel(generatedModel);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Пример #2
0
 private void Show_Properties(object sender, RoutedEventArgs e)
 {
     PropertiesPane.Show();
 }