public DemoForm()
        {
            InitializeComponent();
            init();
            Init_EXECUTE_T0();

            Editor = InteractiveEditor.GenerateMyEditor <Foo>(this, "Foo", 10, 10, 250, 400);

            //Editor.Binder.BindToTypo(new string[] { "x", "y", "width" }, FilterMode.Whitelist) ;

            //Editor.Binder.BindToTypo();
            Editor.Horizontal_Spacing = 0;
            Editor.FieldHeight        = 23;
            Editor.Binder.BindToTypo(new string[] { "x", "width" }, FilterMode.Blacklist);
            //Editor.Binder.BindToTypo(new BindingConfigurator(
            //    (ref Dictionary<string, PreBindingArgs> MappedVariable) =>
            //    {
            //        MappedVariable["x"] = new PreBindingArgs(MappedVariable["x"])
            //        {
            //            FieldSet_FieldType = typeof(Separator),
            //        };

            //    }));



            Controls.Add(Editor.BackPanel);
        }
        public InteractiveEditor[] ToArray()
        {
            InteractiveEditor[] newArr = new InteractiveEditor[Provider.Request <PageLocatorService>().Count];
            var index = -1;

            foreach (InteractiveEditor iob in Provider.Request <PageLocatorService>())
            {
                newArr[++index] = iob;
            }
            return(newArr);
        }
        public void AddPage()
        {
            if (Owner.NextPage != null)
            {
                Console.WriteLine("Failed to create page, this is not the last page");
                return;
            }
            Button btn;

            // NextPage from Owner setup
            btn            = EditMiscControl(MiscControl.NextPage) as Button;
            btn.Click     += new EventHandler(Owner.OnPageUp);
            Owner.NextPage = InteractiveEditor.GeneratePage(Owner);

            // PrevPage from NextPage setup
            btn        = Owner.NextPage.Modify.EditMiscControl(MiscControl.PrevPage) as Button;
            btn.Click += new EventHandler(Owner.NextPage.OnPageDown);
            Owner.NextPage.PrevPage = Owner;
        }
 public IOBServiceProvider(InteractiveEditor owner) => Owner = owner;