diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-11-05 22:16:32 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-11-05 22:19:50 +0900 |
commit | 631bdc438c67debf5d7fab51cd655ac296ab32d3 (patch) | |
tree | 2f866b7d2450e4e90460f648c7a9f604da6014e0 /gtk/gtkcellarea.h | |
parent | 1ad5fa3e7a8f41e95057bd8e9ff8c32a5c8b8459 (diff) | |
download | gtk+-631bdc438c67debf5d7fab51cd655ac296ab32d3.tar.gz |
Made progress on focus handling.
- Added vfunc to get the allocation of a cell inside an area
- Superclass GtkCellArea handles activation of focused cells
by handling key events (as well as editing of editable cells)
- Added signal "editing-started" to GtkCellArea to signal that
editing has started (generally signaled from inside event handling)
- Added properties "focus-cell" and "edited-cell"
Diffstat (limited to 'gtk/gtkcellarea.h')
-rw-r--r-- | gtk/gtkcellarea.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 9c095538bd..0e806df688 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -79,6 +79,12 @@ struct _GtkCellAreaClass void (* forall) (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); + void (* get_cell_allocation) (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation); gint (* event) (GtkCellArea *area, GtkCellAreaIter *iter, GtkWidget *widget, @@ -156,6 +162,12 @@ void gtk_cell_area_remove (GtkCellArea void gtk_cell_area_forall (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); +void gtk_cell_area_get_cell_allocation (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation); gint gtk_cell_area_event (GtkCellArea *area, GtkCellAreaIter *iter, GtkWidget *widget, @@ -194,6 +206,8 @@ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea gint height, gint *minimum_width, gint *natural_width); +G_CONST_RETURN gchar *gtk_cell_area_get_current_path_string (GtkCellArea *area); + /* Attributes */ void gtk_cell_area_apply_attributes (GtkCellArea *area, @@ -263,6 +277,9 @@ gboolean gtk_cell_area_get_can_focus (GtkCellArea void gtk_cell_area_set_focus_cell (GtkCellArea *area, GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); +void gtk_cell_area_set_edited_cell (GtkCellArea *area, + GtkCellRenderer *renderer); +GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area); @@ -282,6 +299,11 @@ void gtk_cell_area_set_cell_margin_bottom (GtkCellArea /* Functions for area implementations */ +/* Signal that editing started on the area (fires the "editing-started" signal) */ +void gtk_cell_area_editing_started (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable); + /* Distinguish the inner cell area from the whole requested area including margins */ void gtk_cell_area_inner_cell_area (GtkCellArea *area, GdkRectangle *cell_area, |