summaryrefslogtreecommitdiff
path: root/gtk/gtkcellarea.h
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.van.berkom@gmail.com>2010-11-05 22:16:32 +0900
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2010-11-05 22:19:50 +0900
commit631bdc438c67debf5d7fab51cd655ac296ab32d3 (patch)
tree2f866b7d2450e4e90460f648c7a9f604da6014e0 /gtk/gtkcellarea.h
parent1ad5fa3e7a8f41e95057bd8e9ff8c32a5c8b8459 (diff)
downloadgtk+-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.h22
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,