private void AddOrShowView(ISubView view, bool show) { subviewmap[view.ContentID] = view; string viewname = view.ContentID; LayoutContent targetContent; LayoutAnchorable targetView; viewList.TryGetValue(viewname, out targetContent); targetView = targetContent as LayoutAnchorable; if (targetView == null) { targetView = new LayoutAnchorable(); viewList.Add(viewname, targetView); targetView.AddToLayout(DockMan, AnchorableShowStrategy.Most); targetView.DockAsDocument(); targetView.CanClose = false; targetView.Hide(); } if (targetView.Content == null) { targetView.Content = view.View; targetView.ContentId = viewname; targetView.Title = view.GetTitle(ResourceService.CurrentCulture); targetView.CanAutoHide = true; } if (show) { targetView.IsVisible = true; } }
public SubPresenterImpl(IDummy dummy, ISubView view) { this.dummy = dummy; this.view = view; view.Ok += View_Ok; view.Cancel += View_Cancel; }
/// <summary> /// Close a sub-view associated with a given sub-model. /// </summary> /// <param name="subModel">The sub-model of the sub-view to be closed.</param> private void CloseView(ISubModel subModel) { ISubView subView = subViews.Find(v => v.GetModel().Equals(subModel)); subViews.Remove(subView); var form = (Form)subView; if (!form.Disposing) { form.Close(); } }
/// <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; } }
/// <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; } }
/// <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); } }
private void AddOrShowView(ISubView view, bool show) { subviewmap[view.ContentID] = view; string viewname = view.ContentID; LayoutContent targetContent; LayoutAnchorable targetView; viewList.TryGetValue(viewname, out targetContent); targetView = targetContent as LayoutAnchorable; if (targetView == null) { targetView = new LayoutAnchorable(); viewList.Add(viewname, targetView); targetView.AddToLayout(DockMan, AnchorableShowStrategy.Most); targetView.DockAsDocument(); targetView.CanClose = false; targetView.Hide(); } if (targetView.Content == null) { targetView.Content = view.View; targetView.ContentId = viewname; targetView.Title = view.GetTitle(ResourceService.CurrentCulture); targetView.CanAutoHide = true; } if (show) targetView.IsVisible = true; }