void CreateVariantNode(string variantCaption, string viewCaption, IModelVariants modelVariants) { var id = GetId(viewCaption); var modelView = ((IModelListView)Application.Model.Views[id]); var modelListView = modelView ?? CloneView(id, viewCaption); CreateVariantNode(variantCaption, modelVariants, modelListView, variantCaption); }
void CreateVariantNode(string id, IModelVariants modelVariants, IModelListView modelListView, string caption) { var newVariantNode = modelVariants.AddNode <IModelVariant>(); modelVariants.Current = newVariantNode; newVariantNode.Caption = caption; newVariantNode.Id = id; newVariantNode.View = modelListView; }
void CreateVariantNode(string variantCaption, string viewCaption, IModelVariants modelVariants) { var id = FormatListViewCaption(viewCaption); var modelView = ((IModelListView)Application.Model.Views[id]); var modelListView = modelView ?? (IModelListView)(((ModelNode)View.Model).Clone(id)); modelListView.Caption = viewCaption; CreateVariantNode(variantCaption, modelVariants, modelListView, variantCaption); }
private IModelVariant GetNewVariantNode(ViewCloner viewCloner) { IModelListView clonedView = GetClonedView(viewCloner.Caption); var modelViewVariants = ((IModelViewVariants)_rootView); IModelVariants modelVariants = modelViewVariants.Variants; var newVariantNode = modelVariants.AddNode <IModelVariant>(); modelVariants.Current = newVariantNode; newVariantNode.Caption = viewCloner.Caption; newVariantNode.Id = viewCloner.Caption; newVariantNode.View = clonedView; return(newVariantNode); }
private IModelView RemoveVariantNode(string viewId) { ViewShortcut viewShortcut = View.CreateShortcut(); IModelView modelView = Application.Model.Views[viewShortcut.ViewId]; IModelVariants modelVariants = ((IModelViewVariants)modelView).Variants; IModelVariant modelVariant = modelVariants.Where(variant => variant.View.Id == viewId).Single(); modelVariant.Remove(); if (modelVariants.Count > 0) { modelVariants.Current = modelVariants[0]; return(modelVariants.Current.View); } return(Application.Model.Views[viewShortcut.ViewId]); }