private void TestForNavigateRequested(KeyDownEventArgs e)
 {
     if ((e.VirtualKey == VirtualKey.GoBack) ||
         (e.VirtualKey == VirtualKey.NavigationLeft) ||
         (e.VirtualKey == VirtualKey.GamepadMenu) ||
         (e.VirtualKey == VirtualKey.GamepadLeftShoulder) ||
         (e.OnlyAlt && e.VirtualKey == VirtualKey.Back) ||
         (e.OnlyAlt && e.VirtualKey == VirtualKey.Left))
     {
         Debug.WriteLine($"{nameof(GestureService)}.{nameof(BackRequested)}");
         BackRequested?.Invoke(null, EventArgs.Empty);
     }
     else if ((e.VirtualKey == VirtualKey.GoForward) ||
              (e.VirtualKey == VirtualKey.NavigationRight) ||
              (e.VirtualKey == VirtualKey.GamepadRightShoulder) ||
              (e.OnlyAlt && e.VirtualKey == VirtualKey.Right))
     {
         Debug.WriteLine($"{nameof(GestureService)}.{nameof(ForwardRequested)}");
         ForwardRequested?.Invoke(null, EventArgs.Empty);
     }
     else if ((e.VirtualKey == VirtualKey.Refresh) ||
              (e.VirtualKey == VirtualKey.F5))
     {
         Debug.WriteLine($"{nameof(GestureService)}.{nameof(RefreshRequested)}");
         RefreshRequested?.Invoke(null, EventArgs.Empty);
     }
 }
Beispiel #2
0
        public GestureService(IBackButtonService backService, IKeyboardService keyService)
        {
            Two.BackService = backService as IBackButtonService2;
            Two.BackService.BackRequested += (s, e) =>
            {
                BackRequested2?.Invoke(s, e);
                if (AllowBackRequested)
                {
                    BackRequested?.Invoke(s, e);
                }
            };

            Two.BackService.ForwardRequested += (s, e) =>
            {
                ForwardRequested2?.Invoke(s, e);
                if (AllowForwardRequested)
                {
                    ForwardRequested?.Invoke(s, e);
                }
            };

            Two.KeyService = keyService as IKeyboardService2;
            Two.KeyService.AfterSearchGesture += (s, e) => AfterSearchGesture?.Invoke(s, e);
            Two.KeyService.AfterMenuGesture   += (s, e) => AfterMenuGesture?.Invoke(s, e);
            Two.KeyService.AfterKeyDown       += (s, e) => AfterKeyDown?.Invoke(s, e);
        }
        public static Common.HandledEventArgs RaiseForwardRequested()
        {
            var args = new Common.HandledEventArgs();

            ForwardRequested?.Invoke(null, args);
            return(args);
        }
Beispiel #4
0
        public void RaiseForwardRequested(HandledEventArgs args)
        {
            ForwardRequested?.Invoke(this, args);

            if (!args.Handled && this.Frame.ForwardStack.Count > 0)
            {
                GoForward();
            }
        }
Beispiel #5
0
        private void OnForwardRequested()
        {
            var args = new HandledEventArgs();

            ForwardRequested?.Invoke(this, args);

            if (!args.Handled)
            {
                NavigationService.GoForward();
                args.Handled = true;
            }
        }
Beispiel #6
0
        private void RaiseForwardRequested()
        {
            var args = new HandledEventArgs();

            ForwardRequested?.Invoke(this, args);

            if (!args.Handled)
            {
                // default to first window
                NavigationService.GoForward();
                args.Handled = true;
            }
        }
Beispiel #7
0
 public void RaiseForwardRequested(HandledEventArgs args)
 {
     if (ForwardRequested == null)
     {
         args.Handled = this.Frame.ForwardStack.Count > 0;
         if (args.Handled)
         {
             this.GoForward();
         }
     }
     else
     {
         ForwardRequested?.Invoke(this, args);
     }
 }
Beispiel #8
0
        HandledEventArgs IBackButtonService2.RaiseForwardRequested()
        {
            var cancelEventArgs = new CancelEventArgs();

            BeforeForwardRequested?.Invoke(null, cancelEventArgs);
            if (cancelEventArgs.Cancel)
            {
                return(new HandledEventArgs {
                    Handled = true
                });
            }

            var handledEventArgs = new HandledEventArgs();

            ForwardRequested?.Invoke(null, handledEventArgs);
            return(handledEventArgs);
        }
Beispiel #9
0
        public Common.HandledEventArgs RaiseForwardRequested()
        {
            var cancelEventArgs = new CancelEventArgs();

            BeforeForwardRequested?.Invoke(null, cancelEventArgs);
            if (cancelEventArgs.Cancel)
            {
                return(new Common.HandledEventArgs {
                    Handled = true
                });
            }

            var handledEventArgs = new Common.HandledEventArgs();

            ForwardRequested?.Invoke(null, handledEventArgs);
            return(handledEventArgs);
        }
Beispiel #10
0
        private void RaiseForwardRequested()
        {
            var args = new HandledEventArgs();

            ForwardRequested?.Invoke(null, args);
            if (args.Handled)
            {
                return;
            }
            foreach (var frame in WindowWrapper.Current().NavigationServices.Select(x => x.FrameFacade))
            {
                frame.RaiseForwardRequested(args);
                if (args.Handled)
                {
                    return;
                }
            }
            NavigationService.GoForward();
        }
        private void TestForNavigateRequested(PointerEventArgs e, PointerPointProperties properties)
        {
            // If back or foward are pressed (but not both)
            var backPressed    = properties.IsXButton1Pressed;
            var forwardPressed = properties.IsXButton2Pressed;

            if (backPressed ^ forwardPressed)
            {
                e.Handled = true;
                if (backPressed)
                {
                    Debug.WriteLine($"{nameof(GestureService)}.{nameof(BackRequested)}");
                    BackRequested?.Invoke(null, EventArgs.Empty);
                }
                else if (forwardPressed)
                {
                    Debug.WriteLine($"{nameof(GestureService)}.{nameof(ForwardRequested)}");
                    ForwardRequested?.Invoke(null, EventArgs.Empty);
                }
            }
        }
        private void RaiseForwardRequested()
        {
            DebugWrite();

            var args = new HandledEventArgs();

            ForwardRequested?.Invoke(null, args);
            if (args.Handled)
            {
                return;
            }
            foreach (var navigationService in WindowWrapper.Current().NavigationServices)
            {
                navigationService.RaiseForwardRequested(args);
                if (args.Handled)
                {
                    return;
                }
            }
            NavigationService.GoForward();
        }
Beispiel #13
0
        private void RaiseForwardRequested()
        {
            DebugWrite();

            var args = new HandledEventArgs();

            ForwardRequested?.Invoke(null, args);
            if (args.Handled)
            {
                return;
            }
            foreach (var navigationService in Services.NavigationService.NavigationService.Instances.Select(x => x).Reverse())
            {
                navigationService.RaiseForwardRequested(args);
                if (args.Handled)
                {
                    return;
                }
            }
            NavigationService.GoForward();
        }
Beispiel #14
0
        public void Forward()
        {
            var currentEntry = HistoryStack.FirstOrDefault(h => h.Current);

            int currentIndex = HistoryStack.ToList().IndexOf(currentEntry);

            var validNavigationStack = HistoryStack
                                       // Transform to list so we don't affect the original stack
                                       ?.ToList();

            // Find the index of the current address in the valid history items
            int currentIndex_validStack = validNavigationStack.FindIndex(h => h.VisitedAt == currentEntry.VisitedAt);

            var newEntry = validNavigationStack.ElementAtOrDefault(currentIndex_validStack - 1);

            if (newEntry is null)
            {
                // We can't go forward, the UI should reflect that
                CanGoForwardChanged?.Invoke(false);
                // And the code shouldn't try.
                return;
            }

            foreach (var h in HistoryStack)
            {
                h.Current = false;
            }

            // This is the entry we're navigating to, so it should be marked as current
            HistoryStack.First(h => h.VisitedAt == newEntry.VisitedAt).Current = true;

            if (newEntry != null)
            {
                CanGoBackChanged?.Invoke(true);
                // If there is something else at the front of the stack, we can navigate forward to it
                CanGoForwardChanged?.Invoke(currentIndex_validStack - 1 > 0);

                ForwardRequested?.Invoke(newEntry);
            }
        }
Beispiel #15
0
        private void RaiseForwardRequested()
        {
            DebugWrite();

            var args = new HandledEventArgs();

            ForwardRequested?.Invoke(null, args);
            if (args.Handled)
            {
                return;
            }
            foreach (var frame in WindowContext.GetForCurrentView().NavigationServices.Select(x => x.FrameFacade))
            {
                frame.RaiseForwardRequested(args);
                if (args.Handled)
                {
                    return;
                }
            }

            NavigationService?.GoForward();
        }
Beispiel #16
0
 internal void RaiseForwardRequested(HandledEventArgs args) => ForwardRequested?.Invoke(this, args);
Beispiel #17
0
 public void RaiseForwardRequested(HandledEventArgs args)
 {
     ForwardRequested?.Invoke(this, args);
     // for backwards compat
     FrameFacade.RaiseForwardRequested(args);
 }
Beispiel #18
0
 void INavigationServiceInternal.RaiseForwardRequested(HandledEventArgs args)
 {
     ForwardRequested?.Invoke(this, args);
 }
 private void Forward_Click(object sender, RoutedEventArgs e)
 {
     ForwardRequested?.Invoke(this, EventArgs.Empty);
 }
Beispiel #20
0
 public bool RaiseForwardRequested() => IfCanRaiseEvent(Gesture.Forward, () => ForwardRequested?.Invoke(this, EventArgs.Empty));
 public void RaiseForwardRequested(HandledEventArgs args)
 {
     ForwardRequested?.Invoke(this, args);
 }
Beispiel #22
0
 public void RaiseForwardRequested() => ForwardRequested?.Invoke(this, EventArgs.Empty);
Beispiel #23
0
 void INavigationService2.RaiseForwardRequested(HandledEventArgsEx args)
 => ForwardRequested?.Invoke(this, args);