Example #1
0
        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);
        }
Example #2
0
        //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);
            }
        }
Example #3
0
        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();
        }
Example #4
0
        public void RegisterMenuInfo(IMenuInfo menuInfo)
        {
            MenuList.Add(menuInfo);

            if (menuInfo.IsStartPage)
            {
                ApplicationCommands.ChangeScreenCommand.Execute(menuInfo);
            }
        }
Example #5
0
        public MenuItem(IMenuInfo menuInfo)
        {
            MenuInfo = menuInfo;

            Text = menuInfo.DisplayName;

            Items       = new MenuItemsCollection(this);
            ItemClicked = new DelegateCommand <object>(ExecuteItemClicked);
            AddChildren();
        }
Example #6
0
 public static SubMenuInfo Create(string displayName, string submenuview, IMenuInfo parent)
 {
     return(new SubMenuInfo
     {
         DisplayName = displayName,
         SubMenuName = submenuview,
         Parent = parent,
         Guid = Guid.NewGuid(),
     });
 }
Example #7
0
 public int GetTopMenuIndex(IMenuInfo menuInfo)
 {
     for (var i = 0; i < _topMenuItems.Length; i++)
     {
         if (menuInfo.DisplayName == _topMenuItems[i])
         {
             return(i);
         }
     }
     return(_topMenuItems.Length);
 }
Example #8
0
        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);
        }
Example #9
0
 public bool Contains(IMenuInfo item) => InternalCollection.Contains(item);
Example #10
0
 public void Add(IMenuInfo item) => InternalCollection.Add(item);
Example #11
0
 public bool Remove(IMenuInfo item) => InternalCollection.Remove(item);
Example #12
0
 public MenuItemViewModel(IMenuInfo menuInfo)
 {
     _menuInfo   = menuInfo;
     IsEnabled   = true;
     ItemClicked = new DelegateCommand <object>(ExecuteItemClicked);
 }
Example #13
0
 public LoginViewModel(IMenuInfo returnPage, IUserSession userSession)
 {
     LoginCommand = new DelegateCommand <object>(ExecuteLogin);
     _userSession = userSession;
     _returnPage  = returnPage;
 }
Example #14
0
 public NavController(IMenuInfo menuInfo)
 {
     _menuInfo = menuInfo;
 }