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(); }); } }
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; }
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); } }
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(); }
void RemoveChildCardViewControllers() { var vc = ChildViewControllers.Where(c => c.GetType() == typeof(CardViewController)).FirstOrDefault(); vc.WillMoveToParentViewController(null); vc.View.RemoveFromSuperview(); vc.RemoveFromParentViewController(); }
public override void ViewDidLoad() { base.ViewDidLoad(); ratingController = ChildViewControllers.OfType <RatingStarsController>().FirstOrDefault(); RepeatPhotoButton.TouchUpInside += RepeatPhoto; SubmitRatingButton.TouchUpInside += SubmitRating; }
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); }); }
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(); } }
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); }
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(); }
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; }); }
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(); }); }
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); } }
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; }
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(); }