Example #1
0
        /// <summary>
        /// React to a request for a view to be opened;
        /// Instantiate an appropiate controller.
        /// </summary>
        /// <param name="type">The type of view to be opened.</param>
        /// <param name="subView">The View to be used.</param>
        public void ViewOpened(Model.ChangeType type, ISubView subView)
        {
            switch (type)
            {
            case Model.ChangeType.VCG:
                var vcgModel = (VoterCardGenerator)subView.GetModel();
                var vcgView  = (VoterCardGeneratorWindow)subView;
                vcgView.AddClosingHandler(this.model.CloseSubModel);
                new VoterCardGeneratorController(vcgModel, vcgView);
                break;

            case Model.ChangeType.VBM:
                var vbmModel = (VoterBoxManager)subView.GetModel();
                var vbmView  = (VoterBoxManagerWindow)subView;
                vbmView.AddClosingHandler(this.model.CloseSubModel);
                new VoterBoxManagerController(vbmModel, vbmView);
                break;
            }
        }
Example #2
0
        /// <summary>
        /// Open and initialize a new sub-view of the given type using the given sub-model.
        /// </summary>
        /// <param name="type">Type of the new sub-view.</param>
        /// <param name="subModel">Sub-model of the new sub-view.</param>
        private void OpenView(Model.ChangeType type, ISubModel subModel)
        {
            ISubView subView = null;

            switch (type)
            {
            case Model.ChangeType.VCG:
                subView = new VoterCardGeneratorWindow((VoterCardGenerator)subModel);
                break;

            case Model.ChangeType.VBM:
                subView = new VoterBoxManagerWindow((VoterBoxManager)subModel);
                break;
            }
            subViews.Add(subView);
            if (SubViewOpened != null)
            {
                SubViewOpened(type, subView);
            }
        }