void ReleaseDesignerOutlets ()
		{
			if (previewView != null) {
				previewView.Dispose ();
				previewView = null;
			}
		}
        public ViewModelViewHost(NSView targetView)
        {
            NSView viewLastAdded = null;

            ViewContractObservable = Observable.Return(default(string));

            var vmAndContract = Observable.CombineLatest(
                this.WhenAny(x => x.ViewModel, x => x.Value),
                this.WhenAnyObservable(x => x.ViewContractObservable),
                (vm, contract) => new { ViewModel = vm, Contract = contract, });

            vmAndContract.Subscribe(x => {
                if (viewLastAdded != null)
                {
                    viewLastAdded.RemoveFromSuperview();
                }

                if (ViewModel == null)
                {
                    if (DefaultContent != null)
                    {
                        targetView.AddSubview(DefaultContent.View);
                    }
                    return;
                }

                var viewLocator = ViewLocator ?? ReactiveUI.ViewLocator.Current;
                var view        = viewLocator.ResolveView(x.ViewModel, x.Contract);
                view.ViewModel  = x.ViewModel;

                viewLastAdded = ((NSViewController)view).View;
                targetView.AddSubview(viewLastAdded);
            });
        }
Ejemplo n.º 3
0
        public ViewModelViewHost(NSView targetView)
        {
            NSView viewLastAdded = null;

            ViewContractObservable = Observable.Return(default(string));

            var vmAndContract = Observable.CombineLatest(
                this.WhenAny(x => x.ViewModel, x => x.Value),
                this.WhenAnyObservable(x => x.ViewContractObservable),
                (vm, contract) => new { ViewModel = vm, Contract = contract, });

            vmAndContract.Subscribe(x => {
                if (viewLastAdded != null) viewLastAdded.RemoveFromSuperview();

                if (ViewModel == null) {
                    if (DefaultContent != null) targetView.AddSubview(DefaultContent.View);
                    return;
                }

                var viewLocator = ViewLocator ?? ReactiveUI.ViewLocator.Current;
                var view = viewLocator.ResolveView(x.ViewModel, x.Contract);
                view.ViewModel = x.ViewModel;

                viewLastAdded = ((NSViewController)view).View;
                targetView.AddSubview(viewLastAdded);           
            });
        }
Ejemplo n.º 4
0
        public override void LayoutChildren()
        {
            base.LayoutChildren();

            if (content == null)
            {
                return;
            }

            NSView childControl = content.GetContainerView();
            var    frame        = GetContentBounds();

            if (frame.Width > padding.Horizontal && frame.Height > padding.Vertical)
            {
                frame.X       = padding.Left;
                frame.Width  -= padding.Horizontal;
                frame.Y       = padding.Bottom;
                frame.Height -= padding.Vertical;
            }
            else
            {
                frame.X = 0;
                frame.Y = 0;
            }

            if (childControl.Frame != frame)
            {
                childControl.Frame = frame;
            }
        }
Ejemplo n.º 5
0
        public ViewModelViewHost(NSView targetView)
        {
            NSView viewLastAdded = null;

            this.WhenAny(x => x.DefaultContent, x => x.ViewModel, (c, v) => Unit.Default)
            .Subscribe(_ => {
                if (viewLastAdded != null)
                {
                    viewLastAdded.RemoveFromSuperview();
                }

                if (ViewModel == null)
                {
                    if (DefaultContent != null)
                    {
                        targetView.AddSubview(DefaultContent.View);
                    }
                    return;
                }

                var view       = RxRouting.ResolveView(ViewModel);
                view.ViewModel = ViewModel;

                viewLastAdded = ((NSViewController)view).View;
                targetView.AddSubview(viewLastAdded);
            });
        }
Ejemplo n.º 6
0
        public RoutedViewHost(NSView targetView)
        {
            NSView viewLastAdded = null;
            this.WhenAny(x => x.Router.NavigationStack, x => x.Value)
                .SelectMany(x => x.CollectionCountChanged.StartWith(x.Count).Select(_ => x.LastOrDefault()))
                .Subscribe(vm => {
                    if (viewLastAdded != null) viewLastAdded.RemoveFromSuperview();

                    if (vm == null) {
                        if (DefaultContent != null) targetView.AddSubview(DefaultContent.View);
                        return;
                    }

                    var view = RxRouting.ResolveView(vm);
                    view.ViewModel = vm;

                    if (view is NSViewController) {
                        viewLastAdded = ((NSViewController)view).View;
                    } else if (view is NSView) {
                        viewLastAdded = (NSView)view;
                    } else {
                        throw new Exception(String.Format("'{0}' must be an NSViewController or NSView", view.GetType().FullName));
                    }

                    targetView.AddSubview(viewLastAdded);
                }, ex => RxApp.DefaultExceptionHandler.OnNext(ex));
        }
Ejemplo n.º 7
0
 void ReleaseDesignerOutlets()
 {
     if (previewView != null)
     {
         previewView.Dispose();
         previewView = null;
     }
 }
Ejemplo n.º 8
0
 public static MBProgressHUD ShowHUDAddedTo(MonoTouch.UIKit.UIView view, bool animated)
 {
     if (view == null)
     {
         throw new ArgumentNullException("view");
     }
     return((MBProgressHUD)Runtime.GetNSObject(MonoTouch.ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_bool(class_ptr, selShowHUDAddedToAnimated_, view.Handle, animated)));
 }
Ejemplo n.º 9
0
		public TableLayoutHandler()
		{
#if OSX
			Control = new MacEventView { Handler = this };
#elif IOS
			Control = new NSView();
#endif
		}
Ejemplo n.º 10
0
        public TableLayoutHandler()
        {
#if OSX
            Control = new MacEventView {
                Handler = this
            };
#elif IOS
            Control = new NSView();
#endif
        }
Ejemplo n.º 11
0
        public override void ViewWillMoveToSuperview(NSView newsuper)
#endif
        {
#if UIKIT
            base.WillMoveToSuperview(newsuper);
#else
            base.ViewWillMoveToSuperview(newsuper);
#endif
            RxApp.MainThreadScheduler.Schedule(() => (newsuper != null ? activated : deactivated).OnNext(Unit.Default));
        }
Ejemplo n.º 12
0
        static void ActivateSubviews(this NSView This, bool activate)
        {
            foreach (var view in This.Subviews)
            {
                var subview = view as ICanForceManualActivation;

                if (subview != null)
                {
                    subview.Activate(activate);
                }

                view.ActivateSubviews(activate);
            }
        }
Ejemplo n.º 13
0
        public override void ViewWillMoveToSuperview(NSView newsuper)
#endif
        {
#if UIKIT
            base.WillMoveToSuperview(newsuper);
#else
            // Xamarin throws ArgumentNullException if newsuper is null
            if (newsuper != null)
            {
                base.ViewWillMoveToSuperview(newsuper);
            }
#endif
            RxApp.MainThreadScheduler.Schedule(() => (newsuper != null ? activated : deactivated).OnNext(Unit.Default));
        }
Ejemplo n.º 14
0
        public TableLayoutHandler()
        {
#if OSX
            Control = new MacEventView {
                Handler = this
            };
#elif IOS
            Control = new NSView();
#endif

                        #pragma warning disable 612,618
            spacing = TableLayout.DefaultSpacing;
            padding = TableLayout.DefaultPadding;
                        #pragma warning restore 612,618
        }
Ejemplo n.º 15
0
        public RoutedViewHost(NSView targetView)
        {
            NSView viewLastAdded = null;

            ViewContractObservable = Observable.Return(default(string));

            var vmAndContract = Observable.CombineLatest(
                this.WhenAnyObservable(x => x.Router.CurrentViewModel),
                this.WhenAnyObservable(x => x.ViewContractObservable),
                (vm, contract) => new { ViewModel = vm, Contract = contract, });

            vmAndContract.Subscribe(x => {
                if (viewLastAdded != null)
                {
                    viewLastAdded.RemoveFromSuperview();
                }

                if (x.ViewModel == null)
                {
                    if (DefaultContent != null)
                    {
                        targetView.AddSubview(DefaultContent.View);
                    }
                    return;
                }

                var viewLocator = ViewLocator ?? ReactiveUI.ViewLocator.Current;
                var view        = viewLocator.ResolveView(x.ViewModel, x.Contract) ?? viewLocator.ResolveView(x.ViewModel, null);
                view.ViewModel  = x.ViewModel;

                if (view is NSViewController)
                {
                    viewLastAdded = ((NSViewController)view).View;
                }
                else if (view is NSView)
                {
                    viewLastAdded = (NSView)view;
                }
                else
                {
                    throw new Exception(String.Format("'{0}' must be an NSViewController or NSView", view.GetType().FullName));
                }

                targetView.AddSubview(viewLastAdded);
            }, RxApp.DefaultExceptionHandler.OnNext);
        }
Ejemplo n.º 16
0
        public ViewModelViewHost(NSView targetView)
        {
            NSView viewLastAdded = null;
            this.WhenAny(x => x.DefaultContent, x => x.ViewModel, (c,v) => Unit.Default)
                .Subscribe(_ => {
                    if (viewLastAdded != null) viewLastAdded.RemoveFromSuperview();

                    if (ViewModel == null) {
                        if (DefaultContent != null) targetView.AddSubview(DefaultContent.View);
                        return;
                    }

                    var view = RxRouting.ResolveView(ViewModel);
                    view.ViewModel = ViewModel;

                    viewLastAdded = ((NSViewController)view).View;
                    targetView.AddSubview(viewLastAdded);
                });
        }
Ejemplo n.º 17
0
        public RoutedViewHost(NSView targetView)
        {
            NSView viewLastAdded = null;
            this.WhenAny(x => x.Router.NavigationStack, x => x.Value)
                .SelectMany(x => x.CollectionCountChanged.StartWith(x.Count).Select(_ => x.LastOrDefault()))
                .Subscribe(vm => {
                    if (viewLastAdded != null) viewLastAdded.RemoveFromSuperview();

                    if (vm == null) {
                        if (DefaultContent != null) targetView.AddSubview(DefaultContent.View);
                        return;
                    }

                    var view = RxRouting.ResolveView(vm);
                    view.ViewModel = vm;

                    viewLastAdded = ((NSViewController)view).View;
                    targetView.AddSubview(viewLastAdded);
                }, ex => RxApp.DefaultExceptionHandler.OnNext(ex));
        }
Ejemplo n.º 18
0
        public static MonoTouch.UIKit.UIView GetHook(string hook, int x, int y, MonoTouch.UIKit.UIView view, bool attachToView, string orientation, string canvasOrientation, bool refresh, bool canvasAnimated, string rewardMessage, NSDictionary userCookies)
        {
            if (hook == null)
            {
                throw new ArgumentNullException("hook");
            }
            if (view == null)
            {
                throw new ArgumentNullException("view");
            }
            if (orientation == null)
            {
                throw new ArgumentNullException("orientation");
            }
            if (canvasOrientation == null)
            {
                throw new ArgumentNullException("canvasOrientation");
            }
            if (rewardMessage == null)
            {
                throw new ArgumentNullException("rewardMessage");
            }
            if (userCookies == null)
            {
                throw new ArgumentNullException("userCookies");
            }
            var nshook              = new NSString(hook);
            var nsorientation       = new NSString(orientation);
            var nscanvasOrientation = new NSString(canvasOrientation);
            var nsrewardMessage     = new NSString(rewardMessage);

            MonoTouch.UIKit.UIView ret;
            ret = (MonoTouch.UIKit.UIView)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_int_int_IntPtr_bool_IntPtr_IntPtr_bool_bool_IntPtr_IntPtr(class_ptr, selGetHookXLocYLocViewAttachToViewOrientationCanvasOrientationAutoRefreshCanvasAnimatedRewardMessageUserCookies, nshook.Handle, x, y, view.Handle, attachToView, nsorientation.Handle, nscanvasOrientation.Handle, refresh, canvasAnimated, nsrewardMessage.Handle, userCookies.Handle));
            nshook.Dispose();
            nsorientation.Dispose();
            nscanvasOrientation.Dispose();
            nsrewardMessage.Dispose();

            return(ret);
        }
Ejemplo n.º 19
0
        public RoutedViewHost(NSView targetView)
        {
            NSView viewLastAdded = null;

            this.WhenAny(x => x.Router.NavigationStack, x => x.Value)
            .SelectMany(x => x.CollectionCountChanged.StartWith(x.Count).Select(_ => x.LastOrDefault()))
            .Subscribe(vm => {
                if (viewLastAdded != null)
                {
                    viewLastAdded.RemoveFromSuperview();
                }

                if (vm == null)
                {
                    if (DefaultContent != null)
                    {
                        targetView.AddSubview(DefaultContent.View);
                    }
                    return;
                }

                var view       = RxRouting.ResolveView(vm);
                view.ViewModel = vm;

                if (view is NSViewController)
                {
                    viewLastAdded = ((NSViewController)view).View;
                }
                else if (view is NSView)
                {
                    viewLastAdded = (NSView)view;
                }
                else
                {
                    throw new Exception(String.Format("'{0}' must be an NSViewController or NSView", view.GetType().FullName));
                }

                targetView.AddSubview(viewLastAdded);
            }, ex => RxApp.DefaultExceptionHandler.OnNext(ex));
        }
Ejemplo n.º 20
0
        public RoutedViewHost(NSView targetView)
        {
            NSView viewLastAdded = null;

            ViewContractObservable = Observable.Return(default(string));
                        
            var vmAndContract = Observable.CombineLatest(
                this.WhenAnyObservable(x => x.Router.CurrentViewModel),
                this.WhenAnyObservable(x => x.ViewContractObservable),
                (vm, contract) => new { ViewModel = vm, Contract = contract, });

            vmAndContract.Subscribe(x => {
                if (viewLastAdded != null)
                    viewLastAdded.RemoveFromSuperview();

                if (x.ViewModel == null) {
                    if (DefaultContent != null)
                        targetView.AddSubview(DefaultContent.View);
                    return;
                }

                var viewLocator = ViewLocator ?? ReactiveUI.ViewLocator.Current;
                var view = viewLocator.ResolveView(x.ViewModel, x.Contract) ?? viewLocator.ResolveView(x.ViewModel, null);
                view.ViewModel = x.ViewModel;

                if (view is NSViewController) {
                    viewLastAdded = ((NSViewController)view).View;
                } else if (view is NSView) {
                    viewLastAdded = (NSView)view;
                } else {
                    throw new Exception(String.Format("'{0}' must be an NSViewController or NSView", view.GetType().FullName));
                }

                targetView.AddSubview(viewLastAdded);           
            }, RxApp.DefaultExceptionHandler.OnNext);
        }
Ejemplo n.º 21
0
 public override void WillMoveToSuperview(NSView newsuper)
Ejemplo n.º 22
0
        void addEdgeConstraint(NSLayoutAttribute edge, NSView parentView, NSView subView)
        {
            var constraint = NSLayoutConstraint.Create(subView, edge, NSLayoutRelation.Equal, parentView, edge, 1, 0);

            parentView.AddConstraint(constraint);
        }
Ejemplo n.º 23
0
        public ViewModelViewHost(NSView targetView)
        {
            if (targetView == null)
            {
                throw new ArgumentNullException("targetView");
            }

            NSView viewLastAdded = null;

            ViewContractObservable = Observable.Return(default(string));

            var vmAndContract = Observable.CombineLatest(
                this.WhenAny(x => x.ViewModel, x => x.Value),
                this.WhenAnyObservable(x => x.ViewContractObservable),
                (vm, contract) => new { ViewModel = vm, Contract = contract, });

            vmAndContract.Subscribe(x => {
                if (viewLastAdded != null)
                {
                    viewLastAdded.RemoveFromSuperview();
                }

                if (ViewModel == null)
                {
                    if (DefaultContent != null)
                    {
                        targetView.AddSubview(DefaultContent.View);
                    }
                    return;
                }

                // get an instance of the view controller for the supplied VM + Contract
                var viewLocator    = ViewLocator ?? ReactiveUI.ViewLocator.Current;
                var viewController = viewLocator.ResolveView(x.ViewModel, x.Contract);

                // if not found, throw
                if (viewController == null)
                {
                    var message = String.Format("Unable to resolve view for \"{0}\"", x.ViewModel.GetType());

                    if (x.Contract != null)
                    {
                        message += String.Format(" and contract \"{0}\"", x.Contract.GetType());
                    }

                    message += ".";
                    throw new Exception(message);
                }

                // set the VM on the controller and stash a copy of the added view
                viewController.ViewModel = x.ViewModel;
                viewLastAdded            = ((NSViewController)viewController).View;

                // sanity check, view controllers are expect to have a view
                if (viewLastAdded == null)
                {
                    var message = string.Format("No view associated with view controller {0}.", viewController.GetType());
                    throw new Exception(message);
                }

                if (AddAutoLayoutConstraintsToSubView)
                {
                    // see https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/AdoptingAutoLayout/AdoptingAutoLayout.html
                    viewLastAdded.TranslatesAutoresizingMaskIntoConstraints = false;
                }

                targetView.AddSubview(viewLastAdded);

                if (AddAutoLayoutConstraintsToSubView)
                {
                    // Add edge constraints so that subview trails changes in parent
                    addEdgeConstraint(NSLayoutAttribute.Left, targetView, viewLastAdded);
                    addEdgeConstraint(NSLayoutAttribute.Right, targetView, viewLastAdded);
                    addEdgeConstraint(NSLayoutAttribute.Top, targetView, viewLastAdded);
                    addEdgeConstraint(NSLayoutAttribute.Bottom, targetView, viewLastAdded);
                }
            });
        }
Ejemplo n.º 24
0
		public TableLayoutHandler()
		{
#if OSX
			Control = new MacEventView { Handler = this };
#elif IOS
			Control = new NSView();
#endif

			#pragma warning disable 612,618
			spacing = TableLayout.DefaultSpacing;
			padding = TableLayout.DefaultPadding;
			#pragma warning restore 612,618
		}
Ejemplo n.º 25
0
        public ViewModelViewHost(NSView targetView)
        {
            if (targetView == null) throw new ArgumentNullException("targetView");

            NSView viewLastAdded = null;
            ViewContractObservable = Observable.Return(default(string));

            var vmAndContract = Observable.CombineLatest(
                this.WhenAny(x => x.ViewModel, x => x.Value),
                this.WhenAnyObservable(x => x.ViewContractObservable),
                (vm, contract) => new { ViewModel = vm, Contract = contract, });

            vmAndContract.Subscribe(x => {
                if (viewLastAdded != null) viewLastAdded.RemoveFromSuperview();

                if (ViewModel == null) {
                    if (DefaultContent != null) targetView.AddSubview(DefaultContent.View);
                    return;
                }

                // get an instance of the view controller for the supplied VM + Contract
                var viewLocator = ViewLocator ?? ReactiveUI.ViewLocator.Current;
                var viewController = viewLocator.ResolveView(x.ViewModel, x.Contract);

                // if not found, throw
                if (viewController == null) {
                    var message = String.Format("Unable to resolve view for \"{0}\"", x.ViewModel.GetType());

                    if (x.Contract != null) {
                        message += String.Format(" and contract \"{1}\"", x.Contract.GetType());
                    }

                    message += ".";
                    throw new Exception(message);
                }

                // set the VM on the controller and stash a copy of the added view
                viewController.ViewModel = x.ViewModel;
                viewLastAdded = ((NSViewController)viewController).View;

                // sanity check, view controllers are expect to have a view
                if (viewLastAdded == null) {
                    var message = string.Format("No view associated with view controller {0}.", viewController.GetType());
                    throw new Exception(message);
                }

                if (AddAutoLayoutConstraintsToSubView) {
                    // see https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/AdoptingAutoLayout/AdoptingAutoLayout.html
                    viewLastAdded.TranslatesAutoresizingMaskIntoConstraints = false;
                }

                targetView.AddSubview(viewLastAdded);

                if (AddAutoLayoutConstraintsToSubView) {
                    // Add edge constraints so that subview trails changes in parent
                    addEdgeConstraint(NSLayoutAttribute.Left,  targetView, viewLastAdded);
                    addEdgeConstraint(NSLayoutAttribute.Right, targetView, viewLastAdded);
                    addEdgeConstraint(NSLayoutAttribute.Top, targetView, viewLastAdded);
                    addEdgeConstraint(NSLayoutAttribute.Bottom,  targetView, viewLastAdded);
                }
            });
        }
 void ReleaseDesignerOutlets()
 {
     if (ControlsOverlay != null)
     {
         ControlsOverlay.Dispose();
         ControlsOverlay = null;
     }
     if (FinishRoundButton != null)
     {
         FinishRoundButton.Dispose();
         FinishRoundButton = null;
     }
     if (HintLabel != null)
     {
         HintLabel.Dispose();
         HintLabel = null;
     }
     if (OverlayView != null)
     {
         OverlayView.Dispose();
         OverlayView = null;
     }
     if (PlayerOnePlayerNameLabel != null)
     {
         PlayerOnePlayerNameLabel.Dispose();
         PlayerOnePlayerNameLabel = null;
     }
     if (PlayerOneProfilePictureImage != null)
     {
         PlayerOneProfilePictureImage.Dispose();
         PlayerOneProfilePictureImage = null;
     }
     if (PlayerOneTimeElapsed != null)
     {
         PlayerOneTimeElapsed.Dispose();
         PlayerOneTimeElapsed = null;
     }
     if (PlayerOneViewContainer != null)
     {
         PlayerOneViewContainer.Dispose();
         PlayerOneViewContainer = null;
     }
     if (PlayerTwoPlayerNameLabel != null)
     {
         PlayerTwoPlayerNameLabel.Dispose();
         PlayerTwoPlayerNameLabel = null;
     }
     if (PlayerTwoProfilePictureImage != null)
     {
         PlayerTwoProfilePictureImage.Dispose();
         PlayerTwoProfilePictureImage = null;
     }
     if (PlayerTwoTimeElapsed != null)
     {
         PlayerTwoTimeElapsed.Dispose();
         PlayerTwoTimeElapsed = null;
     }
     if (PlayerTwoViewContainer != null)
     {
         PlayerTwoViewContainer.Dispose();
         PlayerTwoViewContainer = null;
     }
 }
Ejemplo n.º 27
0
 void addEdgeConstraint(NSLayoutAttribute edge, NSView parentView, NSView subView)
 {
     var constraint = NSLayoutConstraint.Create(subView, edge, NSLayoutRelation.Equal, parentView, edge, 1, 0);
     parentView.AddConstraint(constraint);
 }
Ejemplo n.º 28
0
 public void ZoomingEnded(MonoTouch.UIKit.UIScrollView scrollView, MonoTouch.UIKit.UIView withView, float atScale)
 {
     scrollView.SetContentOffset(ClampedContentOffsetForHorizontalOffset(scrollView.ContentOffset.X), true);
 }