Example #1
0
        public void CreateParams(BaseFunction function)
        {
            var upDowns             = new List <ModifiedNumericUpDown>();
            var initialCoefficients = function.Coefficients.Reverse().ToArray();

            Controls.Clear();
            for (int i = 0; i < initialCoefficients.Length; i++)
            {
                var height    = 30 + 25 * (i + 1);
                var paramName = new Label
                {
                    Text     = paramNames[i],
                    Location = new Point(20, height),
                    AutoSize = true
                };
                var param = new ModifiedNumericUpDown(initialCoefficients.Length - 1 - i)
                {
                    Name     = i.ToString(CultureInfo.InvariantCulture),
                    Size     = new Size(60, 20),
                    Location = new Point(50, height),
                    Minimum  = -9999,
                    Maximum  = 9999,
                    Value    = initialCoefficients[i]
                };
                Controls.Add(paramName);
                Controls.Add(param);
                upDowns.Add(param);
            }
            if (ParameterUpDownsChanged != null)
            {
                ParameterUpDownsChanged.Invoke(upDowns);
            }
        }
Example #2
0
        public MainForm()
        {
            BuildLayout();

            Controls.Add(functionsList);
            Controls.Add(functionView);
            Controls.Add(parametersView);
            Controls.Add(actions);

            InitializeComponent();


            functionsList.SelectedFunctionChanged += name => SelectedFunctionChanged.Invoke(name);
            var resetButton = actions.Controls["Reset"];

            resetButton.Click += (sender, args) => ResetButtonClicked.Invoke(functionsList.CurrentSelection());

            var saveButton = actions.Controls["Save"];

            saveButton.Click +=
                (sender, args) =>
            {
                var nameGetter = new NameGetterForm();
                nameGetter.Controls["okButton"].Click += (o, eventArgs) =>
                {
                    var newName = nameGetter.Controls.OfType <TextBox>().First().Text;
                    SaveButtonClicked.Invoke(functionsList.CurrentSelection(), newName,
                                             parametersView.GetCoefficients());
                    nameGetter.Close();
                };
                nameGetter.ShowDialog(this);
            };

            var openButton = actions.Controls["Open"];

            openButton.Click += (sender, args) => { if (OpenCurrent != null)
                                                    {
                                                        OpenCurrent.Invoke(sender, args);
                                                    }
            };

            parametersView.ParameterUpDownsChanged +=
                downs => { if (ParameterUpDownsChanged != null)
                           {
                               ParameterUpDownsChanged.Invoke(downs);
                           }
            };
        }