Added GtkCellRendererState flags to GtkCellArea->event/render() methods
This commit is contained in:
@ -632,7 +632,8 @@ gtk_cell_area_event (GtkCellArea *area,
|
|||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
const GdkRectangle *cell_area)
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags)
|
||||||
{
|
{
|
||||||
GtkCellAreaClass *class;
|
GtkCellAreaClass *class;
|
||||||
|
|
||||||
@ -645,7 +646,7 @@ gtk_cell_area_event (GtkCellArea *area,
|
|||||||
class = GTK_CELL_AREA_GET_CLASS (area);
|
class = GTK_CELL_AREA_GET_CLASS (area);
|
||||||
|
|
||||||
if (class->event)
|
if (class->event)
|
||||||
return class->event (area, iter, widget, event, cell_area);
|
return class->event (area, iter, widget, event, cell_area, flags);
|
||||||
|
|
||||||
g_warning ("GtkCellAreaClass::event not implemented for `%s'",
|
g_warning ("GtkCellAreaClass::event not implemented for `%s'",
|
||||||
g_type_name (G_TYPE_FROM_INSTANCE (area)));
|
g_type_name (G_TYPE_FROM_INSTANCE (area)));
|
||||||
@ -657,7 +658,8 @@ gtk_cell_area_render (GtkCellArea *area,
|
|||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
cairo_t *cr,
|
cairo_t *cr,
|
||||||
const GdkRectangle *cell_area)
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags)
|
||||||
{
|
{
|
||||||
GtkCellAreaClass *class;
|
GtkCellAreaClass *class;
|
||||||
|
|
||||||
@ -670,7 +672,7 @@ gtk_cell_area_render (GtkCellArea *area,
|
|||||||
class = GTK_CELL_AREA_GET_CLASS (area);
|
class = GTK_CELL_AREA_GET_CLASS (area);
|
||||||
|
|
||||||
if (class->render)
|
if (class->render)
|
||||||
class->render (area, iter, widget, cr, cell_area);
|
class->render (area, iter, widget, cr, cell_area, flags);
|
||||||
else
|
else
|
||||||
g_warning ("GtkCellAreaClass::render not implemented for `%s'",
|
g_warning ("GtkCellAreaClass::render not implemented for `%s'",
|
||||||
g_type_name (G_TYPE_FROM_INSTANCE (area)));
|
g_type_name (G_TYPE_FROM_INSTANCE (area)));
|
||||||
|
|||||||
@ -83,12 +83,14 @@ struct _GtkCellAreaClass
|
|||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
const GdkRectangle *cell_area);
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags);
|
||||||
void (* render) (GtkCellArea *area,
|
void (* render) (GtkCellArea *area,
|
||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
cairo_t *cr,
|
cairo_t *cr,
|
||||||
const GdkRectangle *cell_area);
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags);
|
||||||
|
|
||||||
/* Geometry */
|
/* Geometry */
|
||||||
GtkCellAreaIter *(* create_iter) (GtkCellArea *area);
|
GtkCellAreaIter *(* create_iter) (GtkCellArea *area);
|
||||||
@ -153,12 +155,14 @@ gint gtk_cell_area_event (GtkCellArea
|
|||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
const GdkRectangle *cell_area);
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags);
|
||||||
void gtk_cell_area_render (GtkCellArea *area,
|
void gtk_cell_area_render (GtkCellArea *area,
|
||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
cairo_t *cr,
|
cairo_t *cr,
|
||||||
const GdkRectangle *cell_area);
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags);
|
||||||
|
|
||||||
/* Geometry */
|
/* Geometry */
|
||||||
GtkCellAreaIter *gtk_cell_area_create_iter (GtkCellArea *area);
|
GtkCellAreaIter *gtk_cell_area_create_iter (GtkCellArea *area);
|
||||||
|
|||||||
@ -54,12 +54,14 @@ static gint gtk_cell_area_box_event (GtkCellArea
|
|||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
const GdkRectangle *cell_area);
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags);
|
||||||
static void gtk_cell_area_box_render (GtkCellArea *area,
|
static void gtk_cell_area_box_render (GtkCellArea *area,
|
||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
cairo_t *cr,
|
cairo_t *cr,
|
||||||
const GdkRectangle *cell_area);
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags);
|
||||||
|
|
||||||
static void gtk_cell_area_box_set_cell_property (GtkCellArea *area,
|
static void gtk_cell_area_box_set_cell_property (GtkCellArea *area,
|
||||||
GtkCellRenderer *renderer,
|
GtkCellRenderer *renderer,
|
||||||
@ -755,7 +757,8 @@ gtk_cell_area_box_event (GtkCellArea *area,
|
|||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
const GdkRectangle *cell_area)
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
@ -767,7 +770,8 @@ gtk_cell_area_box_render (GtkCellArea *area,
|
|||||||
GtkCellAreaIter *iter,
|
GtkCellAreaIter *iter,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
cairo_t *cr,
|
cairo_t *cr,
|
||||||
const GdkRectangle *cell_area)
|
const GdkRectangle *cell_area,
|
||||||
|
GtkCellRendererState flags)
|
||||||
{
|
{
|
||||||
GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area);
|
GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area);
|
||||||
GtkCellAreaBoxPrivate *priv = box->priv;
|
GtkCellAreaBoxPrivate *priv = box->priv;
|
||||||
@ -800,9 +804,11 @@ gtk_cell_area_box_render (GtkCellArea *area,
|
|||||||
*/
|
*/
|
||||||
gtk_cell_area_inner_cell_area (area, &background_area, &inner_area);
|
gtk_cell_area_inner_cell_area (area, &background_area, &inner_area);
|
||||||
|
|
||||||
|
/* XXX We have to do some per-cell considerations for the 'flags'
|
||||||
|
* for focus handling */
|
||||||
gtk_cell_renderer_render (cell->renderer, cr, widget,
|
gtk_cell_renderer_render (cell->renderer, cr, widget,
|
||||||
&background_area, &inner_area,
|
&background_area, &inner_area,
|
||||||
/* flags */0);
|
flags);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user