コード例 #1
0
        public void FromString(string str)
        {
            GrblConfig.GrblParam par = new GrblConfig.GrblParam(0, str);
            // fixme: lots of duplications of code in parameters. need a good fix
            switch (paramDesc.type)
            {
            case GrblConfig.ParamType.Bool:
            case GrblConfig.ParamType.Int:
            case GrblConfig.ParamType.Mask:
            case GrblConfig.ParamType.Selection:
                try { par.intVal = int.Parse(str); }
                catch { }
                break;

            case GrblConfig.ParamType.Float:
                par.floatVal = Utils.ParseFloatInvariant(str);
                break;
            }
            UpdateFromParameter(par, false);
        }
コード例 #2
0
        public void UpdateFromParameter(GrblConfig.GrblParam par, bool overrideChanges)
        {
            updatingGui = true;
            switch (paramDesc.type)
            {
            case GrblConfig.ParamType.Bool:
            {
                CheckBox cb = (CheckBox)activeControls[0];
                cb.Checked = par.intVal != 0;
                if (overrideChanges)
                {
                    lastIntValue = par.intVal;
                }
            }
            break;

            case GrblConfig.ParamType.Float:
            {
                NumericUpDown nud = (NumericUpDown)activeControls[0];
                nud.Value = (decimal)par.floatVal;
                if (overrideChanges)
                {
                    lastFloatValue = par.floatVal;
                }
            }
            break;

            case GrblConfig.ParamType.Int:
            {
                NumericUpDown nud = (NumericUpDown)activeControls[0];
                nud.Value = (decimal)par.intVal;
                if (overrideChanges)
                {
                    lastIntValue = par.intVal;
                }
            }
            break;

            case GrblConfig.ParamType.Mask:
            {
                if (isSimpleMask)
                {
                    MultiSelect ms = (MultiSelect)activeControls[0];
                    ms.SelectedValue = par.intVal;
                }
                else
                {
                    for (int i = 0; i < activeControls.Count; i++)
                    {
                        CheckBox cb = (CheckBox)activeControls[i];
                        cb.Checked = (par.intVal & (1 << i)) != 0;
                    }
                }
                if (overrideChanges)
                {
                    lastIntValue = par.intVal;
                }
            }
            break;

            case GrblConfig.ParamType.Selection:
            {
                ComboBox cb = (ComboBox)activeControls[0];
                cb.SelectedIndex = par.intVal;
                if (overrideChanges)
                {
                    lastIntValue = par.intVal;
                }
            }
            break;
            }
            updatingGui = false;
            if (overrideChanges)
            {
                isChanged = false;
                UpdateBackground();
            }
            Visible = true;
            UpdateFromGui();
        }