public SettingsSampleTabletPresenter(UIApplicationDelegate applicationDelegate, UIWindow window)
 {
     _applicationDelegate = applicationDelegate;
     _window    = window;
     _splitView = new SplitViewController();
     _window.RootViewController = _splitView;
 }
Esempio n. 2
0
 public PadPresenter(UIApplicationDelegate applicationDelegate, UIWindow window) : base(applicationDelegate, window)
 {
     _splitView            = new SplitViewController();
     _window               = window;
     _navigationController = new UINavigationController();
     //_window.RootViewController = _splitView;
 }
Esempio n. 3
0
        protected virtual bool CloseChildViewController(IMvxViewModel viewModel, MvxChildPresentationAttribute attribute)
        {
            // if there are modals presented
            if (ModalViewControllers.Any())
            {
                foreach (var modalNav in ModalViewControllers.Where(v => v is UINavigationController))
                {
                    if (TryCloseViewControllerInsideStack((UINavigationController)modalNav, viewModel))
                    {
                        return(true);
                    }
                }
            }

            //if the current root is a TabBarViewController, delegate close responsibility to it
            if (TabBarViewController != null && TabBarViewController.CloseChildViewModel(viewModel))
            {
                return(true);
            }

            if (SplitViewController != null && SplitViewController.CloseChildViewModel(viewModel))
            {
                return(true);
            }

            // if the current root is a NavigationController, close it in the stack
            if (MasterNavigationController != null && TryCloseViewControllerInsideStack(MasterNavigationController, viewModel))
            {
                return(true);
            }

            return(false);
        }
Esempio n. 4
0
 public TwitterTabletSearchPresenter(UIApplicationDelegate applicationDelegate, UIWindow window)
 {
     _applicationDelegate = applicationDelegate;
     _window    = window;
     _splitView = new SplitViewController();
     _window.RootViewController = _splitView;
 }
Esempio n. 5
0
        protected virtual bool CloseDetailSplitViewController(IMvxViewModel viewModel, MvxDetailSplitViewPresentationAttribute attribute)
        {
            if (SplitViewController != null && SplitViewController.CloseChildViewModel(viewModel))
            {
                return(true);
            }

            return(true);
        }
Esempio n. 6
0
        protected virtual void ShowDetailSplitViewController(
            UIViewController viewController,
            MvxDetailSplitViewPresentationAttribute attribute,
            MvxViewModelRequest request)
        {
            if (SplitViewController == null)
            {
                throw new MvxException("Trying to show a detail page without a SplitViewController, this is not possible!");
            }

            SplitViewController.ShowDetailView(viewController, attribute.WrapInNavigationController);
        }
        void DeleteList(object sender, EventArgs e)
        {
            if (SplitViewController.Collapsed)
            {
                NavigationController.PopViewController(true);
            }
            else
            {
                UIViewController emptyViewController = (UIViewController)Storyboard.InstantiateViewController(EmptyViewControllerStoryboardIdentifier);
                SplitViewController.ShowDetailViewController(emptyViewController, null);
            }

            MasterController.ListViewControllerDidDeleteList(this);
        }
Esempio n. 8
0
        void DeleteList(object sender, EventArgs e)
        {
            if (SplitViewController.Collapsed)
            {
                NavigationController.PopViewController(true);
            }
            else
            {
                // TODO: unnecessary cast https://trello.com/c/7SNAREch
                var emptyViewController = (UIViewController)Storyboard.InstantiateViewController(EmptyViewControllerStoryboardIdentifier);
                SplitViewController.ShowDetailViewController(emptyViewController, null);
            }

            MasterController.ListViewControllerDidDeleteList(this);
        }
Esempio n. 9
0
        public override void TouchesMoved(Foundation.NSSet touches, UIEvent evt)
        {
            UITouch touch = (UITouch)touches.AnyObject;

            if (touch != null)
            {
                CGPoint lastPt = touch.PreviousLocationInView(this);
                CGPoint pt     = touch.LocationInView(this);
                nfloat  offset = (SplitViewController.Vertical) ? pt.X - lastPt.X : pt.Y - lastPt.Y;
                if (!SplitViewController.MasterBeforeDetail)
                {
                    offset = -offset;
                }
                SplitViewController.SplitPosition = SplitViewController.SplitPosition + offset;
                SplitViewController.LayoutSubviews();
            }
        }
Esempio n. 10
0
        partial void ShowSearchController(NSObject sender)
        {
            var resultsController = Storyboard.InstantiateViewController(SearchResultsViewController.StoryboardIdentifier) as SearchResultsViewController;

            if (resultsController == null)
            {
                throw new Exception("Unable to instantiate a SearchResultsViewController.");
            }

            var searchController = new UISearchController(resultsController)
            {
                SearchResultsUpdater = resultsController,
                HidesNavigationBarDuringPresentation = false
            };

            searchController.SearchBar.Placeholder = "Enter keyword (e.g. iceland)";
            SplitViewController?.PresentViewController(searchController, true, null);
        }
Esempio n. 11
0
        protected override void OnOutputView(IMXView view)
        {
            var pairable = view as IPairable;

            if (!(view is UIViewController) && (pairable == null || !(pairable.Pair is UIViewController)))
            {
                iApp.Log.Debug("Cannot output a view whose native component is not a UIViewController.");
                return;
            }

            var controller = GetNativeObject <UIViewController>(view, "view") as UITabBarController;

            if (controller != null)
            {
                if (TopViewController.PresentedViewController != null)
                {
                    ModalManager.EnqueueModalTransition(TopViewController, null, true);
                }

                if (KeyWindow.RootViewController is MGSplitViewController)
                {
                    SplitViewController.SetViewControllers(new[]
                    {
                        controller,
                        (UIViewController)PaneManager.Instance.FromNavContext(Pane.Detail, 0),
                        (UIViewController)PaneManager.Instance.FromNavContext(Pane.Popover, 0)
                    });
                }
                else
                {
                    SetRoot(TopViewController = controller);
                }
            }
            else
            {
                PaneManager.Instance.DisplayView(view);
            }
        }