diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-11-11 16:13:06 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-11-11 16:13:06 +0900 |
commit | f330b40521cf1f5b2b33b33bf7c5df0f59355838 (patch) | |
tree | 1c23f802c0879657fea533ac76077c8418d34fce /gtk/gtkcellarea.h | |
parent | 524110f9025b149241747979003a3f243e907891 (diff) | |
download | gtk+-f330b40521cf1f5b2b33b33bf7c5df0f59355838.tar.gz |
GtkCellArea now paints focus on cells
Added concept of "Focus Siblings" to GtkCellArea so that some
static text/icon may be included in the focus/click area of
an activatable or editable cell, implemented focus drawing
as well, updated testcellarea to reflect the changes.
Diffstat (limited to 'gtk/gtkcellarea.h')
-rw-r--r-- | gtk/gtkcellarea.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 6271e99d32..c1203541e5 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -95,8 +95,10 @@ struct _GtkCellAreaClass GtkCellAreaIter *iter, GtkWidget *widget, cairo_t *cr, + const GdkRectangle *background_area, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellRendererState flags, + gboolean paint_focus); /* Geometry */ GtkCellAreaIter *(* create_iter) (GtkCellArea *area); @@ -165,6 +167,8 @@ void gtk_cell_area_add (GtkCellArea GtkCellRenderer *renderer); void gtk_cell_area_remove (GtkCellArea *area, GtkCellRenderer *renderer); +gboolean gtk_cell_area_has_renderer (GtkCellArea *area, + GtkCellRenderer *renderer); void gtk_cell_area_forall (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); @@ -184,8 +188,10 @@ void gtk_cell_area_render (GtkCellArea GtkCellAreaIter *iter, GtkWidget *widget, cairo_t *cr, + const GdkRectangle *background_area, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellRendererState flags, + gboolean paint_focus); /* Geometry */ GtkCellAreaIter *gtk_cell_area_create_iter (GtkCellArea *area); @@ -283,6 +289,21 @@ void gtk_cell_area_set_focus_cell (GtkCellArea GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); + +/* Focus siblings */ +void gtk_cell_area_add_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); +void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); +gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); +G_CONST_RETURN GList *gtk_cell_area_get_focus_siblings (GtkCellArea *area, + GtkCellRenderer *renderer); + + /* Cell Activation/Editing */ void gtk_cell_area_set_edited_cell (GtkCellArea *area, GtkCellRenderer *renderer); |