Beispiel #1
0
        public void AddParam()
        {
            ParameterInfo[] infos = _candidates[_methodIndex].GetParameters();
            ParameterInfo   info  = infos.Last();

            Type   type       = info.ParameterType.GetElementType();
            int    parNum     = _parameters.Length - infos.Length + 2;
            string oldParName = _paramsNames[_methodIndex].Last();
            string prefix     = oldParName.Split('[')[0];
            string parName    = prefix + "[" + parNum + "]";

            ParameterVM toAdd = new ParameterVM(parName, type, null, false, true);

            List <string> parNamesList = _paramsNames[_methodIndex].ToList();

            parNamesList.Add(parName);
            _paramsNames[_methodIndex] = parNamesList.ToArray();

            List <ParameterVM> parList = _parameters.ToList();

            parList.Add(toAdd);
            _parameters = parList.ToArray();

            OnPropertyChanged("Parameters");
        }
Beispiel #2
0
        private void PopulateParams()
        {
            if (_candidates != null)
            {
                ParameterInfo[] infos = _candidates[_methodIndex].GetParameters();

                _parameters = new ParameterVM[infos.Length - 1];

                for (int i = 1; i < infos.Length; i++)
                {
                    Type type        = infos[i].ParameterType;
                    bool paramsArray = (i == infos.Length - 1 && _hasParamArray[_methodIndex]);
                    if (paramsArray)
                    {
                        _parameters[i - 1] = new ParameterVM(_paramsNames[_methodIndex][i], type.GetElementType(), null, true, true);
                    }
                    else
                    {
                        _parameters[i - 1] = new ParameterVM(_paramsNames[_methodIndex][i], type);
                    }
                }
            }
            else // Composite Gate
            {
                _parameters    = new ParameterVM[1];
                _parameters[0] = new ParameterVM(_paramsNames[_methodIndex][1], typeof(QuantumParser.Register));
            }
        }
Beispiel #3
0
 // only for design
 public OutputGridVM()
 {
     _selectedRegister = new ParameterVM("register", typeof(QuantumParser.Register));
 }
        private void PopulateParams()
        {
            if (_allParametrics.ContainsKey(_name))
            {
                ParameterInfo[] infos = _candidates[_methodIndex].GetParameters();
                List<ParameterVM> parList = new List<ParameterVM>();

                for (int i = 1; i < infos.Length; i++)
                {
                    Type type = infos[i].ParameterType;
                    bool paramsArray = (i == infos.Length - 1 && _hasParamArray[_methodIndex]);
                    object value = null;
                    if (_paramsValues[_methodIndex] != null)
                    {
                        if (paramsArray)
                        {
                            IEnumerable pars = _paramsValues[_methodIndex][i] as IEnumerable;
                            int parNum = 0;
                            bool first = true;
                            foreach (var item in pars)
                            {
                                string oldParName = _paramsNames[_methodIndex][i];
                                string prefix = oldParName.Split('[')[0];
                                string parName = prefix + "[" + parNum + "]";
                                parNum++;
                                ParameterVM toAdd = new ParameterVM(parName, type.GetElementType(), item, first, true);
                                toAdd.PropertyChanged += parameter_PropertyChanged;
                                parList.Add(toAdd);
                                first = false;
                            }
                        }
                        else
                        {
                            value = _paramsValues[_methodIndex][i];
                            ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type, value);
                            toAdd.PropertyChanged += parameter_PropertyChanged;
                            parList.Add(toAdd);
                        }
                    }
                    else
                    {
                        if (paramsArray)
                        {
                            ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type.GetElementType(), null, true, true);
                            toAdd.PropertyChanged += parameter_PropertyChanged;
                            parList.Add(toAdd);
                        }
                        else
                        {
                            ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type);
                            toAdd.PropertyChanged += parameter_PropertyChanged;
                            parList.Add(toAdd);
                        }
                    }
                }
                _parameters = parList.ToArray();
            }
            else // Composite Gate
            {
                object value = _paramsValues[0][1];
                _parameters = new ParameterVM[1];
                ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][1], typeof(QuantumParser.Register), value);
                toAdd.PropertyChanged += parameter_PropertyChanged;
                _parameters[0] = toAdd;
            }
        }
        public void AddParam()
        {
            ParameterInfo[] infos = _candidates[_methodIndex].GetParameters();
            ParameterInfo info = infos.Last();

            Type type = info.ParameterType.GetElementType();
            int parNum = _parameters.Length - infos.Length + 2;
            string oldParName = _paramsNames[_methodIndex].Last();
            string prefix = oldParName.Split('[')[0];
            string parName = prefix + "[" + parNum + "]";

            ParameterVM toAdd = new ParameterVM(parName, type, null, false, true);
            toAdd.PropertyChanged += parameter_PropertyChanged;

            List<string> parNamesList = _paramsNames[_methodIndex].ToList();
            parNamesList.Add(parName);
            _paramsNames[_methodIndex] = parNamesList.ToArray();

            List<ParameterVM> parList = _parameters.ToList();
            parList.Add(toAdd);
            _parameters = parList.ToArray();

            OnPropertyChanged("Parameters");
        }
Beispiel #6
0
        private void PopulateParams()
        {
            if (_allParametrics.ContainsKey(_name))
            {
                ParameterInfo[]    infos   = _candidates[_methodIndex].GetParameters();
                List <ParameterVM> parList = new List <ParameterVM>();

                for (int i = 1; i < infos.Length; i++)
                {
                    Type   type        = infos[i].ParameterType;
                    bool   paramsArray = (i == infos.Length - 1 && _hasParamArray[_methodIndex]);
                    object value       = null;
                    if (_paramsValues[_methodIndex] != null)
                    {
                        if (paramsArray)
                        {
                            IEnumerable pars   = _paramsValues[_methodIndex][i] as IEnumerable;
                            int         parNum = 0;
                            bool        first  = true;
                            foreach (var item in pars)
                            {
                                string oldParName = _paramsNames[_methodIndex][i];
                                string prefix     = oldParName.Split('[')[0];
                                string parName    = prefix + "[" + parNum + "]";
                                parNum++;
                                ParameterVM toAdd = new ParameterVM(parName, type.GetElementType(), item, first, true);
                                toAdd.PropertyChanged += parameter_PropertyChanged;
                                parList.Add(toAdd);
                                first = false;
                            }
                        }
                        else
                        {
                            value = _paramsValues[_methodIndex][i];
                            ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type, value);
                            toAdd.PropertyChanged += parameter_PropertyChanged;
                            parList.Add(toAdd);
                        }
                    }
                    else
                    {
                        if (paramsArray)
                        {
                            ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type.GetElementType(), null, true, true);
                            toAdd.PropertyChanged += parameter_PropertyChanged;
                            parList.Add(toAdd);
                        }
                        else
                        {
                            ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type);
                            toAdd.PropertyChanged += parameter_PropertyChanged;
                            parList.Add(toAdd);
                        }
                    }
                }
                _parameters = parList.ToArray();
            }
            else // Composite Gate
            {
                object value = _paramsValues[0][1];
                _parameters = new ParameterVM[1];
                ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][1], typeof(QuantumParser.Register), value);
                toAdd.PropertyChanged += parameter_PropertyChanged;
                _parameters[0]         = toAdd;
            }
        }
        private void PopulateParams()
        {
            if (_candidates != null)
            {
                ParameterInfo[] infos = _candidates[_methodIndex].GetParameters();

                _parameters = new ParameterVM[infos.Length - 1];

                for (int i = 1; i < infos.Length; i++)
                {
                    Type type = infos[i].ParameterType;
                    bool paramsArray = (i == infos.Length - 1 && _hasParamArray[_methodIndex]);
                    if (paramsArray)
                    {
                        _parameters[i - 1] = new ParameterVM(_paramsNames[_methodIndex][i], type.GetElementType(), null, true, true);
                    }
                    else
                    {
                        _parameters[i - 1] = new ParameterVM(_paramsNames[_methodIndex][i], type);
                    }
                }
            }
            else // Composite Gate
            {
                _parameters = new ParameterVM[1];
                _parameters[0] = new ParameterVM(_paramsNames[_methodIndex][1], typeof(QuantumParser.Register));
            }
        }
 // only for design
 public OutputGridVM()
 {
     _selectedRegister = new ParameterVM("register", typeof(QuantumParser.Register));
 }