private void SwitchScreen(IMenuInfo menuInfo) { IScreen screen; if (menuInfo == null) { return; } if (!_userSession.IsLoggedIn) { return; } //If screen already exists, activate it if (_screenDictionary.ContainsKey(menuInfo.ScreenGuid)) { screen = _screenDictionary[menuInfo.ScreenGuid]; if (screen.IsActive) { return; } if (screen is IDialogScreen) { ((IDialogScreen)screen).Open(); return; } var mainRegion = _regionManager.Regions[_appSettings.RegionNames.MainRegion]; RemoveActiveScreen(); var view = mainRegion.GetView(screen.Guid.ToString()); mainRegion.Activate(view); _screenDictionary[menuInfo.ScreenGuid].IsActive = true; } else { var factory = _factoryRegistry.GetFactory(menuInfo.ScreenGuid); var mainRegion = _regionManager.Regions[_appSettings.RegionNames.MainRegion]; screen = factory.CreateScreen(mainRegion, menuInfo.ScreenGuid); var screenAttribute = screen.GetScreenAttribute(); if (screen is IDialogScreen) { ((IDialogScreen)screen).Open(); _busyService.HideBusy("SwitchScreen"); _screenDictionary.Add(menuInfo.ScreenGuid, screen); return; } RemoveActiveScreen(); mainRegion.Activate(screen.MasterView); screen.IsActive = true; _screenDictionary.Add(menuInfo.ScreenGuid, screen); } //_busyService.HideBusy("SwitchScreen"); _transitionService.EnterViewAnimation(screen.MasterView); }
//public void InitializeMenu(string message) //{ // foreach (var menuInfo in _menuRegistry.MenuList) // { // AddMenuItem(menuInfo); // } //} public void AddMenuItem(IMenuInfo menuInfo) { Items = GetMenuFromRegistry(); if (menuInfo.IsStartPage && _userSession.IsLoggedIn) { ApplicationCommands.ChangeScreenCommand.Execute(menuInfo); } }
public void OpenLoginWindow(IMenuInfo obj) { var userSession = _unityContainer.Resolve <IUserSession>(); var loginView = new LoginView(); var loginViewModel = new LoginViewModel(obj, userSession); loginView.ViewModel = (loginViewModel); loginView.Show(); }
public void RegisterMenuInfo(IMenuInfo menuInfo) { MenuList.Add(menuInfo); if (menuInfo.IsStartPage) { ApplicationCommands.ChangeScreenCommand.Execute(menuInfo); } }
public MenuItem(IMenuInfo menuInfo) { MenuInfo = menuInfo; Text = menuInfo.DisplayName; Items = new MenuItemsCollection(this); ItemClicked = new DelegateCommand <object>(ExecuteItemClicked); AddChildren(); }
public static SubMenuInfo Create(string displayName, string submenuview, IMenuInfo parent) { return(new SubMenuInfo { DisplayName = displayName, SubMenuName = submenuview, Parent = parent, Guid = Guid.NewGuid(), }); }
public int GetTopMenuIndex(IMenuInfo menuInfo) { for (var i = 0; i < _topMenuItems.Length; i++) { if (menuInfo.DisplayName == _topMenuItems[i]) { return(i); } } return(_topMenuItems.Length); }
public void SwitchScreen(IMenuInfo menuInfo) { IScreen screen; //If screen already exists, activate it if (_screenDictionary.ContainsKey(menuInfo.ScreenGuid)) { screen = _screenDictionary[menuInfo.ScreenGuid]; if (screen.IsActive) { return; } var mainRegion = _regionManager.Regions[_appSettings.RegionNames.MainRegion]; RemoveActiveScreen(); var view = mainRegion.GetView(screen.Guid.ToString()); mainRegion.Activate(view); _screenDictionary[menuInfo.ScreenGuid].IsActive = true; } //Else create new else { RemoveActiveScreen(); var factory = _factoryRegistry.GetFactory(menuInfo.ScreenGuid); var mainRegion = _regionManager.Regions[_appSettings.RegionNames.MainRegion]; screen = factory.CreateScreen(mainRegion, menuInfo.ScreenGuid); if (screen != null) { screen.IsActive = true; _screenDictionary.Add(menuInfo.ScreenGuid, screen); } } _transitionService.EnterViewAnimation(screen.MasterView); }
public bool Contains(IMenuInfo item) => InternalCollection.Contains(item);
public void Add(IMenuInfo item) => InternalCollection.Add(item);
public bool Remove(IMenuInfo item) => InternalCollection.Remove(item);
public MenuItemViewModel(IMenuInfo menuInfo) { _menuInfo = menuInfo; IsEnabled = true; ItemClicked = new DelegateCommand <object>(ExecuteItemClicked); }
public LoginViewModel(IMenuInfo returnPage, IUserSession userSession) { LoginCommand = new DelegateCommand <object>(ExecuteLogin); _userSession = userSession; _returnPage = returnPage; }
public NavController(IMenuInfo menuInfo) { _menuInfo = menuInfo; }