private void updateSubMenus(NavItem navitem) { if (navitem == null) { return; } if (navitem.Command != null) { navitem.Command.Execute(null); } if (navitem.Content != null) { ShowMsgPane(navitem); } System.Diagnostics.Debug.WriteLine("Count " + NavMenus.Count + ", Index " + navitem.Index); //Clear old menus int rmIndex = 0, count = NavMenus.Count; rmIndex = navitem.SubMenus == null ? (navitem.Index) : (navitem.SubMenus[0].Index - 1); for (int i = rmIndex; i < count; ++i) { NavMenus.RemoveAt(rmIndex); } //Add new submenus int delayTime = 0; if (navitem.SubMenus != null) { NavMenus.Add(navitem.SubMenus); delayTime = 300; } if (count != NavMenus.Count) { udpateWidthAnimation(); } if (navitem.RunPath != null) { runProcess(navitem.RunPath, delayTime); } }
private void initDefaultMenus() { BindingList <NavItem> menus = new BindingList <NavItem>(); var systems = new NavItem("System0-0", "System1-0", "Disk1-0", "Memory1-0", "Require1-0", "Other1-0"); var disk = new NavItem("Disk0-1", "System1-1", "Disk1-1", "Memory1-1", "Require1-1", "Other1-1"); var memory = new NavItem("Memory0-2", "System1-2", "Disk1-2", "Memory1-2", "Require1-2", "Other1-2"); var require = new NavItem("Require0-3", "System1-3", "Disk1-3", "Memory1-3", "Require1-3", "Other1-3"); var other = new NavItem("Other0-4"); BindingList <NavItem> requeireSub, systemSub; NavItem.getListNavItem(out requeireSub, "System2-3", "Disk2-3", "Memory2-3", "Require2-3", "Other2-3"); NavItem.getListNavItem(out systemSub, "System2-0", "Disk2-0", "Memory2-0", "Require2-0", "Other2-0"); require.SubMenus[1].SubMenus = requeireSub; systems.SubMenus[2].SubMenus = systemSub; menus.Add(systems); menus.Add(disk); menus.Add(memory); menus.Add(require); menus.Add(other); //NavMenus.Add(menus); MainNavs = new BindingList <NavItem>(); MainNavs.Add(new NavItem("A") { Title = "Basic", SubMenus = menus, Content = "A part, Hello, Welcome", Description = "Main menu" }); MainNavs.Add(new NavItem("B") { Title = "Empty", Content = "B part, second one, noting special, state : null", Description = "Something description" }); MainNavs.Add(new NavItem("C") { Title = "C part", Content = "C part" }); initSystemMenu(); MainNavs.Add(sysNavItem); }