Ejemplo n.º 1
0
        private void OnStructureAttaching(IStructureVM context, IBinder <IContextWrapper <IStructureVM> > binder)
        {
            switch (context)
            {
            case RectangularStructureVM rp:
            {
                RectanguarStructureV v = new RectanguarStructureV();
                binder.AttachChild(rp, v);
                _view = v;
                _layout.Controls.Add(v);

                break;
            }

            case CircularStructureVM cp:
            {
                CircularStructureV v = new CircularStructureV();
                binder.AttachChild(cp, v);
                _view = v;
                _layout.Controls.Add(v);

                break;
            }

            case ShapedStructureVM sp:
            {
                ShapedStructureV v = new ShapedStructureV(_loadDialog);
                binder.AttachChild(sp, v);
                _view = v;
                _layout.Controls.Add(v);

                break;
            }
            }
        }
Ejemplo n.º 2
0
        private void OnGeneratorAttaching(IGeneratorVM context, IBinder <IContextWrapper <IGeneratorVM> > binder)
        {
            switch (context)
            {
            case RecursiveBacktrackerGeneratorVM rbg:
            {
                RecursiveBacktrackerGeneratorV v = new RecursiveBacktrackerGeneratorV();
                binder.AttachChild(rbg, v);
                _view = v;
                _layout.Controls.Add(v);

                break;
            }

            case GrowingTreeGeneratorVM gt:
            {
                GrowingTreeGeneratorV v = new GrowingTreeGeneratorV();
                binder.AttachChild(gt, v);
                _view = v;
                _layout.Controls.Add(v);

                break;
            }
            }
        }
Ejemplo n.º 3
0
        public void OnContextAttach(AppVM context, IList <IBinding> bindings, IBinder <AppVM> binder)
        {
            Generator.Attaching += OnGeneratorAttaching;
            Solver.Attaching    += OnSolverAttaching;
            Drawer.Attaching    += OnDrawerGeneratorAttaching;
            Progress.Attaching  += OnProgressGeneratorAttaching;

            binder.AttachChild(context.Generator, Generator);
            binder.AttachChild(context.Solver, Solver);
            binder.AttachChild(context.Drawer, Drawer);
            binder.AttachChild(context.Progress, Progress);
        }
Ejemplo n.º 4
0
        public void OnContextAttach(GeneratorVM context, IList <IBinding> bindings, IBinder <GeneratorVM> binder)
        {
            StructureSelector.Attaching += OnStructureSelectorAttaching;
            GeneratorSelector.Attaching += OnGeneratorSelectorAttaching;

            bindings.Add(Binder.Side(Seed).To(context.Seed).Using(BindingFlow.TwoWay));

            binder.AttachChild(context.StructureSelector, StructureSelector);
            binder.AttachChild(context.GeneratorSelector, GeneratorSelector);

            Seed.ValueChanged += SeedOnValueChanged;

            _generateClickHandler     = (s, e) => context.GenerateMaze();
            _generateButton.Click    += _generateClickHandler;
            _seedTextBox.TextChanged += SeedTextBoxOnTextChanged;
        }
Ejemplo n.º 5
0
        public void OnContextAttach(StructureSelectorVM context,
                                    IList <IBinding> bindings,
                                    IBinder <StructureSelectorVM> binder)
        {
            Structure.Attaching  += OnStructureAttaching;
            Structure.Destroying += OnStructureDestroying;

            bindings.Add(Binder.Side(AvailableTypes).To(context.AvailableTypes).Using(BindingFlow.OneWay));
            bindings.Add(Binder.Side(Type).To(context.Type).Using(BindingFlow.TwoWay));

            binder.AttachChild(context.Structure, Structure);

            AvailableTypes.ValueChanged += AvailableTypesOnValueChanged;

            _selector.SelectedValueChanged += SelectorOnSelectedValueChanged;
        }
Ejemplo n.º 6
0
        public void OnContextAttach(GeneratorSelectorVM context,
                                    IList <IBinding> bindings,
                                    IBinder <GeneratorSelectorVM> binder)
        {
            Generator.Attaching  += OnGeneratorAttaching;
            Generator.Destroying += OnGeneratorDestroying;

            bindings.Add(Binder.Side(AvailableTypes).To(context.AvailableTypes).Using(BindingFlow.OneWay));
            bindings.Add(Binder.Side(Type).To(context.Type).Using(BindingFlow.TwoWay));

            binder.AttachChild(context.Generator, Generator);

            _selector.SelectedValueChanged += SelectorOnSelectedValueChanged;

            AvailableTypes.ValueChanged += AvailableTypesOnValueChanged;
        }
Ejemplo n.º 7
0
 private void OnGeneratorSelectorAttaching(GeneratorSelectorVM context,
                                           IBinder <IContextWrapper <GeneratorSelectorVM> > binder)
 {
     binder.AttachChild(context, _generatorSelectorV);
 }
Ejemplo n.º 8
0
 private void OnStructureSelectorAttaching(StructureSelectorVM context,
                                           IBinder <IContextWrapper <StructureSelectorVM> > binder)
 {
     binder.AttachChild(context, _structureSelectorV);
 }
Ejemplo n.º 9
0
 private void OnProgressGeneratorAttaching(ProgressVM context, IBinder <IContextWrapper <ProgressVM> > binder)
 {
     binder.AttachChild(context, _progressV);
 }
Ejemplo n.º 10
0
 private void OnDrawerGeneratorAttaching(DrawerVM context, IBinder <IContextWrapper <DrawerVM> > binder)
 {
     binder.AttachChild(context, _drawerV);
 }
Ejemplo n.º 11
0
 private void OnSolverAttaching(SolverVM context, IBinder <IContextWrapper <SolverVM> > binder)
 {
     binder.AttachChild(context, _solverV);
 }