public IMvxPagedViewModel GetPreviousViewModel(IMvxPagedViewModel currentViewModel)
 {
     if (currentViewModel is ThirdPageViewModel)
         return (_secondPageVM);
     else if (currentViewModel is SecondPageViewModel)
         return (_firstPageVM);
     return (null);
 }
 public IMvxPagedViewModel GetNextViewModel(IMvxPagedViewModel currentViewModel)
 {
     if (currentViewModel is FirstPageViewModel)
         return (_secondPageVM);
     else if (currentViewModel is SecondPageViewModel)
         return (_thirdPageVM);
     return (null);
 }
 public virtual UIViewController GetViewControllerForViewModel(IMvxPagedViewModel queryVM)
 {
     UIViewController retVal = null;
     if(_pagedViewControllerCache.ContainsKey(queryVM.PagedViewId))
         retVal = _pagedViewControllerCache[queryVM.PagedViewId];
     else {
         retVal = this.CreateViewControllerFor(queryVM) as UIViewController;
         _pagedViewControllerCache[queryVM.PagedViewId] = retVal;
     }
     return(retVal);
 }
        public IMvxPagedViewModel GetNextViewModel(IMvxPagedViewModel currentViewModel)
        {
            int index = ViewModels.FindIndex((WeatherMainPageViewModel obj) => { return(obj.PagedViewId.Equals(currentViewModel.PagedViewId)); });

            if (index < ViewModels.Count - 1)
            {
                return(ViewModels[index + 1]);
            }

            return(null);
        }
Exemple #5
0
        protected virtual void InitializePaging()
        {
            IMvxPageViewModel pageVM = ViewModel as IMvxPageViewModel;

            if (pageVM == null)
            {
                return;
            }
            IMvxPagedViewModel defaultVM = pageVM.GetDefaultViewModel();
            UIViewController   defaultVC = GetViewControllerForViewModel(defaultVM);

            SetViewControllers(new UIViewController[] { defaultVC }, UIPageViewControllerNavigationDirection.Forward, true, null);
            GetNextViewController = delegate(UIPageViewController pc, UIViewController rc)
            {
                IMvxTvosView rcTV = rc as IMvxTvosView;
                if (rcTV == null)
                {
                    return(null);
                }
                IMvxPagedViewModel currentVM = rcTV.ViewModel as IMvxPagedViewModel;
                if (currentVM == null)
                {
                    return(null);
                }
                IMvxPagedViewModel nextVM = pageVM.GetNextViewModel(currentVM);
                if (nextVM == null)
                {
                    return(null);
                }
                UIViewController nextVC = GetViewControllerForViewModel(nextVM);
                return(nextVC);
            };
            GetPreviousViewController = delegate(UIPageViewController pc, UIViewController rc)
            {
                IMvxTvosView rcTV = rc as IMvxTvosView;
                if (rcTV == null)
                {
                    return(null);
                }
                IMvxPagedViewModel currentVM = rcTV.ViewModel as IMvxPagedViewModel;
                if (currentVM == null)
                {
                    return(null);
                }
                IMvxPagedViewModel prevVM = pageVM.GetPreviousViewModel(currentVM);
                if (prevVM == null)
                {
                    return(null);
                }
                UIViewController prevVC = GetViewControllerForViewModel(prevVM);
                return(prevVC);
            };
        }
 public IMvxPagedViewModel GetPreviousViewModel(IMvxPagedViewModel currentViewModel)
 {
     if (currentViewModel is ThirdPageViewModel)
     {
         return(_secondPageVM);
     }
     else if (currentViewModel is SecondPageViewModel)
     {
         return(_firstPageVM);
     }
     return(null);
 }
 public IMvxPagedViewModel GetNextViewModel(IMvxPagedViewModel currentViewModel)
 {
     if (currentViewModel is FirstPageViewModel)
     {
         return(_secondPageVM);
     }
     else if (currentViewModel is SecondPageViewModel)
     {
         return(_thirdPageVM);
     }
     return(null);
 }
Exemple #8
0
        public virtual UIViewController GetViewControllerForViewModel(IMvxPagedViewModel queryVM)
        {
            UIViewController retVal = null;

            if (_pagedViewControllerCache.ContainsKey(queryVM.PagedViewId))
            {
                retVal = _pagedViewControllerCache[queryVM.PagedViewId];
            }
            else
            {
                retVal = this.CreateViewControllerFor(queryVM) as UIViewController;
                _pagedViewControllerCache[queryVM.PagedViewId] = retVal;
            }
            return(retVal);
        }
        public IMvxPagedViewModel GetPreviousViewModel(IMvxPagedViewModel currentViewModel)
        {
            int index = ViewModels.FindIndex((WeatherMainPageViewModel obj) => { return(obj.PagedViewId.Equals(currentViewModel.PagedViewId)); });

            if (index > 0)
            {
                return(ViewModels[index - 1]);
            }

            if (index == 0 && _currentLocationPageView != null)
            {
                return(_currentLocationPageView);
            }

            return(null);
        }
 public virtual void NavigateToViewModel(IMvxPagedViewModel targetVM,UIPageViewControllerNavigationDirection direction, bool animated = true)
 {
     UIViewController targetVC = GetViewControllerForViewModel (targetVM);
     SetViewControllers (new UIViewController[] { targetVC }, direction, animated, null);
 }
Exemple #11
0
        public virtual void NavigateToViewModel(IMvxPagedViewModel targetVM, UIPageViewControllerNavigationDirection direction, bool animated = true)
        {
            UIViewController targetVC = GetViewControllerForViewModel(targetVM);

            SetViewControllers(new UIViewController[] { targetVC }, direction, animated, null);
        }
Exemple #12
0
 public IMvxPagedViewModel GetPreviousViewModel(IMvxPagedViewModel currentViewModel)
 {
     throw new NotImplementedException();
 }