internal static Size2i DefaultGetNaturalSize(Gtk.Widget wi) { wi.SetSizeRequest(-1, -1); //=unset, request natural size var req = wi.SizeRequest(); return(new Size2i(req.Width, req.Height)); }
public override void DefaultPlace(object target, int x, int y, int w, int h) { Gtk.Widget wi = target as Gtk.Widget; if (wi == null) { return; } Gtk.Fixed fix = wi.Parent as Gtk.Fixed; if (fix != null) { fix.Move(wi, x, y); wi.SetSizeRequest(w, h); } }
private void SetColumnWidth(int index, Widget widget, int width, bool? visible = null) { Column c = mColumns[widget]; if (c != null) { if (visible != null) c.Visible = visible.Value; int dx = width - c.Width; c.Width += dx; Requisition r = widget.SizeRequest(); widget.SetSizeRequest(c.Width, r.Height); this.Move(widget, c.X - mCurrentScollOffset, TopOffset); // move to same position, helper to redraw parent // move all following for (int i = index + 1; i < mColumns.Count; i++) { var kvp = mColumns.ElementAt(i); c = kvp.Value; if (c.Visible) { widget = kvp.Key; c.X += dx; this.Move(widget, c.X - mCurrentScollOffset, TopOffset); } } } }