summaryrefslogtreecommitdiff
path: root/gtk/gtkcellarea.h
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.van.berkom@gmail.com>2010-11-11 16:13:06 +0900
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2010-11-11 16:13:06 +0900
commitf330b40521cf1f5b2b33b33bf7c5df0f59355838 (patch)
tree1c23f802c0879657fea533ac76077c8418d34fce /gtk/gtkcellarea.h
parent524110f9025b149241747979003a3f243e907891 (diff)
downloadgtk+-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.h25
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);