public override Panel CreatePanel(MotionProcEnv environment)
        {
            Panel    ret   = new Panel();
            GroupBox group = new GroupBox();

            group.Text = this.ParamName;
            group.Dock = DockStyle.Fill;
            Sequence.TargetSequenceIndexControl target = new MotionDataHandler.Sequence.TargetSequenceIndexControl();
            this.Parent.ValueChanged += new EventHandler((s, e) => {
                SequenceSingleSelectParameter parent = s as SequenceSingleSelectParameter;
                var sequence = parent.Value;
                if (sequence != null)
                {
                    target.AttachSequence(sequence);
                }
            });
            if (Value >= -1 && Value < target.ItemCount)
            {
                target.SelectedIndex = Value;
            }
            target.SelectedIndexChanged += new EventHandler((s, e) => {
                this.Value = target.SelectedIndex;
                this.DoValueChanged();
            });
            target.Dock = DockStyle.Fill;
            group.Controls.Add(target);
            ret.Controls.Add(group);
            ret.Height = 48;
            return(ret);
        }
 public SequenceColumnSelectParameter(string paramName, SequenceSingleSelectParameter parent)
     : base(paramName)
 {
     this.Value = 0;
     if (parent == null)
     {
         throw new ArgumentNullException("parent", "'parent' cannot be null");
     }
     this.Parent = parent;
 }