private void Stepname_SelectedIndexChanged(object sender, EventArgs e)                // EVENT list changed
        {
            ExtendedControls.ComboBoxCustom b = sender as ExtendedControls.ComboBoxCustom;

            if (b.Enabled)
            {
                Group g     = (Group)b.Tag;
                int   gstep = groups.IndexOf(g);

                ActionBase curact = curprog.GetStep(gstep);

                if (curact == null || !curact.Name.Equals(b.Text))
                {
                    ActionBase a = ActionBase.CreateAction(b.Text);

                    if (!a.ConfigurationMenuInUse || a.ConfigurationMenu(this, actioncorecontroller, currentvarlist))
                    {
                        curprog.SetStep(gstep, a);
                        g.checkit = a;
                        SetValue(g.value, a);
                        RepositionGroups();
                    }
                    else
                    {
                        b.Enabled = false; b.SelectedIndex = -1; b.Enabled = true;
                    }
                }
                else
                {
                    ActionConfig_Clicked(g.config, null);
                }
            }
        }
        private void ActionConfig_Clicked(object sender, EventArgs e)
        {
            ExtendedControls.ButtonExt b = sender as ExtendedControls.ButtonExt;
            Group      g      = (Group)b.Tag;
            ActionBase curact = curprog.GetStep(groups.IndexOf(g));

            if (curact != null)
            {
                if (curact.ConfigurationMenu(this, actioncorecontroller, currentvarlist))
                {
                    SetValue(g.value, curact);
                }
            }
        }