//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public NavRoot GetRoot() { if ( vRootLevel == null ) { vRootLevel = new NavLevel(GetChildItems); vRoot.Build(vRootLevel); } return vRoot; }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public EmptyDelgate() { vNavLevel = new NavLevel(); vNavLevel.Items = new NavItem[7]; for (int i = 0; i < 7; i++) { vNavLevel.Items[i] = new NavItemCheckbox("Item " + i); } }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public DemoNavItems() { BuildColors(); BuildMotions(); BuildLight(); BuildCamera(); BuildCustomize(); BuildNested(); TopLevel = new NavLevel(Color, Motion, Light, Camera, Customize, Nested); }
/*--------------------------------------------------------------------------------------------*/ private void SetNewLevel(NavLevel pNewLevel, int pDirection) { if ( vCurrLevel != null ) { vCurrLevel.OnItemSelected -= HandleItemSelected; vCurrLevel.SetActiveOnLevelChange(false, pDirection); } vCurrLevel = pNewLevel; vCurrLevel.OnItemSelected += HandleItemSelected; vCurrLevel.SetActiveOnLevelChange(true, pDirection); OnLevelChange(pDirection); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public void HandleItemSelection(NavLevel pLevel, NavItem pItem) { if (DemoNavItems.IsItemWithin(pItem, Items.Motion, NavItem.ItemType.Checkbox)) { OnMotionChange(pItem); } if (DemoNavItems.IsItemWithin(pItem, Items.Camera, NavItem.ItemType.Radio)) { OnCameraChange(pItem); } }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ private void HandleItemSelected(NavLevel pLevel, NavItem pItem) { OnItemSelection(pLevel, pItem); if ( pItem.Type == NavItem.ItemType.Parent ) { vHistory.Push(vCurrLevel); SetNewLevel(pItem.ChildLevel, 1); return; } if ( pItem.NavigateBackUponSelect ) { Back(); } }
/*--------------------------------------------------------------------------------------------*/ private void HandleLevelChange(int pDirection) { vSegments.Clear(); NavLevel navLevel = vNavProv.GetLevel(); foreach (NavItem navItem in navLevel.Items) { var seg = new ArcSegmentState(navItem, vSettings); vSegments.Add(seg); } OnLevelChange(pDirection); }
/*--------------------------------------------------------------------------------------------*/ public void Build(NavLevel pRootLevel) { SetNewLevel(pRootLevel, 0); }
/*--------------------------------------------------------------------------------------------*/ public void HandleLevelChange(NavLevel pNewLevel, int pDirection) { }
/*--------------------------------------------------------------------------------------------*/ public NavItem GetLevelParentItem() { NavLevel parNavLevel = vNavProv.GetParentLevel(); return(parNavLevel == null ? null : parNavLevel.LastSelectedParentItem); }
/*--------------------------------------------------------------------------------------------*/ public void HandleLevelChange(NavLevel pNewLevel, int pDirection) { //do nothing... }
/*--------------------------------------------------------------------------------------------*/ public void HandleItemSelection(NavLevel pLevel, NavItem pItem) { //do nothing... }