void RestoreState(object parameter, PageStateStorage storage) { List <string> savedNavigationHistory; if (storage.TryGetParameter("DemoNavigationHistory", out savedNavigationHistory)) { navigationHistory = savedNavigationHistory; } ; object hamburgerMenuItemGroupName = navigationHistory == null ? parameter : navigationHistory[navigationHistory.Count - 1]; SelectHamburgerMenuItemByParameter(hamburgerMenuItemGroupName); if (hamburgerMenuItemGroupName.Equals(parameter)) { return; } DemoModuleViewModel demoModule = DemoModules.FirstOrDefault(x => x.DemoModule.ViewTypeName.Equals(parameter)); if (demoModule != null) { UpdateFilteredDemoModules(demoModule); NavigationLevel = NavigationLevel.DemoModule; SelectedDemoModuleIndex = storage.GetParameter("SelectedDemoModuleIndex", SelectedDemoModuleIndex); } else { NavigationLevel = NavigationLevel.Main; Navigate("MainPage", MainScreenId); } }
public DemoModuleGroupViewModel(MainViewModel mainViewModel, DemoModuleGroup group) { ((DevExpress.Mvvm.ISupportParentViewModel) this).ParentViewModel = mainViewModel; MainViewModel = mainViewModel; Group = group; DemoModules = new ObservableCollection <DemoModuleViewModel>(); HighlightedDemoModules = new ObservableCollection <DemoModuleViewModel>(); bool isNewExist = false; bool isUpdatedExist = false; foreach (DemoModule demoModule in Group.DemoModules) { isNewExist = isNewExist || (!demoModule.IsHighlighted && demoModule.IsNew); isUpdatedExist = isUpdatedExist || demoModule.IsUpdated; DemoModuleViewModel demoModuleViewModel = new DemoModuleViewModel(this, demoModule); if (demoModule.IsHighlighted) { HighlightedDemoModules.Add(demoModuleViewModel); } DemoModules.Add(demoModuleViewModel); } if (HighlightedDemoModules.Count != DemoModules.Count) { HighlightedDemoModules.Add(new MoreDemoModuleViewModel(this, new DemoModule() { IsNew = isNewExist, IsUpdated = !isNewExist && isUpdatedExist })); } IsMultipleDemoModulesGroup = DemoModules.Count != 1; }
void NavigateToDemoModule(DemoModuleViewModel demoModule) { UpdateFilteredDemoModules(demoModule); SelectedDemoModuleIndex = 0; NavigationLevel = NavigationLevel.DemoModule; Navigate("DemoModulePage", demoModule.DemoModule.ViewTypeName); }
public DemoModuleCodeTab(DemoModuleViewModel demoModule) : base(demoModule) { ModuleSources = new List <DemoModuleSource>(); List <string> sourcesList = new List <string>(); //foreach(string fileName in sourcesList) { // DemoModuleSource source = new DemoModuleSource(fileName, new DeferredValue<string>(() => DataProvider.Current.GetDemoModuleCode(DemoModuleData.ModuleInfo.DemoModule, fileName))); // ModuleSources.Add(source); //} //CurrentModuleSource = ModuleSources.Count == 0 ? null : ModuleSources[0]; }
protected virtual void OnSelectedDemoModuleChanged(DemoModuleViewModel oldValue, DemoModuleViewModel newValue) { ObservableCollection <DemoModuleViewModel> demoModules = new ObservableCollection <DemoModuleViewModel>(); ActualDemoModules.Clear(); int demoModuleIndex = DemoModules.IndexOf(newValue); for (int i = 0; i < DemoModules.Count; i++) { ActualDemoModules.Add(DemoModules[demoModuleIndex]); demoModuleIndex = (demoModuleIndex + 1) % DemoModules.Count; } }
void UpdateFilteredDemoModules(DemoModuleViewModel firstDemoModule) { int index = DemoModules.IndexOf(firstDemoModule); FilteredDemoModules.Clear(); for (int i = index; i < DemoModules.Count; i++) { if (DemoModules[i].IsVisible) { FilteredDemoModules.Add(DemoModules[i]); } } for (int i = 0; i < index; i++) { if (DemoModules[i].IsVisible) { FilteredDemoModules.Add(DemoModules[i]); } } PrevNextEnabled = FilteredDemoModules.Count > 1; }
public DemoModuleTab(DemoModuleViewModel demoModule) { DemoModule = demoModule; }
public DemoModuleContentTab(DemoModuleViewModel demoModule) : base(demoModule) { }