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); } }
public void SetContent(IWidgetBackend widget) { child = (ViewBackend)widget; Widget.Box.SetContent(GetWidget(widget)); ResetFittingSize(); }
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(); } }
public override object GetNativeWidget(Widget w) { ViewBackend wb = (ViewBackend)Toolkit.GetBackend(w); wb.SetAutosizeMode(true); return(wb.Widget); }
public virtual void UpdateChildPlacement(IWidgetBackend childBackend) { var w = ViewBackend.SetChildPlacement(childBackend); LayoutWindow(); w.AutoresizingMask = NSViewResizingMask.HeightSizable | NSViewResizingMask.WidthSizable; }
public void SetPanel(int panel, IWidgetBackend widget, bool resize, bool shrink) { ViewBackend view = (ViewBackend)widget; Widget.AddSubview(view.Widget); Widget.AdjustSubviews(); view.NotifyPreferredSizeChanged(); }
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; }
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)); }
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(); }
public void SetContent(IWidgetBackend widget) { if (child != null) { RemoveChildPlacement(child.Widget); } child = (ViewBackend)widget; Widget.Box.SetContent(GetWidgetWithPlacement(widget)); ResetFittingSize(); }
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)); }
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; } }
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)); }
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); } }
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); }
public void Add(IWidgetBackend widget) { ViewBackend b = (ViewBackend)widget; Widget.AddSubview(b.Widget); }
public override bool HasNativeParent(Widget w) { ViewBackend wb = (ViewBackend)Toolkit.GetBackend(w); return(wb.Widget.Superview != null); }