Exemplo n.º 1
0
 async void ShowSecond(bool animated)
 {
     if (ChildViewControllers.Contains(Second))
     {
         return;
     }
     if (PresentedViewController != null)
     {
         await DismissViewControllerAsync(animated);
     }
     Second.View.Alpha = animated ? 0.0f : 1.0f;
     Splitter.Alpha    = animated ? 0.0f : 1.0f;
     Second.ViewWillAppear(animated);
     AddChildViewController(Second);
     containerView.AddSubview(Second.View);
     containerView.AddSubview(Splitter);
     containerView.OnlyFirst = false;
     containerView.SetNeedsLayout();
     if (animated)
     {
         await UIView.AnimateAsync(0.333, () => {
             Second.View.Alpha = 1.0f;
             Splitter.Alpha    = 1.0f;
             containerView.LayoutIfNeeded();
         });
     }
 }
Exemplo n.º 2
0
        void InsertPageBefore(Page page, Page before)
        {
            if (before == null)
            {
                throw new ArgumentNullException(nameof(before));
            }
            if (page == null)
            {
                throw new ArgumentNullException(nameof(page));
            }

            var currentList     = _currentStack.Reverse().ToList();
            var beforePageIndex = currentList.IndexOf(p => p.Page == before);
            var pageWrapper     = new NavigationChildPageWrapper(page);

            currentList.Insert(beforePageIndex, pageWrapper);
            _currentStack = new Stack <NavigationChildPageWrapper>(currentList);

            var vc = CreateViewControllerForPage(page);

            vc.SetElementSize(new Size(View.Bounds.Width, View.Bounds.Height));
            page.Layout(new Rectangle(0, 0, View.Bounds.Width, View.Frame.Height));
            vc.NativeView.WantsLayer = true;

            var beforeRenderer        = Platform.GetRenderer(before);
            var beforeControllerIndex = ChildViewControllers.IndexOf(beforeRenderer.ViewController);

            InsertChildViewController(vc.ViewController, beforeControllerIndex);
            View.AddSubview(vc.NativeView, NSWindowOrderingMode.Below, beforeRenderer.NativeView);
        }
        void AnimateUserNameAndPicture(Action completed)
        {
            if (Cancelled)
            {
                return;
            }

            var me = RealmUserServices.GetMe(false);

            if (me == null)
            {
                return;
            }

            //todo uncomment
            var targetName = Strings.Onboarding.default_name;//; String.IsNullOrEmpty(me.Name) ? Strings.Onboarding.default_name : me.Name;

            var vc = ChildViewControllers.Where(c => c.GetType() == typeof(CardViewController)).First() as CardViewController;

            vc.AnimateTextUserNameLabel(targetName, 0.1, () =>
            {
                vc.AddUserImage(me.RemoteProfileImageURL);
                completed?.Invoke();
            });
        }
        public override void ViewDidLoad()
        {
            ViewModel = this.GetViewModel();

            this.Title = "Welcome to White Label Insurance";

            ViewModel.Meeting.Annotations
            .WhenAnyValue(p => p.Annotations)
            .ObserveOn(RxApp.MainThreadScheduler)
            .Subscribe(_ => UpdateClientAnnotations());

            ViewModel.Meeting.Annotations.SurfaceSize.Height = annotationView.Bounds.Height;
            ViewModel.Meeting.Annotations.SurfaceSize.Width  = annotationView.Bounds.Width;

            annotationView.AnnotationViewModel = ViewModel.Meeting.Annotations;

            // Pass along meeting vm changes to the presentation controller
            var pres = ChildViewControllers.OfType <PresentationViewController>().First();
            var vc   = ChildViewControllers.OfType <VideoConferenceViewController>().First();

            this.WhenAnyValue(vm => vm.ViewModel.Meeting)
            .Where(m => m != null)
            .Subscribe(m => { pres.ViewModel = m; vc.ViewModel = m.VideoConf; });

            // UGLY UGLY UGLY
            var services = (PlatformServices)this.GetViewModelLocator().GetService <IPlatformServices>();

            services.OriginView = this.View;

            NavigationItem.HidesBackButton = true;
            //var customButton = new UIBarButtonItem("Lobby",
            //    UIBarButtonItemStyle.Plain,
            //    (s, e) => _navigation.BackCommand.Execute(null));
            //NavigationItem.LeftBarButtonItem = customButton;
        }
Exemplo n.º 5
0
        public override void ShowTabView(UIViewController viewController, MvxTabPresentationAttribute attribute)
        {
            System.Type vcType;

            if (viewController is UINavigationController)
            {
                vcType = viewController.ChildViewControllers[0].GetType();
            }
            else
            {
                vcType = viewController.GetType();
            }

            var existingVc = ChildViewControllers.FirstOrDefault(x =>
            {
                if (x is UINavigationController)
                {
                    return(x.ChildViewControllers[0].GetType() == vcType);
                }
                else
                {
                    return(x.GetType() == vcType);
                }
            });

            if (existingVc != null && ChildViewControllers != null)
            {
                SelectedIndex = Array.IndexOf(ChildViewControllers, existingVc);
            }
            else
            {
                base.ShowTabView(viewController, attribute);
            }
        }
Exemplo n.º 6
0
 async void HideSecond(bool animated)
 {
     if (!ChildViewControllers.Contains(Second))
     {
         return;
     }
     Second.ViewWillDisappear(animated);
     containerView.OnlyFirst = true;
     containerView.SetNeedsLayout();
     if (animated)
     {
         await UIView.AnimateAsync(0.333, () => {
             Second.View.Alpha = 0.0f;
             Splitter.Alpha    = 0.0f;
             containerView.LayoutIfNeeded();
         });
     }
     else
     {
         Second.View.Alpha = 0.0f;
         Splitter.Alpha    = 0.0f;
     }
     Second.RemoveFromParentViewController();
     Second.View.RemoveFromSuperview();
     Splitter.RemoveFromSuperview();
     containerView.SetNeedsLayout();
 }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            this.AddDefaultNavigationTitle();

            streamingController  = ChildViewControllers.OfType <RatingStreamingViewController>().FirstOrDefault();
            processingController = ChildViewControllers.OfType <RatingProcessingViewController>().FirstOrDefault();
        }
Exemplo n.º 8
0
        void RemoveChildCardViewControllers()
        {
            var vc = ChildViewControllers.Where(c => c.GetType() == typeof(CardViewController)).FirstOrDefault();

            vc.WillMoveToParentViewController(null);
            vc.View.RemoveFromSuperview();
            vc.RemoveFromParentViewController();
        }
Exemplo n.º 9
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            ratingController = ChildViewControllers.OfType <RatingStarsController>().FirstOrDefault();
            RepeatPhotoButton.TouchUpInside  += RepeatPhoto;
            SubmitRatingButton.TouchUpInside += SubmitRating;
        }
Exemplo n.º 10
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var settings = this.GetViewModelLocator().GetService <ISettings>();

            if (settings.Mode == AppMode.Agent)
            {
                // HACK: This should work, but nested properties aren't currently supported.
                //this.BindCommand(ViewModel, vm => vm.ActiveTool.NextPageCommand, c => c.nextButton);
                //this.BindCommand(ViewModel, vm => vm.ActiveTool.PreviousPageCommand, c => c.prevButton);

                // Instead, we use these nasties to bind to the nested commands
                // Remove once nested props are supported in BindCommand
                this.WhenAnyValue(v => v.ViewModel.ActiveTool.NextPageCommand)
                .Where(c => c != null)
                .Subscribe(c =>
                {
                    if (_nextDisp != null)
                    {
                        _nextDisp.Dispose();
                    }
                    _nextDisp = c.BindToTarget(nextButton, UIControlEvent.TouchUpInside);
                });

                this.WhenAnyValue(v => v.ViewModel.ActiveTool.PreviousPageCommand)
                .Where(c => c != null)
                .Subscribe(c =>
                {
                    if (_prevDisp != null)
                    {
                        _prevDisp.Dispose();
                    }
                    _prevDisp = c.BindToTarget(prevButton, UIControlEvent.TouchUpInside);
                });
            }

            var nav = ChildViewControllers.OfType <ToolNavigationController>().First();

            this.WhenAnyValue(vm => vm.ViewModel.ActiveTool.CurrentPage)
            .Where(t => t != null)
            .Select(t => new { Controller = GetViewControllerForPage(t), ToolPage = t })
            .ObserveOn(RxApp.MainThreadScheduler)
            .Subscribe(c =>
            {
                // Set the view model
                var vf = c.Controller as IViewFor;
                if (vf != null)
                {
                    vf.ViewModel = c.ToolPage;
                }

                // utilize the navigation controller, but don't animate, it looks awkward
                // if it is not animation the entire screen
                nav.PopToRootViewController(false);
                nav.PushViewController(c.Controller, false);
            });
        }
Exemplo n.º 11
0
        partial void FlipButtonClicked(Foundation.NSObject sender)
        {
            Shared.TableItems.First().Card.Flip();

            foreach (var vc in ChildViewControllers.Where(c => c.GetType() == typeof(CardViewController)))
            {
                ((CardViewController)vc).PerformFlipAnimationIfNecessary();
            }
        }
        void SwitchDisplayDepth(NSObject sender)
        {
            var realSender   = (NSMenuItem)sender;
            var newViewDepth = (ViewDepth)(int)realSender.Tag;

            ChildViewControllers.OfType <VisualRepViewController> ().ForEach(viewController => {
                viewController.ViewDepth = newViewDepth;
            });
        }
        void SwitchDisplayMode(NSObject sender)
        {
            var realSender     = (NSMenuItem)sender;
            var newDisplayMode = (DisplayMode)(int)realSender.Tag;

            ChildViewControllers.OfType <VisualRepViewController> ().ForEach(viewController => {
                viewController.scnView.DisplayMode = newDisplayMode;
            });
        }
        public override void PushViewController(UIViewController viewController, bool animated)
        {
            base.PushViewController(viewController, animated);

            if (ChildViewControllers.Count() > 1)
            {
                NavTitle.BackMode();
            }
        }
Exemplo n.º 15
0
        public void ShowTabView(NSViewController viewController, string tabTitle)
        {
            AddChildViewController(viewController);

            if (!string.IsNullOrEmpty(tabTitle))
            {
                TabViewItems[ChildViewControllers.Count() - 1].Label = tabTitle;
            }
        }
        public override UIViewController PopViewController(bool animated)
        {
            UIViewController controller = base.PopViewController(animated);

            if (ChildViewControllers.Count() == 1)
            {
                NavTitle.RootMode();
            }

            return(controller);
        }
Exemplo n.º 17
0
        private void UpdateData()
        {
            if (!_historyDate.HasValue)
            {
                return;
            }

            SelectedDateLabel.Text = _historyDate.Value.ToShortDateString();
            NavigateNext.Hidden    = _historyDate.Value.Date.Equals(DateTime.Now.Date);
            (ChildViewControllers.Last() as ExerciseHistoryContainerViewController)?.UpdateData(_historyDate.Value);
        }
        void ChangeBorderColor(UIColor color)
        {
            if (Cancelled)
            {
                return;
            }

            var vc = ChildViewControllers.Where(c => c.GetType() == typeof(CardViewController)).First() as CardViewController;

            vc.ChangeBorderColor(color);
        }
        void ToggleHiddenViews(NSObject sender)
        {
            var realSender = (NSMenuItem)sender;
            // If it's currently on, turn it off. If it's off, turn it on.
            var newDisplayMode = realSender.State == NSCellStateValue.On ? false : true;

            ChildViewControllers.OfType <VisualRepViewController> ().ForEach(viewController => {
                viewController.scnView.ShowHiddenViews = newDisplayMode;
            });
            realSender.State = newDisplayMode ? NSCellStateValue.On : NSCellStateValue.Off;
        }
        void AddEmptySocialMedia()
        {
            if (Cancelled)
            {
                return;
            }

            var vc = ChildViewControllers.Where(c => c.GetType() == typeof(CardViewController)).First() as CardViewController;

            vc.AddEmptySocialMedia();
        }
Exemplo n.º 21
0
        public bool CloseTabView(IMvxViewModel viewModel)
        {
            var index = ChildViewControllers.Select(v => (MvxViewController)v).ToList().FindIndex(vc => viewModel == vc.ViewModel);

            if (index >= 0)
            {
                RemoveChildViewController(index);
                return(true);
            }

            return(false);
        }
        void SelectView(InspectView view, bool withinExistingTree, bool setSelectedView)
        {
            if (!Session.Agent.IsConnected)
            {
                return;
            }

            if (setSelectedView &&
                !string.IsNullOrEmpty(view?.PublicCSharpType) &&
                Session.SessionKind == ClientSessionKind.LiveInspection)
            {
                var code = $"var selectedView = GetObject<{view.PublicCSharpType}> (0x{view.Handle:x})";
                Session.WorkbookPageViewModel.EvaluateAsync(code).Forget();
            }

            if (withinExistingTree && representedRootView != null && view != null)
            {
                view = representedRootView.FindSelfOrChild(v => v.Handle == view.Handle);
            }

            if (view != null && view.Root == view && view.IsFakeRoot)
            {
                view = view.Children.FirstOrDefault() ?? view;
            }

            var root    = view?.Root;
            var current = view;

            // find the "window" to represent in the 3D view by either
            // using the root node of the tree for trees with real roots,
            // or by walking up to find the real root below the fake root
            if (root != null &&
                root.IsFakeRoot &&
                current != root)
            {
                while (current.Parent != null && current.Parent != root)
                {
                    current = current.Parent;
                }
            }
            else
            {
                current = root;
            }

            representedRootView = root;
            ChildViewControllers.OfType <ViewInspectorViewController> ().ForEach(viewController => {
                viewController.RootView        = root;
                viewController.RepresentedView = current;
                viewController.SelectedView    = view;
            });
        }
Exemplo n.º 23
0
 partial void YesClicked(Foundation.NSObject sender)
 {
     UIView.Animate(0.5, () =>
     {
         var vc        = ChildViewControllers.Where(c => c.GetType() == typeof(CardViewController)).FirstOrDefault();
         vc.View.Alpha = 0;
     }, () =>
     {
         Shared.AcceptCard();
         RemoveChildCardViewControllers();
         StopSearchingIfCardsFound();
     });
 }
        public override void ViewDidLoad()
        {
            PullToRefresh = false;

            base.ViewDidLoad();

            TableSource = new SharingTableViewSource();
            ((SharingTableViewSource)TableSource).ShowsAccessory = Shared.SelectedCard.IsMine();
            TableSource.ItemSelected += (arg1, arg2) =>
            {
                if (Shared.SelectedCard.IsMine())
                {
                    var footer = ChildViewControllers.Where(c => c.GetType() == typeof(CardSharingStatusViewController)).FirstOrDefault() as CardSharingStatusViewController;
                    if (footer == null)
                    {
                        return;
                    }
                    if (footer.Sharing)
                    {
                        return;
                    }

                    Shared.OutletSelected(arg2);
                    TableView.ReloadRows(new NSIndexPath[] { arg1 }, UITableViewRowAnimation.Automatic);

                    HeaderView.Update(false);

                    footer.Update();
                    return;
                }

                ApplicationExtensions.OpenApplicationFromOutlet(arg2);
            };
            TableView.Source = TableSource;

            HeaderView = new CardViewController();
            HeaderView.SelectedCard   = Shared.SelectedCard;
            HeaderView.View.Frame     = new CGRect(0, 0, TableView.Frame.Width, CardViewController.GetCalculatedHeight());
            TableView.TableHeaderView = HeaderView.View;
            AddChildViewController(HeaderView);
            HeaderView.DidMoveToParentViewController(this);

            if (Shared.SelectedCard.IsMine())
            {
                CardSharingStatusViewController footerView = new CardSharingStatusViewController();
                footerView.SelectedCard   = Shared.SelectedCard;
                footerView.View.Frame     = new CGRect(0, 0, TableView.Frame.Width, footerView.GetHeight());
                TableView.TableFooterView = footerView.View;
                AddChildViewController(footerView);
            }
        }
        public bool ValidateMenuItem(NSMenuItem item)
        {
            if (item.Action?.Name == switchDisplayModeSel)
            {
                // We're asking to validate state for the switch display mode buttons.
                // We'll need to grab the current display mode off the scene view.
                var visualRepController = ChildViewControllers
                                          .OfType <VisualRepViewController> ()
                                          .FirstOrDefault();
                var sceneView          = visualRepController.scnView;
                var currentDisplayMode = sceneView.DisplayMode;

                if ((DisplayMode)(int)item.Tag == currentDisplayMode)
                {
                    item.State = NSCellStateValue.On;
                }
                else
                {
                    item.State = NSCellStateValue.Off;
                }
            }

            if (item.Action?.Name == switchDisplayDepthSel)
            {
                var visualRepController = ChildViewControllers
                                          .OfType <VisualRepViewController> ()
                                          .FirstOrDefault();
                var currentViewDepth = visualRepController.ViewDepth;

                if ((ViewDepth)(int)item.Tag == currentViewDepth)
                {
                    item.State = NSCellStateValue.On;
                }
                else
                {
                    item.State = NSCellStateValue.Off;
                }
            }

            if (item.Action?.Name == toggleHiddenSel)
            {
                var visualRepController = ChildViewControllers
                                          .OfType <VisualRepViewController> ()
                                          .FirstOrDefault();
                var sceneView = visualRepController.scnView;

                item.State = sceneView.ShowHiddenViews ? NSCellStateValue.On : NSCellStateValue.Off;
            }

            return(item.Action != null?RespondsToSelector(item.Action) : true);
        }
        void AnimateName(Action completed)
        {
            if (Cancelled)
            {
                return;
            }

            var vc = ChildViewControllers.Where(c => c.GetType() == typeof(CardViewController)).First() as CardViewController;

            vc.AnimateTextNameLabel("Social", 0.1, () =>
            {
                completed?.Invoke();
            });
        }
Exemplo n.º 27
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            if (NavigationController != null)
            {
                NavigationItem.TitleView = BigLabel;
                BigLabel.SizeToFit();
            }

            var pagerViewController = ChildViewControllers.Where(_ => _ is PagerTabStripViewController).FirstOrDefault();

            if (pagerViewController != null)
            {
                updateTitle(pagerViewController as PagerTabStripViewController);
            }
        }
Exemplo n.º 28
0
        public void SetViewController(UIViewController vc, bool animated)
        {
            //dont activate new vc instance of same type
            var target = ChildViewControllers.FirstOrDefault();

            if (target != null)
            {
                if (target.GetType() == vc.GetType())
                {
                    return;
                }
            }


            vc.View.TranslatesAutoresizingMaskIntoConstraints = false;

            if (animated)
            {
                UIView.Transition(View, 1.0, UIViewAnimationOptions.CurveEaseOut, () =>
                {
                    View.Subviews?.ToList().ForEach(p => p.RemoveFromSuperview());
                    ChildViewControllers?.ToList().ForEach(p => p.RemoveFromParentViewController());

                    AddChildViewController(vc);
                    View.AddSubview(vc.View);
                    View.AddConstraint(NSLayoutConstraint.Create(vc.View, NSLayoutAttribute.Top, NSLayoutRelation.Equal, View, NSLayoutAttribute.Top, 1, 0));
                    View.AddConstraint(NSLayoutConstraint.Create(vc.View, NSLayoutAttribute.Right, NSLayoutRelation.Equal, View, NSLayoutAttribute.Right, 1, 0));
                    View.AddConstraint(NSLayoutConstraint.Create(vc.View, NSLayoutAttribute.Bottom, NSLayoutRelation.Equal, View, NSLayoutAttribute.Bottom, 1, 0));
                    View.AddConstraint(NSLayoutConstraint.Create(vc.View, NSLayoutAttribute.Left, NSLayoutRelation.Equal, View, NSLayoutAttribute.Left, 1, 0));
                }, null);
            }
            else
            {
                View.Subviews?.ToList().ForEach(p => p.RemoveFromSuperview());
                ChildViewControllers?.ToList().ForEach(p => p.RemoveFromParentViewController());

                AddChildViewController(vc);
                View.AddSubview(vc.View);
                View.AddConstraint(NSLayoutConstraint.Create(vc.View, NSLayoutAttribute.Top, NSLayoutRelation.Equal, View, NSLayoutAttribute.Top, 1, 0));
                View.AddConstraint(NSLayoutConstraint.Create(vc.View, NSLayoutAttribute.Right, NSLayoutRelation.Equal, View, NSLayoutAttribute.Right, 1, 0));
                View.AddConstraint(NSLayoutConstraint.Create(vc.View, NSLayoutAttribute.Bottom, NSLayoutRelation.Equal, View, NSLayoutAttribute.Bottom, 1, 0));
                View.AddConstraint(NSLayoutConstraint.Create(vc.View, NSLayoutAttribute.Left, NSLayoutRelation.Equal, View, NSLayoutAttribute.Left, 1, 0));
            }

            ActiveViewController = vc;
        }
Exemplo n.º 29
0
		public override UIViewController ChildViewControllerForStatusBarStyle()
		{
			return ChildViewControllers?.LastOrDefault();
		}
        public override void ViewDidLoad()
        {
            _passwordGenerationService = Resolver.Resolve <IPasswordGenerationService>();
            _settings = Resolver.Resolve <ISettings>();
            _googleAnalyticsService = Resolver.Resolve <IGoogleAnalyticsService>();

            NavItem.Title         = AppResources.PasswordGenerator;
            CancelBarButton.Title = AppResources.Cancel;
            SelectBarButton.Title = AppResources.Select;
            View.BackgroundColor  = new UIColor(red: 0.94f, green: 0.94f, blue: 0.96f, alpha: 1.0f);

            var descriptor = UIFontDescriptor.PreferredBody;

            PasswordLabel.Font                      = UIFont.FromName("Courier", descriptor.PointSize * 1.3f);
            PasswordLabel.LineBreakMode             = UILineBreakMode.TailTruncation;
            PasswordLabel.Lines                     = 1;
            PasswordLabel.AdjustsFontSizeToFitWidth = false;

            var controller = ChildViewControllers.LastOrDefault();

            if (controller != null)
            {
                OptionsTableViewController = controller as UITableViewController;
            }

            if (OptionsTableViewController != null)
            {
                OptionsTableViewController.TableView.RowHeight          = UITableView.AutomaticDimension;
                OptionsTableViewController.TableView.EstimatedRowHeight = 70;
                OptionsTableViewController.TableView.Source             = new TableSource(this);
                OptionsTableViewController.TableView.AllowsSelection    = true;
                OptionsTableViewController.View.BackgroundColor         = new UIColor(red: 0.94f, green: 0.94f, blue: 0.96f, alpha: 1.0f);
            }

            UppercaseCell.Switch.On = _settings.GetValueOrDefault(Constants.PasswordGeneratorUppercase, true);
            LowercaseCell.Switch.On = _settings.GetValueOrDefault(Constants.PasswordGeneratorLowercase, true);
            SpecialCell.Switch.On   = _settings.GetValueOrDefault(Constants.PasswordGeneratorSpecial, true);
            NumbersCell.Switch.On   = _settings.GetValueOrDefault(Constants.PasswordGeneratorNumbers, true);
            MinNumbersCell.Value    = _settings.GetValueOrDefault(Constants.PasswordGeneratorMinNumbers, 1);
            MinSpecialCell.Value    = _settings.GetValueOrDefault(Constants.PasswordGeneratorMinSpecial, 1);
            LengthCell.Value        = _settings.GetValueOrDefault(Constants.PasswordGeneratorLength, 10);

            UppercaseCell.ValueChanged  += Options_ValueChanged;
            LowercaseCell.ValueChanged  += Options_ValueChanged;
            NumbersCell.ValueChanged    += Options_ValueChanged;
            SpecialCell.ValueChanged    += Options_ValueChanged;
            MinNumbersCell.ValueChanged += Options_ValueChanged;
            MinSpecialCell.ValueChanged += Options_ValueChanged;
            LengthCell.ValueChanged     += Options_ValueChanged;

            // Adjust based on context password options
            if (Context.PasswordOptions != null)
            {
                if (Context.PasswordOptions.RequireDigits)
                {
                    NumbersCell.Switch.On      = true;
                    NumbersCell.Switch.Enabled = false;

                    if (MinNumbersCell.Value < 1)
                    {
                        MinNumbersCell.Value = 1;
                    }

                    MinNumbersCell.Stepper.MinimumValue = 1;
                }

                if (Context.PasswordOptions.RequireSymbols)
                {
                    SpecialCell.Switch.On      = true;
                    SpecialCell.Switch.Enabled = false;

                    if (MinSpecialCell.Value < 1)
                    {
                        MinSpecialCell.Value = 1;
                    }

                    MinSpecialCell.Stepper.MinimumValue = 1;
                }

                if (Context.PasswordOptions.MinLength < Context.PasswordOptions.MaxLength)
                {
                    if (Context.PasswordOptions.MinLength > 0 && Context.PasswordOptions.MinLength > LengthCell.Slider.MinValue)
                    {
                        if (LengthCell.Value < Context.PasswordOptions.MinLength)
                        {
                            LengthCell.Slider.Value = Context.PasswordOptions.MinLength;
                        }

                        LengthCell.Slider.MinValue = Context.PasswordOptions.MinLength;
                    }

                    if (Context.PasswordOptions.MaxLength > 5 && Context.PasswordOptions.MaxLength < LengthCell.Slider.MaxValue)
                    {
                        if (LengthCell.Value > Context.PasswordOptions.MaxLength)
                        {
                            LengthCell.Slider.Value = Context.PasswordOptions.MaxLength;
                        }

                        LengthCell.Slider.MaxValue = Context.PasswordOptions.MaxLength;
                    }
                }
            }

            GeneratePassword();
            _googleAnalyticsService.TrackExtensionEvent("GeneratedPassword");
            base.ViewDidLoad();
        }