- activate
bool activate(gdk.event.Event event, gtk.widget.Widget widget, string path, gdk.rectangle.Rectangle backgroundArea, gdk.rectangle.Rectangle cellArea, gtk.types.CellRendererState flags)
Passes an activate event to the cell renderer for possible processing.
Some cell renderers may use events; for example, #GtkCellRendererToggle
toggles when it gets a mouse click.
- connectEditingCanceled
gulong connectEditingCanceled(T callback, Flag!"After" after)
Connect to EditingCanceled signal.
- connectEditingStarted
gulong connectEditingStarted(T callback, Flag!"After" after)
Connect to EditingStarted signal.
- getAlignedArea
void getAlignedArea(gtk.widget.Widget widget, gtk.types.CellRendererState flags, gdk.rectangle.Rectangle cellArea, gdk.rectangle.Rectangle alignedArea)
Gets the aligned area used by cell inside cell_area. Used for finding
the appropriate edit and focus rectangle.
- getAlignment
void getAlignment(float xalign, float yalign)
Fills in xalign and yalign with the appropriate values of cell.
- getFixedSize
void getFixedSize(int width, int height)
Fills in width and height with the appropriate size of cell.
- getPadding
void getPadding(int xpad, int ypad)
Fills in xpad and ypad with the appropriate values of cell.
- getPreferredHeight
void getPreferredHeight(gtk.widget.Widget widget, int minimumSize, int naturalSize)
Retreives a renderer’s natural size when rendered to widget.
- getPreferredHeightForWidth
void getPreferredHeightForWidth(gtk.widget.Widget widget, int width, int minimumHeight, int naturalHeight)
Retreives a cell renderers’s minimum and natural height if it were rendered to
widget with the specified width.
- getPreferredSize
void getPreferredSize(gtk.widget.Widget widget, gtk.requisition.Requisition minimumSize, gtk.requisition.Requisition naturalSize)
Retrieves the minimum and natural size of a cell taking
into account the widget’s preference for height-for-width management.
- getPreferredWidth
void getPreferredWidth(gtk.widget.Widget widget, int minimumSize, int naturalSize)
Retreives a renderer’s natural size when rendered to widget.
- getPreferredWidthForHeight
void getPreferredWidthForHeight(gtk.widget.Widget widget, int height, int minimumWidth, int naturalWidth)
Retreives a cell renderers’s minimum and natural width if it were rendered to
widget with the specified height.
- getRequestMode
gtk.types.SizeRequestMode getRequestMode()
Gets whether the cell renderer prefers a height-for-width layout
or a width-for-height layout.
- getSensitive
bool getSensitive()
Returns the cell renderer’s sensitivity.
- getSize
void getSize(gtk.widget.Widget widget, gdk.rectangle.Rectangle cellArea, int xOffset, int yOffset, int width, int height)
Obtains the width and height needed to render the cell. Used by view
widgets to determine the appropriate size for the cell_area passed to
gtk.cell_renderer.CellRenderer.render. If cell_area is not null, fills in the
x and y offsets (if set) of the cell relative to this location.
- getState
gtk.types.StateFlags getState(gtk.widget.Widget widget, gtk.types.CellRendererState cellState)
Translates the cell renderer state to #GtkStateFlags,
based on the cell renderer and widget sensitivity, and
the given #GtkCellRendererState.
- getVisible
bool getVisible()
Returns the cell renderer’s visibility.
- isActivatable
bool isActivatable()
Checks whether the cell renderer can do something when activated.
- render
void render(cairo.context.Context cr, gtk.widget.Widget widget, gdk.rectangle.Rectangle backgroundArea, gdk.rectangle.Rectangle cellArea, gtk.types.CellRendererState flags)
Invokes the virtual render function of the #GtkCellRenderer. The three
passed-in rectangles are areas in cr. Most renderers will draw within
cell_area; the xalign, yalign, xpad, and ypad fields of the #GtkCellRenderer
should be honored with respect to cell_area. background_area includes the
blank space around the cell, and also the area containing the tree expander;
so the background_area rectangles for all cells tile to cover the entire
window.
- self
CellRenderer self()
Returns this, for use in with statements.
- setAlignment
void setAlignment(float xalign, float yalign)
Sets the renderer’s alignment within its available space.
- setFixedSize
void setFixedSize(int width, int height)
Sets the renderer size to be explicit, independent of the properties set.
- setPadding
void setPadding(int xpad, int ypad)
Sets the renderer’s padding.
- setSensitive
void setSensitive(bool sensitive)
Sets the cell renderer’s sensitivity.
- setVisible
void setVisible(bool visible)
Sets the cell renderer’s visibility.
- startEditing
gtk.cell_editable.CellEditable startEditing(gdk.event.Event event, gtk.widget.Widget widget, string path, gdk.rectangle.Rectangle backgroundArea, gdk.rectangle.Rectangle cellArea, gtk.types.CellRendererState flags)
Starts editing the contents of this cell, through a new #GtkCellEditable
widget created by the #GtkCellRendererClass.start_editing virtual function.
- stopEditing
void stopEditing(bool canceled)
Informs the cell renderer that the editing is stopped.
If canceled is true, the cell renderer will emit the
#GtkCellRenderer::editing-canceled signal.
- _gType
GType _gType [@property getter]
- cellBackground
string cellBackground [@property setter]
- cellBackgroundGdk
gdk.color.Color cellBackgroundGdk [@property getter]
Get cellBackgroundGdk property.
- cellBackgroundGdk
gdk.color.Color cellBackgroundGdk [@property setter]
Set cellBackgroundGdk property.
- cellBackgroundRgba
gdk.rgba.RGBA cellBackgroundRgba [@property getter]
Get cellBackgroundRgba property.
- cellBackgroundRgba
gdk.rgba.RGBA cellBackgroundRgba [@property setter]
Set cellBackgroundRgba property.
- cellBackgroundSet
bool cellBackgroundSet [@property getter]
- cellBackgroundSet
bool cellBackgroundSet [@property setter]
- editing
bool editing [@property getter]
- height
int height [@property getter]
- height
int height [@property setter]
- isExpanded
bool isExpanded [@property getter]
- isExpanded
bool isExpanded [@property setter]
- isExpander
bool isExpander [@property getter]
- isExpander
bool isExpander [@property setter]
- mode
gtk.types.CellRendererMode mode [@property getter]
- mode
gtk.types.CellRendererMode mode [@property setter]
- sensitive
bool sensitive [@property getter]
- sensitive
bool sensitive [@property setter]
- visible
bool visible [@property getter]
- visible
bool visible [@property setter]
- width
int width [@property getter]
- width
int width [@property setter]
- xalign
float xalign [@property getter]
- xalign
float xalign [@property setter]
- xpad
uint xpad [@property getter]
- xpad
uint xpad [@property setter]
- yalign
float yalign [@property getter]
- yalign
float yalign [@property setter]
- ypad
uint ypad [@property getter]
- ypad
uint ypad [@property setter]
The #GtkCellRenderer is a base class of a set of objects used for rendering a cell to a #cairo_t. These objects are used primarily by the #GtkTreeView widget, though they aren’t tied to them in any specific way. It is worth noting that #GtkCellRenderer is not a #GtkWidget and cannot be treated as such.
The primary use of a #GtkCellRenderer is for drawing a certain graphical elements on a #cairo_t. Typically, one cell renderer is used to draw many cells on the screen. To this extent, it isn’t expected that a CellRenderer keep any permanent state around. Instead, any state is set just prior to use using #GObjects property system. Then, the cell is measured using gtk.cell_renderer.CellRenderer.getSize. Finally, the cell is rendered in the correct location using gtk.cell_renderer.CellRenderer.render.
There are a number of rules that must be followed when writing a new #GtkCellRenderer. First and foremost, it’s important that a certain set of properties will always yield a cell renderer of the same size, barring a #GtkStyle change. The #GtkCellRenderer also has a number of generic properties that are expected to be honored by all children.
Beyond merely rendering a cell, cell renderers can optionally provide active user interface elements. A cell renderer can be “activatable” like #GtkCellRendererToggle, which toggles when it gets activated by a mouse click, or it can be “editable” like #GtkCellRendererText, which allows the user to edit the text using a widget implementing the #GtkCellEditable interface, e.g. #GtkEntry. To make a cell renderer activatable or editable, you have to implement the #GtkCellRendererClass.activate or #GtkCellRendererClass.start_editing virtual functions, respectively.
Many properties of #GtkCellRenderer and its subclasses have a corresponding “set” property, e.g. “cell-background-set” corresponds to “cell-background”. These “set” properties reflect whether a property has been set or not. You should not set them independently.