Example #1
0
        public override void Scrolled(UIScrollView scrollView)
        {
            double timeLapsed = NSDate.Now.SecondsSinceReferenceDate - LastTime;

            if (timeLapsed > .10f && DidTick == false)
            {
                // notify our parent
                // guard against this callback being received after we've switched away from this task.
                if (NavToolbar != null)
                {
                    DidTick = true;

                    // get the percentage. If we're near the top, simply show the bar.
                    nfloat scrollPerc = scrollView.ContentOffset.Y / scrollView.ContentSize.Height;
                    if (scrollPerc < .10f)
                    {
                        NavToolbar.Reveal(true);
                    }
                    else
                    {
                        // otherwise, if we flicked quickly, let the toggle the bar
                        nfloat scrollDelta = LastPos.Y - scrollView.ContentOffset.Y;
                        if (scrollDelta > 75)
                        {
                            NavToolbar.Reveal(true);
                        }
                        else if (scrollDelta < -125)
                        {
                            NavToolbar.Reveal(false);
                        }
                    }
                }
            }
        }
Example #2
0
        public override void MakeActive( TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds )
        {
            base.MakeActive( parentViewController, navToolbar, containerBounds );

            // set our current page as root
            parentViewController.PushViewController(MainPageVC, false);
        }
Example #3
0
        public override void WillShowViewController(TaskUIViewController viewController)
        {
            base.WillShowViewController(viewController);

            // turn off the share & create buttons
            NavToolbar.SetShareButtonEnabled(false, null);
            NavToolbar.SetCreateButtonEnabled(false, null);

            // if it's the main page, nide the nav toolbar
            if (viewController == MainPageVC)
            {
                NavToolbar.Reveal(false);
            }
            // if it's the group finder, force the nav toolbar to always show
            else if (viewController as GroupFinderViewController != null)
            {
                NavToolbar.Reveal(true);
            }
            // otherwise, as long as it IS NOT the webView, do the standard 3 seconds
            else if (viewController as TaskWebViewController == null)
            {
                //NavToolbar.RevealForTime( 3.0f );
                NavToolbar.Reveal(true);
            }
        }
            public WebScrollDelegate( UIWebView parentWebView, NavToolbar toolbar ) : base( toolbar )
            {
                ParentWebView = parentWebView;

                SourceDelegate = ParentWebView.ScrollView.Delegate;
                ParentWebView.ScrollView.Delegate = this;
            }
Example #5
0
            public WebScrollDelegate(UIWebView parentWebView, NavToolbar toolbar) : base(toolbar)
            {
                ParentWebView = parentWebView;

                SourceDelegate = ParentWebView.ScrollView.Delegate;
                ParentWebView.ScrollView.Delegate = this;
            }
Example #6
0
        public override void WillShowViewController(TaskUIViewController viewController)
        {
            base.WillShowViewController(viewController);

            // if it's the main page, disable the back button on the toolbar
            if (viewController == MainPage)
            {
                NavToolbar.SetShareButtonEnabled(false, null);
                NavToolbar.SetCreateButtonEnabled(true, null);

                NavToolbar.Reveal(true);
            }
            else
            {
                NavToolbar.SetShareButtonEnabled(false, null);
                NavToolbar.SetCreateButtonEnabled(false, null);

                // if we're showing the post controller, don't reveal the nav bar,
                // as nothing should be allowed while posting.
                if (viewController as Prayer_PostUIViewController == null)
                {
                    //NavToolbar.RevealForTime( 3.0f );
                    NavToolbar.Reveal(true);
                }
            }
        }
Example #7
0
        /// <summary>
        /// Called when the task is going to be the forefront task.
        /// Allows it to do any work necessary before being interacted with.
        /// Ex: Notes might disable the phone's sleep
        /// This is NOT called when the application comes into the foreground.
        /// </summary>
        /// <param name="parentViewController">Parent view controller.</param>
        public virtual void MakeActive( TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds )
        {
            ContainerBounds = containerBounds;

            ParentViewController = parentViewController;

            NavToolbar = navToolbar;
        }
Example #8
0
        /// <summary>
        /// Called when the task is going to be the forefront task.
        /// Allows it to do any work necessary before being interacted with.
        /// Ex: Notes might disable the phone's sleep
        /// This is NOT called when the application comes into the foreground.
        /// </summary>
        /// <param name="parentViewController">Parent view controller.</param>
        public virtual void MakeActive(TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds)
        {
            ContainerBounds = containerBounds;

            ParentViewController = parentViewController;

            NavToolbar = navToolbar;
        }
Example #9
0
        public override void MakeActive( TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds )
        {
            base.MakeActive( parentViewController, navToolbar, containerBounds );

            MainViewController.View.Bounds = containerBounds;
            NoteController.View.Bounds = containerBounds;

            parentViewController.PushViewController( MainViewController, false );
        }
Example #10
0
        public override void WillShowViewController(TaskUIViewController viewController)
        {
            base.WillShowViewController(viewController);

            // if we're coming from WebView or Notes and going to something else,
            // force the device back to portrait

            // if the notes are active, make sure the share button gets turned on
            if ((viewController as NotesViewController) != null)
            {
                // Let the view controller manage this being enabled, because
                // it's conditional on being in landscape or not.
                NavToolbar.SetCreateButtonEnabled(false, null);
                NavToolbar.SetShareButtonEnabled(true, delegate
                {
                    (viewController as NotesViewController).ShareNotes( );
                });


                // go ahead and show the bar, because we're at the top of the page.
                NavToolbar.Reveal(true);
            }
            else if ((viewController as NotesWatchUIViewController) != null)
            {
                // Let the view controller manage this being enabled, because
                // it's conditional on being in landscape or not.
                NavToolbar.SetCreateButtonEnabled(false, null);
                NavToolbar.SetShareButtonEnabled(true, delegate
                {
                    (viewController as NotesWatchUIViewController).ShareVideo( );
                });
            }
            else if ((viewController as NotesDetailsUIViewController) != null)
            {
                NavToolbar.SetCreateButtonEnabled(false, null);
                NavToolbar.SetShareButtonEnabled(false, null);
                //NavToolbar.RevealForTime( 3.0f );
                NavToolbar.Reveal(true);
            }
            else if ((viewController as NotesMainUIViewController) != null)
            {
                NavToolbar.SetCreateButtonEnabled(false, null);
                NavToolbar.SetShareButtonEnabled(false, null);
                NavToolbar.Reveal(false);
            }
            else if ((viewController as TaskWebViewController) != null)
            {
                NavToolbar.SetCreateButtonEnabled(false, null);
                NavToolbar.SetShareButtonEnabled(false, null);
            }
            else if ((viewController as BiblePassageViewController) != null)
            {
                NavToolbar.SetCreateButtonEnabled(false, null);
                NavToolbar.SetShareButtonEnabled(false, null);
            }
        }
Example #11
0
        public override void WillShowViewController(TaskUIViewController viewController)
        {
            base.WillShowViewController(viewController);

            // turn off the back, share & create buttons
            NavToolbar.SetBackButtonEnabled(false);
            NavToolbar.SetShareButtonEnabled(false, null);
            NavToolbar.SetCreateButtonEnabled(false, null);
            NavToolbar.Reveal(true);
        }
Example #12
0
        public override void MakeActive( TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds )
        {
            base.MakeActive( parentViewController, navToolbar, containerBounds );

            MainPageVC = new TaskUIViewController();
            MainPageVC.Task = this;
            MainPageVC.View.Bounds = containerBounds;

            // set our current page as root
            parentViewController.PushViewController(MainPageVC, false);

            // and immediately handle the URL
            TaskWebViewController.HandleUrl( false, true, AboutConfig.Url, this, MainPageVC, false, false );
        }
Example #13
0
        public override void MakeActive( TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds )
        {
            base.MakeActive( parentViewController, navToolbar, containerBounds );

            MainPageVC.View.Bounds = containerBounds;

            // refresh our news from GeneralData
            ReloadNews( );

            // and provide it to the main page
            MainPageVC.UpdateNews( News );

            // set our current page as root
            parentViewController.PushViewController(MainPageVC, false);
        }
Example #14
0
        public override void TouchesEnded(TaskUIViewController taskUIViewController, NSSet touches, UIEvent evt)
        {
            base.TouchesEnded(taskUIViewController, touches, evt);

            // immediately hide the toolbar on the main page
            if (ActiveViewController == MainViewController)
            {
                NavToolbar.Reveal(false);
            }
            // allow it as long as it's the watch window in portrait mode or landscape wide mode.
            else if ((ActiveViewController as NotesWatchUIViewController) != null)
            {
                if (SpringboardViewController.IsLandscapeWide( ) || SpringboardViewController.IsDevicePortrait( ))
                {
                    //NavToolbar.RevealForTime( 3.0f );
                }
            }
        }
Example #15
0
        public override void WillShowViewController(TaskUIViewController viewController)
        {
            base.WillShowViewController(viewController);

            // turn off the share & create buttons
            NavToolbar.SetShareButtonEnabled(false, null);
            NavToolbar.SetCreateButtonEnabled(false, null);

            // if it's the main page, disable the back button on the toolbar
            if (viewController == MainPageVC)
            {
                NavToolbar.Reveal(false);
            }
            else if (viewController as TaskWebViewController == null)
            {
                NavToolbar.Reveal(true);
            }
        }
        protected void CreateSubNavigationController( )
        {
            // Create the sub navigation controller
            SubNavigationController = new TaskUINavigationController();
            SubNavigationController.NavigationBarHidden = true;
            SubNavigationController.Delegate            = new NavBarDelegate( )
            {
                ParentController = this
            };

            // setup the toolbar that will manage task navigation and any other tasks the task needs
            SubNavToolbar = new NavToolbar();

            SubNavToolbar.BarTintColor  = Rock.Mobile.UI.Util.GetUIColor(PrivateSubNavToolbarConfig.BackgroundColor);
            SubNavToolbar.Layer.Opacity = PrivateSubNavToolbarConfig.Opacity;
            SubNavigationController.View.AddSubview(SubNavToolbar);

            // add the back button
            SubNavToolbar.SetBackButtonAction(delegate
            {
                // don't allow multiple back presses at once
                if (TaskControllerAnimating == false)
                {
                    // if there IS a task that DOES NOT want to process BackPressed, do our default behavior.
                    if (CurrentTask != null && CurrentTask.OnBackPressed( ) == false)
                    {
                        TaskControllerAnimating = true;
                        SubNavigationController.PopViewController(true);
                    }
                }
            });

            // add this navigation controller (and its toolbar) as a child
            // of this ContainerViewController, which will effectively make it a child
            // of the primary navigation controller.
            AddChildViewController(SubNavigationController);
            View.AddSubview(SubNavigationController.View);
        }
 public TableViewDelegate( TableSource tableSource, NavToolbar toolbar )
     : base(toolbar)
 {
     TableSource = tableSource;
 }
Example #18
0
        public override void MakeActive(TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds)
        {
            base.MakeActive(parentViewController, navToolbar, containerBounds);

            // set our current page as root
            parentViewController.PushViewController(MainPage, false);
        }
Example #19
0
        public override void MakeActive(TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds)
        {
            base.MakeActive(parentViewController, navToolbar, containerBounds);

            MainPageVC.View.Bounds = containerBounds;

            // refresh our news from GeneralData
            ReloadNews( );

            // and provide it to the main page
            MainPageVC.UpdateNews(News);

            // set our current page as root
            parentViewController.PushViewController(MainPageVC, false);
        }
        protected void CreateSubNavigationController( )
        {
            // Create the sub navigation controller
            SubNavigationController = new TaskUINavigationController();
            SubNavigationController.NavigationBarHidden = true;
            SubNavigationController.Delegate = new NavBarDelegate( ) { ParentController = this };

            // setup the toolbar that will manage task navigation and any other tasks the task needs
            SubNavToolbar = new NavToolbar();

            SubNavToolbar.BarTintColor = Rock.Mobile.UI.Util.GetUIColor( PrivateSubNavToolbarConfig.BackgroundColor );
            SubNavToolbar.Layer.Opacity = PrivateSubNavToolbarConfig.Opacity;
            SubNavigationController.View.AddSubview( SubNavToolbar );

            // add the back button
            SubNavToolbar.SetBackButtonAction( delegate
                {
                    // don't allow multiple back presses at once
                    if( TaskControllerAnimating == false )
                    {
                        TaskControllerAnimating = true;
                        SubNavigationController.PopViewController( true );
                    }
                });

            // add this navigation controller (and its toolbar) as a child
            // of this ContainerViewController, which will effectively make it a child
            // of the primary navigation controller.
            AddChildViewController( SubNavigationController );
            View.AddSubview( SubNavigationController.View );
        }
 public NavBarRevealHelperDelegate( NavToolbar toolbar )
 {
     NavToolbar = toolbar;
 }
Example #22
0
        public override void MakeActive(TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds)
        {
            base.MakeActive(parentViewController, navToolbar, containerBounds);

            MainPageVC             = new TaskUIViewController();
            MainPageVC.Task        = this;
            MainPageVC.View.Bounds = containerBounds;

            // set our current page as root
            parentViewController.PushViewController(MainPageVC, false);

            // and immediately handle the URL
            string fullUrl = Rock.Mobile.Util.Strings.Parsers.AddParamToURL(AboutConfig.Url, string.Format(PrivateGeneralConfig.RockCampusContext, MobileApp.Shared.Network.RockMobileUser.Instance.GetRelevantCampus( )));

            TaskWebViewController.HandleUrl(false, true, fullUrl, this, MainPageVC, false, true, false, false);
        }
Example #23
0
        public override void MakeActive(TaskUINavigationController parentViewController, NavToolbar navToolbar, CGRect containerBounds)
        {
            base.MakeActive(parentViewController, navToolbar, containerBounds);

            MainViewController.View.Bounds = containerBounds;
            NoteController.View.Bounds     = containerBounds;

            parentViewController.PushViewController(MainViewController, false);
        }
Example #24
0
 public NavBarRevealHelperDelegate(NavToolbar toolbar)
 {
     NavToolbar = toolbar;
 }
Example #25
0
 public TableViewDelegate(TableSource tableSource, NavToolbar toolbar) : base(toolbar)
 {
     TableSource = tableSource;
 }