Esempio n. 1
0
        void UpdateChildSize()
        {
            if (child == null)
            {
                return;
            }

            if (Widget.ContentView is CustomClipView)
            {
            }
            else
            {
                NSView      view = (NSView)Widget.DocumentView;
                ViewBackend c    = (ViewBackend)child;
                Size        s;
                if (horizontalScrollPolicy == ScrollPolicy.Never)
                {
                    s = c.Frontend.Surface.GetPreferredSize(SizeConstraint.WithSize(Widget.ContentView.Frame.Width), SizeConstraint.Unconstrained);
                }
                else if (verticalScrollPolicy == ScrollPolicy.Never)
                {
                    s = c.Frontend.Surface.GetPreferredSize(SizeConstraint.Unconstrained, SizeConstraint.WithSize(Widget.ContentView.Frame.Width));
                }
                else
                {
                    s = c.Frontend.Surface.GetPreferredSize();
                }
                var w = Math.Max(s.Width, Widget.ContentView.Frame.Width);
                var h = Math.Max(s.Height, Widget.ContentView.Frame.Height);
                view.Frame = new System.Drawing.RectangleF(view.Frame.X, view.Frame.Y, (float)s.Width, (float)h);
            }
        }
Esempio n. 2
0
        public void SetContent(IWidgetBackend widget)
        {
            child = (ViewBackend)widget;

            Widget.Box.SetContent(GetWidget(widget));
            ResetFittingSize();
        }
Esempio n. 3
0
        public void SetChild(IWidgetBackend child)
        {
            this.child = child;
            ViewBackend backend = (ViewBackend)child;

            if (backend.EventSink.SupportsCustomScrolling())
            {
                var            vs       = new ScrollAdjustmentBackend(Widget, true);
                var            hs       = new ScrollAdjustmentBackend(Widget, false);
                CustomClipView clipView = new CustomClipView(hs, vs);
                Widget.ContentView = clipView;
                var dummy = new DummyClipView();
                dummy.AddSubview(backend.Widget);
                backend.Widget.Frame  = new CGRect(0, 0, clipView.Frame.Width, clipView.Frame.Height);
                clipView.DocumentView = dummy;
                backend.EventSink.SetScrollAdjustments(hs, vs);
                vertScroll = vs;
                horScroll  = hs;
            }
            else
            {
                clipView            = new NormalClipView();
                clipView.Scrolled  += OnScrolled;
                Widget.ContentView  = clipView;
                Widget.DocumentView = backend.Widget;
                UpdateChildSize();
            }
        }
Esempio n. 4
0
        public override object GetNativeWidget(Widget w)
        {
            ViewBackend wb = (ViewBackend)Toolkit.GetBackend(w);

            wb.SetAutosizeMode(true);
            return(wb.Widget);
        }
Esempio n. 5
0
        public virtual void UpdateChildPlacement(IWidgetBackend childBackend)
        {
            var w = ViewBackend.SetChildPlacement(childBackend);

            LayoutWindow();
            w.AutoresizingMask = NSViewResizingMask.HeightSizable | NSViewResizingMask.WidthSizable;
        }
Esempio n. 6
0
        public void SetPanel(int panel, IWidgetBackend widget, bool resize, bool shrink)
        {
            ViewBackend view = (ViewBackend)widget;

            Widget.AddSubview(view.Widget);
            Widget.AdjustSubviews();
            view.NotifyPreferredSizeChanged();
        }
Esempio n. 7
0
        public virtual void UpdateChildPlacement(IWidgetBackend childBackend)
        {
            ViewBackend.SetChildPlacement(childBackend);
            var w = GetContentView().Subviews [0];

            SetPadding(frontend.Padding.Left, frontend.Padding.Top, frontend.Padding.Right, frontend.Padding.Bottom);
            w.AutoresizingMask = NSViewResizingMask.HeightSizable | NSViewResizingMask.WidthSizable;
        }
Esempio n. 8
0
        public void Show(Xwt.Popover.Position orientation, Xwt.Widget referenceWidget, Xwt.Rectangle positionRect, Xwt.Widget child)
        {
            popover = MakePopover(child);
            ViewBackend backend   = (ViewBackend)Toolkit.GetBackend(referenceWidget);
            var         reference = backend.Widget;

            popover.Show(positionRect.ToRectangleF(),
                         reference,
                         ToRectEdge(orientation));
        }
Esempio n. 9
0
        public void SetPanel(int panel, IWidgetBackend widget, bool resize, bool shrink)
        {
            ViewBackend view = (ViewBackend)widget;
            var         w    = GetWidgetWithPlacement(view);

            RemovePanel(panel);
            Widget.AddSubview(w);
            Widget.AdjustSubviews();
            view.NotifyPreferredSizeChanged();
        }
Esempio n. 10
0
        public void SetContent(IWidgetBackend widget)
        {
            if (child != null)
            {
                RemoveChildPlacement(child.Widget);
            }

            child = (ViewBackend)widget;

            Widget.Box.SetContent(GetWidgetWithPlacement(widget));
            ResetFittingSize();
        }
Esempio n. 11
0
        public void Show(Xwt.Popover.Position orientation, Xwt.Widget referenceWidget, Xwt.Rectangle positionRect, Xwt.Widget child)
        {
            var controller = new FactoryViewController(child);

            popover          = new NSPopover();
            popover.Behavior = NSPopoverBehavior.Transient;
            popover.ContentViewController = controller;
            ViewBackend backend   = (ViewBackend)Toolkit.GetBackend(referenceWidget);
            var         reference = backend.Widget;

            popover.Show(System.Drawing.RectangleF.Empty,
                         reference,
                         ToRectEdge(orientation));
        }
Esempio n. 12
0
 protected virtual void SetChild(IWidgetBackend child)
 {
     if (this.child != null)
     {
         this.child.Widget.RemoveFromSuperview();
     }
     this.child = (ViewBackend)child;
     if (child != null)
     {
         GetContentView().AddSubview(this.child.Widget);
         SetPadding(frontend.Padding.Left, frontend.Padding.Top, frontend.Padding.Right, frontend.Padding.Bottom);
         this.child.Widget.AutoresizingMask = NSViewResizingMask.HeightSizable | NSViewResizingMask.WidthSizable;
     }
 }
Esempio n. 13
0
 void IWindowBackend.SetChild(IWidgetBackend child)
 {
     if (this.child != null)
     {
         ViewBackend.RemoveChildPlacement(this.child.Widget);
         this.child.Widget.RemoveFromSuperview();
         childView = null;
     }
     this.child = (ViewBackend)child;
     if (child != null)
     {
         childView = ViewBackend.GetWidgetWithPlacement(child);
         ContentView.AddSubview(childView);
         LayoutWindow();
         childView.AutoresizingMask = NSViewResizingMask.HeightSizable | NSViewResizingMask.WidthSizable;
     }
 }
        public void Show(Xwt.Popover.Position orientation, Xwt.Widget referenceWidget, Xwt.Rectangle positionRect, Xwt.Widget child)
        {
            popover = MakePopover(child, BackgroundColor);
            ViewBackend backend   = (ViewBackend)Toolkit.GetBackend(referenceWidget);
            var         reference = backend.Widget;

            // If the position rect is empty, the coordinates of the rect will be ignored.
            // Width and Height of the rect must be > Epsilon, for the positioning to function correctly.
            if (Math.Abs(positionRect.Width) < double.Epsilon)
            {
                positionRect.Width = 1;
            }
            if (Math.Abs(positionRect.Height) < double.Epsilon)
            {
                positionRect.Height = 1;
            }

            popover.Show(positionRect.ToCGRect(),
                         reference,
                         ToRectEdge(orientation));
        }
Esempio n. 15
0
        void UpdateChildSize()
        {
            if (child == null)
            {
                return;
            }

            if (Widget.ContentView is CustomClipView)
            {
            }
            else
            {
                NSView      view = (NSView)Widget.DocumentView;
                ViewBackend c    = (ViewBackend)child;
                var         pw   = c.Frontend.Surface.GetPreferredWidth();
                var         w    = Math.Max(pw.NaturalSize, Widget.ContentView.Frame.Width);
                var         ph   = c.Frontend.Surface.GetPreferredHeightForWidth(w);
                var         h    = Math.Max(ph.NaturalSize, Widget.ContentView.Frame.Height);
                view.Frame = new System.Drawing.RectangleF(view.Frame.X, view.Frame.Y, (float)w, (float)h);
            }
        }
Esempio n. 16
0
        public void SetContent(IWidgetBackend widget)
        {
            if (childBackend != null)
            {
                childBackend.Widget.RemoveFromSuperview();
                RemoveChildPlacement(childBackend.Widget);
                childBackend.Widget.AutoresizingMask = NSViewResizingMask.NotSizable;
            }
            if (widget == null)
            {
                return;
            }

            var view = Widget;

            childBackend = (ViewBackend)widget;
            var childView = GetWidgetWithPlacement(childBackend);

            childView.Frame            = view.Bounds;
            childView.AutoresizingMask = NSViewResizingMask.WidthSizable | NSViewResizingMask.HeightSizable;
            view.AddSubview(childView);
            view.SetNeedsDisplayInRect(view.Bounds);
        }
Esempio n. 17
0
        public void Add(IWidgetBackend widget)
        {
            ViewBackend b = (ViewBackend)widget;

            Widget.AddSubview(b.Widget);
        }
Esempio n. 18
0
        public override bool HasNativeParent(Widget w)
        {
            ViewBackend wb = (ViewBackend)Toolkit.GetBackend(w);

            return(wb.Widget.Superview != null);
        }