public static DrawableCellStates ToEto(this Gtk.CellRendererState value) { if (value.HasFlag(Gtk.CellRendererState.Selected)) { return(DrawableCellStates.Selected); } return(DrawableCellStates.None); }
public override Gtk.CellEditable StartEditing(Gdk.Event evnt, Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { this.cell_area = cell_area; var result = base.StartEditing(evnt ?? new Gdk.Event(IntPtr.Zero), widget, path, background_area, cell_area, flags); ConfigureEntry(result as Gtk.Entry); return(result); }
protected override Gtk.ICellEditable OnStartEditing(Gdk.Event evnt, Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { this.cell_area = cell_area; var result = base.OnStartEditing(evnt, widget, path, background_area, cell_area, flags); ConfigureEntry(result as Gtk.Entry); return(result); }
protected override void OnRender(Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { if (!HasValue) { return; } base.OnRender(cr, widget, background_area, cell_area, flags); }
protected override void Render(Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags) { if (!HasValue) { return; } // calling base crashes on windows GtkCell.gtksharp_cellrenderer_invoke_render(Gtk.CellRendererProgress.GType.Val, Handle, window.Handle, widget.Handle, ref background_area, ref cell_area, ref expose_area, flags); //base.Render (window, widget, background_area, cell_area, expose_area, flags); }
internal static extern void gtksharp_cellrenderer_invoke_render(IntPtr gtype, IntPtr handle, IntPtr window, IntPtr widget, ref Gdk.Rectangle backgroundArea, ref Gdk.Rectangle cellArea, ref Gdk.Rectangle exposeArea, Gtk.CellRendererState flags);
protected override void Render(Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags) { base.Render(window, widget, background_area, cell_area, expose_area, flags); }
protected override void OnRender(Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { if (Handler.FormattingEnabled) { Handler.Format(new GtkGridCellFormatEventArgs <Renderer> (this, Handler.Column.Widget, Item, Row)); } base.OnRender(cr, widget, background_area, cell_area, flags); }
protected override unsafe void OnRender(Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { #if GTKCORE RenderNativeDelegate renderNativeDelegate = null; IntPtr *ptr = (IntPtr *)((long)LookupGType().GetThresholdType().GetClassPtr() + class_abi.GetFieldOffset("render")); if (*ptr != IntPtr.Zero) { renderNativeDelegate = (RenderNativeDelegate)Marshal.GetDelegateForFunctionPointer(*ptr, typeof(RenderNativeDelegate)); if (renderNativeDelegate != null) { IntPtr intPtr = GLib.Marshaller.StructureToPtrAlloc(background_area); IntPtr intPtr2 = GLib.Marshaller.StructureToPtrAlloc(cell_area); renderNativeDelegate(base.Handle, cr?.Handle ?? IntPtr.Zero, widget?.Handle ?? IntPtr.Zero, intPtr, intPtr2, (int)flags); Marshal.FreeHGlobal(intPtr); Marshal.FreeHGlobal(intPtr2); } } #endif if (editingRow == row) { return; } using (var graphics = new Graphics(new GraphicsHandler(widget, cr))) { var item = Handler.Source.GetItem(Row); var args = new CellPaintEventArgs(graphics, cell_area.ToEto(), flags.ToEto(), item); Handler.Callback.OnPaint(Handler.Widget, args); } }
protected override void Render(Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags) { var h = Handler; if (h == null) { return; } if (editingRow == row) { return; } using (var graphics = new Graphics(new GraphicsHandler(widget, window))) { var item = h.Source.GetItem(Row); var args = new CellPaintEventArgs(graphics, cell_area.ToEto(), flags.ToEto(), item); h.Callback.OnPaint(h.Widget, args); } }
protected override void OnRender(Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { }
protected override void Render(Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags) { var img = GetImage(); if (img == null) { return; } using (var ctx = Gdk.CairoHelper.Create(window)) { var x = cell_area.X + cell_area.Width / 2 - (int)(img.Width / 2); var y = cell_area.Y + cell_area.Height / 2 - (int)(img.Height / 2); ctx.DrawImage(widget, img, x, y); } }
protected override void OnRender(Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { if (Handler.FormattingEnabled) { Handler.Format(new GtkGridCellFormatEventArgs <Renderer> (this, Handler.Column.Widget, Item, Row)); } using (var graphics = new Graphics(new GraphicsHandler(cr, null, false))) { var args = new DrawableCellPaintEventArgs(graphics, cell_area.ToEto(), flags.ToEto(), Item); Handler.Callback.OnPaint(Handler.Widget, args); } }
protected override void Render(Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags) { var img = GetImage(); if (img == null) { return; } if ((flags & Gtk.CellRendererState.Selected) != 0) { img = img.WithStyles("sel"); } if (!img.HasFixedSize) { img = img.WithSize(Gtk.IconSize.Menu); } using (var ctx = Gdk.CairoHelper.Create(window)) { var x = cell_area.X + cell_area.Width / 2 - (int)(img.Width / 2); var y = cell_area.Y + cell_area.Height / 2 - (int)(img.Height / 2); ctx.DrawImage(widget, img, x, y); } }
protected override IGtkCellEditable OnStartEditing(Gdk.Event evnt, Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { return(CreateEditable(cell_area)); }
protected override void Render(Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags) { if (Handler.FormattingEnabled) { Handler.Format(new GtkGridCellFormatEventArgs <Renderer> (this, Handler.Column.Widget, Item, Row)); } // calling base crashes on windows GtkCell.gtksharp_cellrenderer_invoke_render(Gtk.CellRendererPixbuf.GType.Val, Handle, window.Handle, widget.Handle, ref background_area, ref cell_area, ref expose_area, flags); //base.Render (window, widget, background_area, cell_area, expose_area, flags); }
protected override void OnRender(Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { if (float.IsNaN((float)Handler.GetValueInternal(Item, Handler.ColumnIndex, Row).Val)) { return; } if (Handler.FormattingEnabled) { Handler.Format(new GtkGridCellFormatEventArgs <Renderer> (this, Handler.Column.Widget, Item, Row)); } base.OnRender(cr, widget, background_area, cell_area, flags); }
protected override void OnRender(Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { using (var graphics = new Graphics(new GraphicsHandler(cr, null, false))) { var item = Handler.Source.GetItem(Row); #pragma warning disable 618 var args = new DrawableCellPaintEventArgs(graphics, cell_area.ToEto(), flags.ToEto(), item); Handler.Callback.OnPaint(Handler.Widget, args); #pragma warning restore 618 } }
protected override void Render(Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags) { // In light theme: // On the Mac, the default unfocused selection background is lighter, so the icon should be black // but our `sel` icons are white. // // Except in the solution treeview, because the Mac's default unfocused selection background is too light for the // custom treeview background if (!ignoreSelection.HasValue) { if (Platform.IsMac) { if (IdeTheme.UserInterfaceTheme == Theme.Light) { var baseColor = widget.Style.Base(widget.State).ToXwtColor(); ignoreSelection = baseColor.Brightness == 1; } else { ignoreSelection = false; } } else { ignoreSelection = false; } } var img = GetImage(); if (img == null) { return; } var shouldIgnoreSelection = ignoreSelection.GetValueOrDefault() && !widget.HasFocus; if (!shouldIgnoreSelection && ((flags & Gtk.CellRendererState.Selected) != 0)) { img = img.WithStyles("sel"); } if (!img.HasFixedSize) { img = img.WithSize(Gtk.IconSize.Menu); } using (var ctx = Gdk.CairoHelper.Create(window)) { var x = cell_area.X + cell_area.Width / 2 - (int)(img.Width / 2); var y = cell_area.Y + cell_area.Height / 2 - (int)(img.Height / 2); ctx.DrawImage(widget, img, x, y); } }