[Gtk-sharp-list] CellRendererPixBuf with toggle event?
dabatla
dabatla at gmail.com
Thu Feb 12 06:24:40 EST 2009
Hey, thanx, but I think I found the workaround I needed. I'm attaching the
code.
Thanks :-) http://www.nabble.com/file/p21974163/CellRendererTogglePix.cs
CellRendererTogglePix.cs
Christian Hoff wrote:
>
> Hey,
>
> I have attached a small cell renderer which overrides Render and simply
> paints a red rectangle(but you will have to change the file to override
> Render, not OnRender).
>
> If you need a click event, you have to override OnActivate, which isn't
> supported yet. I'm working on a patch to implement that and will write a
> mail to the list when I'm done.
>
> Christian
>
> Jir(í Zárevúcký wrote:
>> There are some methods for drawing in Gdk.Drawable (parent class of
>> Gdk.Window, which is passed as a parameter to the Render method).
>>
>> 2009/2/11 dabatla <dabatla at gmail.com>:
>>
>>> Hi, I would like to create CellRendererPixBuf -like cell renderer, but I
>>> also
>>> need a click/toggle event on it. I believe the way to proceed is to
>>> device
>>> from CellRendererToggle and then just to override the Render(..) method,
>>> but
>>> my problem is that I have no clue on how to render the icon or stock
>>> item i
>>> need in there.
>>>
>>> I'm sure there is a simple way, it just seems that I can't figure it out
>>> :-(
>>>
>>> please help
>>> --
>>> View this message in context:
>>> http://www.nabble.com/CellRendererPixBuf-with-toggle-event--tp21954953p21954953.html
>>> Sent from the Mono - Gtk# mailing list archive at Nabble.com.
>>>
>>> _______________________________________________
>>> Gtk-sharp-list maillist - Gtk-sharp-list at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>>>
>>>
>> _______________________________________________
>> Gtk-sharp-list maillist - Gtk-sharp-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>>
>>
>
>
> using System;
>
> namespace PixbufOverride
> {
>
>
> public class TestRenderer : Gtk.CellRenderer
> {
>
> public TestRenderer() {
> this.Mode = Gtk.CellRendererMode.Activatable;
> GLib.GType MyType = GLib.GType.Object;
> System.Console.WriteLine(this.TypeName);
>
> // System.Console.WriteLine((this as
> Gtk.CellRenderer).Activate(Gdk.EventHelper.New(Gdk.EventType.ButtonPress),
> null, "0", new Gdk.Rectangle(0, 0, 2, 2), new Gdk.Rectangle(0, 0, 1, 1),
> Gtk.CellRendererState.Selected));
> }
>
> protected override void OnGetSize (Gtk.Widget widget, ref Gdk.Rectangle
> cell_area, out int x_offset, out int y_offset, out int width, out int
> height)
> {
> System.Console.WriteLine ("GetSize called");
> base.GetSize (widget, ref cell_area, out x_offset, out y_offset, out
> width, out height);
> cell_area = new Gdk.Rectangle (0, 0, 1, 1);
> x_offset = 0;
> y_offset = 0;
> width = 30;
> height = 30;
> }
>
> protected override void OnRender (Gdk.Drawable window, Gtk.Widget
> widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area,
> Gdk.Rectangle expose_area, Gtk.CellRendererState flags)
> {
> System.Console.WriteLine ("Render called");
> Cairo.Context DrawingContext = Gdk.CairoHelper.Create(window);
> DrawingContext.Color = new Cairo.Color(255, 0, 0);
> DrawingContext.Rectangle(cell_area.X, cell_area.Y, cell_area.Width,
> cell_area.Height);
> DrawingContext.Fill();
> (DrawingContext.Target as System.IDisposable).Dispose();
> (DrawingContext as System.IDisposable).Dispose();
> }
>
> protected override System.Boolean OnActivate(Gdk.Event evnt, Gtk.Widget
> widget, System.String path, Gdk.Rectangle background_area, Gdk.Rectangle
> cell_area, Gtk.CellRendererState flags) {
> System.Console.WriteLine("I was activated! returned value of
> Gtk.CellRenderer: {0}", base.OnActivate(evnt, widget, path,
> background_area, cell_area, flags));
> return true;
> }
> }
> }
>
> _______________________________________________
> Gtk-sharp-list maillist - Gtk-sharp-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>
>
--
View this message in context: http://www.nabble.com/CellRendererPixBuf-with-toggle-event--tp21954953p21974163.html
Sent from the Mono - Gtk# mailing list archive at Nabble.com.
More information about the Gtk-sharp-list
mailing list