Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
               }
            }
             }
        }