public override void UpdateNode(ModelNode node) { var rootNavigationItems = (IModelRootNavigationItems)node; var mainNode = rootNavigationItems.Items.AddNode <IModelNavigationItem>("Main"); AddNavItem(mainNode.Items, ModelNodeIdHelper.GetListViewId(typeof(Event))); AddNavItem(mainNode.Items, ModelNodeIdHelper.GetListViewId(typeof(Person))); }
/// <summary> /// Updates the Application Model node content generated by the Nodes Generator, specified by the <see cref="T:DevExpress.ExpressApp.Model.ModelNodesGeneratorUpdater`1" /> class' type parameter. /// </summary> /// <param name="node">A ModelNode Application Model node to be updated.</param> /// <autogeneratedoc /> public override void UpdateNode(ModelNode node) { if (node is IModelViews views) { //Make sure we generate navigation item nodes before we remove the views //Otherwise we have no idea what View/ModelClass the navigation item belonged to if (views.Application is IModelApplicationNavigationItems modelApplicationNavigationItems) { _ = modelApplicationNavigationItems.NavigationItems.Items; } foreach (var view in views.OfType <IModelObjectView>()) { foreach (var attribute in view.ModelClass.TypeInfo.FindAttributes <GenerateNoViewAttribute>()) { if (view.Id.Equals(attribute.ViewId)) { view.Remove(); } } if (view is IModelDetailView) { if (view.ModelClass.TypeInfo.IsAttributeDefined <GenerateNoDetailViewAttribute>(false)) { if (ModelNodeIdHelper.GetDetailViewId(view.ModelClass.TypeInfo.Type).Equals(view.Id)) { view.Remove(); } } } if (view is IModelListView) { if (view.ModelClass.TypeInfo.IsAttributeDefined <GenerateNoListViewAttribute>(false)) { if (ModelNodeIdHelper.GetListViewId(view.ModelClass.TypeInfo.Type).Equals(view.Id)) { view.Remove(); } } if (view.ModelClass.TypeInfo.IsAttributeDefined <GenerateNoLookupListViewAttribute>(false)) { if (ModelNodeIdHelper.GetLookupListViewId(view.ModelClass.TypeInfo.Type).Equals(view.Id)) { view.Remove(); } } } } } }
private void ShowProxyListView(SimpleActionExecuteEventArgs e, string memberName) { var masterObject = this.View.CurrentObject; var memberInfo = this.View.ObjectTypeInfo.FindMember(memberName); var listViewID = ModelNodeIdHelper.GetNestedListViewId(memberInfo.Owner.Type, memberName); var collectionSource = Application.CreatePropertyCollectionSource(ObjectSpace, typeof(MasterDetailMode), masterObject, memberInfo, listViewID); var view = Application.CreateListView(listViewID, collectionSource, false); e.ShowViewParameters.CreatedView = view; e.ShowViewParameters.Context = TemplateContext.View; e.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow; var dc = new DialogController(); dc.SaveOnAccept = false; //e.ShowViewParameters.Controllers.Add(dc); }
public override void UpdateNode(ModelNode node) { var options = (IModelCommandlineOptionsIModelNode)node; var items = ((IModelApplicationNavigationItems)node.Application).NavigationItems; var eventNode = options.AddNode <IModelCommandlineOption>(); eventNode.Argument = "/Events"; eventNode.NavigationItem = items.Items["Main"].Items[ModelNodeIdHelper.GetListViewId(typeof(Event))]; var personNode = options.AddNode <IModelCommandlineOption>(); personNode.Argument = "/People"; personNode.NavigationItem = items.Items["Main"].Items[ModelNodeIdHelper.GetListViewId(typeof(Person))]; }
DetailView LogonAttemptsAmountedToLimitDetailView() { return(Application.CreateDetailView(new NonPersistentObjectSpace(Application.TypesInfo), ModelNodeIdHelper.GetDetailViewId(typeof(LogonAttemptsAmountedToLimit)), true)); }
internal static IModelDetailView?FindDetailView(this IModelApplication model, Type boType) => model .Views .OfType <IModelDetailView>() .FirstOrDefault(d => d.Id.Equals(ModelNodeIdHelper.GetDetailViewId(boType), StringComparison.Ordinal));