gtk-sharp 2.10.0.0 Gtk# is thread aware, but not thread safe; See the Gtk# Thread Programming for details. An object for rendering a single cell on a The is a base class of a set of objects used for rendering a cell to a . These objects are used primarily by the widget, though they are not tied to them in any specific way. It is worth noting that is not a and cannot be treated as such. The primary use of a is for drawing a certain graphical elements on a . Typically, one is used to draw many cells on the screen. To this extent, it is not expected that a keep any permanent state around. Instead, any state is set just prior to use. Then, the cell is measured using . Finally, the cell is rendered in the correct location using . There are a number of rules that must be followed when writing a new . First and foremost, it is important that a certain set of properties will always yield a of the same size, barring a change. The also has a number of generic properties that are expected to be honored by all children. Gtk.Object Method System.Void Invokes the virtual render function of the . an object of type an object of type an object of type an object of type an object of type an object of type The three passed-in rectangles are areas of . Most renderers will draw within ; includes the blank space around the cell, and also the area containing the tree expander; so the rectangles for all cells tile to cover the entire window. is a clip rectangle. Method System.Void Sets the renderer size to be explicit, independent of the properties set. an object of type an object of type Method System.Boolean Passes an activate event to the for possible processing. an object of type an object of type an object of type an object of type an object of type an object of type an object of type Some s may use events; for example, toggles when it gets a mouse click. Constructor Internal constructor Pointer to the C object. This is an internal constructor, and should not be used by user code. Property System.Int32 The fixed height. an object of type GLib.Property(Name="height") Property System.Boolean Display the cell. an object of type GLib.Property(Name="visible") Property System.Single The x-align. an object of type GLib.Property(Name="xalign") Property System.Int32 The fixed width. an object of type GLib.Property(Name="width") Property System.Single The y-align. an object of type GLib.Property(Name="yalign") Property System.Boolean Row has children. an object of type GLib.Property(Name="is-expander") Property System.UInt32 The ypad. an object of type GLib.Property(Name="ypad") Property System.UInt32 The xpad. an object of type GLib.Property(Name="xpad") Property System.Boolean Row is an expander row, and is expanded. an object of type GLib.Property(Name="is-expanded") Property Gtk.CellRendererMode Editable mode of the CellRenderer. an object of type GLib.Property(Name="mode") Property Gdk.Color Cell background color as a . a GLib.Property(Name="cell-background-gdk") Property System.String Cell background color as a . a GLib.Property(Name="cell-background") Property GLib.GType GType Property. a Returns the native value for . Constructor Protected Constructor. a Chain to this constructor if you have manually registered a native value for your subclass. System.Obsolete(Message=null, IsError=False) Constructor Protected constructor. Method System.Void Obtains the and needed to render the cell. a a a a a a Used by view widgets to determine the appropriate size for the passed to gtk_cell_renderer_render(). If is not , fills in the x and y offsets (if set) of the cell relative to this location. Please note that the values set in and , as well as those in and are inclusive of the xpad and ypad properties. Method System.Void Invokes the virtual render function of the . The three passed-in rectangles are areas of window. Most renderers will draw within ; the xalign, yalign, xpad, and ypad fields of the should be honored with respect to . includes the blank space around the cell, and also the area containing the tree expander; so the rectangles for all cells tile to cover the entire window. is a clip rectangle. a to render to a , the widget that owns a , entire cell area (including tree expanders and maybe padding on the sides) a , area normally rendered by a cell renderer a , area that needs updating a , flags that affect rendering Method Gtk.CellEditable Passes an activate event to the for possible processing. a a a a a a a Some cell renderers may use events; for example, toggles when it gets a mouse click. The following example illustrates a CellRenderText derived class that implements auto-completion in the entry widget. public class CellRendererCompletion : CellRendererText { public delegate ListStore CompletionStoreNeededDelegate(TreeView tree, out int textColumn); // Delegate that is called to obtain a ListStore that contains entries // for the column being editted. TreeView.GetCursor(out path, out column) // can be used to determine the column being editted. public static CompletionStoreNeededDelegate CompletionStoreNeededEventHandler; // Required constructor that may be called by the framework. public CellRendererCompletion(System.IntPtr raw) : base(raw) { } public CellRendererCompletion() { } public override CellEditable StartEditing(Gdk.Event evnt, Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags) { // get the entry widget Entry entry = base.StartEditing (evnt, widget, path, background_area, cell_area, flags) as Gtk.Entry; // make it auto-complete TreeView treeview = widget as TreeView; int textColumn = 0; entry.Completion = new EntryCompletion(); entry.Completion.Model = CreateCompletionModel(treeview, out textColumn); entry.Completion.TextColumn = textColumn; return entry; } // Gets the ListStore that contains the auto-complete entries // to be shown when editting this cell. Typical use might use // TreeView.GetCursor(out path, out column) to get the column name // being editted to build an appropriate list. private static TreeModel CreateCompletionModel(TreeView treeview, out int textColumn) { textColumn = 0; if (CompletionStoreNeededEventHandler != null) return CompletionStoreNeededEventHandler(treeview, out textColumn); return null; } } Event System.EventHandler This event is raised when the user cancels the process of editing a cell. For example, an editable cell renderer could be written to cancel editing when the user presses Escape. GLib.Signal(CName="editing-canceled") Method System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event. Method System.Void Causes the cell renderer to fire an event. This function is for use only by implementations of cell renderers that need to notify the client program that an editing process was canceled and the changes were not committed. Property System.Boolean Display the cell sensitive. A . The default value is . GLib.Property(Name="sensitive") Event Gtk.EditingStartedHandler This signal gets emitted when a cell starts to be edited. The intended use of this signal is to do special setup on editable cell, e.g. adding a or setting up additional columns in a . Note that GTK# doesn't guarantee that cell renderers will continue to use the same kind of widget for editing in future releases, therefore you should check the type of the cell before doing any specifi setup. GLib.Signal(CName="editing-started") Method System.Void Default handler for the event. a a Override this method in a subclass to provide a default handler for the event. Method System.Void Informs the cell renderer that the editing is stopped. a If is , the cell renderer will emit the event. This method should be called by cell renderer implementations in response to the event of . Method System.Void Location to fill in with the fixed width of the widget, or . Location to fill in with the fixed height of the widget, or . Fills in and with the appropriate size.