[gtk+/treeview-refactor] More documentation in gtkcellarea.c
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/treeview-refactor] More documentation in gtkcellarea.c
- Date: Mon, 15 Nov 2010 02:19:27 +0000 (UTC)
commit 4ceb25e0115f1b745d1678a8e9610b9ea08295dc
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Mon Nov 15 11:23:55 2010 +0900
More documentation in gtkcellarea.c
gtk/gtkcellarea.c | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++--
gtk/gtkcellarea.h | 8 ++--
2 files changed, 151 insertions(+), 10 deletions(-)
---
diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c
index e0a3f22..7463e0b 100644
--- a/gtk/gtkcellarea.c
+++ b/gtk/gtkcellarea.c
@@ -282,6 +282,19 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
class->activate = gtk_cell_area_real_activate;
/* Signals */
+
+ /**
+ * GtkCellArea::add-editable:
+ * @area: the #GtkCellArea where editing started
+ * @renderer: the #GtkCellRenderer that started the edited
+ * @editable: the #GtkCellEditable widget to add
+ * @cell_area: the #GtkWidget relative #GdkRectangle coordinates
+ * where @editable should be added
+ * @path: the #GtkTreePath string this edit was initiated for
+ *
+ * Indicates that editing has started on @renderer and that @editable
+ * should be added to the owning cell layouting widget at @cell_area.
+ */
cell_area_signals[SIGNAL_ADD_EDITABLE] =
g_signal_new (I_("add-editable"),
G_OBJECT_CLASS_TYPE (object_class),
@@ -295,6 +308,16 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
GDK_TYPE_RECTANGLE,
G_TYPE_STRING);
+
+ /**
+ * GtkCellArea::remove-editable:
+ * @area: the #GtkCellArea where editing finished
+ * @renderer: the #GtkCellRenderer that finished editeding
+ * @editable: the #GtkCellEditable widget to remove
+ *
+ * Indicates that editing finished on @renderer and that @editable
+ * should be removed from the owning cell layouting widget.
+ */
cell_area_signals[SIGNAL_REMOVE_EDITABLE] =
g_signal_new (I_("remove-editable"),
G_OBJECT_CLASS_TYPE (object_class),
@@ -306,6 +329,21 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
GTK_TYPE_CELL_RENDERER,
GTK_TYPE_CELL_EDITABLE);
+ /**
+ * GtkCellArea::focus-changed:
+ * @area: the #GtkCellArea where focus changed
+ * @renderer: the #GtkCellRenderer that has focus
+ * @path: the current #GtkTreePath string set for @area
+ *
+ * Indicates that focus changed on this @area. This signal
+ * is emitted either as a result of focus handling or event
+ * handling.
+ *
+ * It's possible that the signal is emitted even if the
+ * currently focused renderer did not change, this is
+ * because focus may change to the same renderer in the
+ * same cell area for a different row of data.
+ */
cell_area_signals[SIGNAL_FOCUS_CHANGED] =
g_signal_new (I_("focus-changed"),
G_OBJECT_CLASS_TYPE (object_class),
@@ -1155,6 +1193,17 @@ gtk_cell_area_create_context (GtkCellArea *area)
}
+/**
+ * gtk_cell_area_get_request_mode:
+ * @area: a #GtkCellArea
+ *
+ * Gets whether the area prefers a height-for-width layout
+ * or a width-for-height layout.
+ *
+ * Returns: The #GtkSizeRequestMode preferred by @area.
+ *
+ * Since: 3.0
+ */
GtkSizeRequestMode
gtk_cell_area_get_request_mode (GtkCellArea *area)
{
@@ -1174,12 +1223,31 @@ gtk_cell_area_get_request_mode (GtkCellArea *area)
return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH;
}
+/**
+ * gtk_cell_area_get_preferred_width:
+ * @area: a #GtkCellArea
+ * @context: the #GtkCellAreaContext to perform this request with
+ * @widget: the #GtkWidget where @area will be rendering
+ * @minimum_width: (out) (allow-none): location to store the minimum width, or %NULL
+ * @natural_width: (out) (allow-none): location to store the natural width, or %NULL
+ *
+ * Retrieves a cell area's initial minimum and natural width.
+ *
+ * @area will store some geometrical information in @context along the way,
+ * when requesting sizes over an arbitrary number of rows, its not important
+ * to check the @minimum_width and @natural_width of this call but rather to
+ * call gtk_cell_area_context_sum_preferred_width() and then consult
+ * gtk_cell_area_context_get_preferred_width().
+ *
+ *
+ * Since: 3.0
+ */
void
gtk_cell_area_get_preferred_width (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
- gint *minimum_size,
- gint *natural_size)
+ gint *minimum_width,
+ gint *natural_width)
{
GtkCellAreaClass *class;
@@ -1189,12 +1257,39 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area,
class = GTK_CELL_AREA_GET_CLASS (area);
if (class->get_preferred_width)
- class->get_preferred_width (area, context, widget, minimum_size, natural_size);
+ class->get_preferred_width (area, context, widget, minimum_width, natural_width);
else
g_warning ("GtkCellAreaClass::get_preferred_width not implemented for `%s'",
g_type_name (G_TYPE_FROM_INSTANCE (area)));
}
+/**
+ * gtk_cell_area_get_preferred_height_for_width:
+ * @area: a #GtkCellArea
+ * @context: the #GtkCellAreaContext which has already been requested for widths.
+ * @widget: the #GtkWidget where @area will be rendering
+ * @width: the width for which to check the height of this area
+ * @minimum_height: (out) (allow-none): location to store the minimum height, or %NULL
+ * @natural_height: (out) (allow-none): location to store the natural height, or %NULL
+ *
+ * Retrieves a cell area's minimum and natural height if it would be given
+ * the specified @width.
+ *
+ * @area stores some geometrical information in @context along the way
+ * while calling gtk_cell_area_get_preferred_width(), it's important to
+ * perform a series of gtk_cell_area_get_preferred_width() requests with
+ * @context first and then call gtk_cell_area_get_preferred_height_for_width()
+ * on each cell area individually to get the height for width of each
+ * fully requested row.
+ *
+ * If at some point, the width of a single row changes, it should be
+ * requested with gtk_cell_area_get_preferred_width() again and then
+ * the full with of the requested rows checked again after calling
+ * gtk_cell_area_context_sum_preferred_width(), and then the height
+ * for width of each row needs to be requested again.
+ *
+ * Since: 3.0
+ */
void
gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area,
GtkCellAreaContext *context,
@@ -1212,12 +1307,31 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area,
class->get_preferred_height_for_width (area, context, widget, width, minimum_height, natural_height);
}
+
+/**
+ * gtk_cell_area_get_preferred_height:
+ * @area: a #GtkCellArea
+ * @context: the #GtkCellAreaContext to perform this request with
+ * @widget: the #GtkWidget where @area will be rendering
+ * @minimum_height: (out) (allow-none): location to store the minimum height, or %NULL
+ * @natural_height: (out) (allow-none): location to store the natural height, or %NULL
+ *
+ * Retrieves a cell area's initial minimum and natural height.
+ *
+ * @area will store some geometrical information in @context along the way,
+ * when requesting sizes over an arbitrary number of rows, its not important
+ * to check the @minimum_height and @natural_height of this call but rather to
+ * call gtk_cell_area_context_sum_preferred_height() and then consult
+ * gtk_cell_area_context_get_preferred_height().
+ *
+ * Since: 3.0
+ */
void
gtk_cell_area_get_preferred_height (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
- gint *minimum_size,
- gint *natural_size)
+ gint *minimum_height,
+ gint *natural_height)
{
GtkCellAreaClass *class;
@@ -1227,12 +1341,39 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area,
class = GTK_CELL_AREA_GET_CLASS (area);
if (class->get_preferred_height)
- class->get_preferred_height (area, context, widget, minimum_size, natural_size);
+ class->get_preferred_height (area, context, widget, minimum_height, natural_height);
else
g_warning ("GtkCellAreaClass::get_preferred_height not implemented for `%s'",
g_type_name (G_TYPE_FROM_INSTANCE (area)));
}
+/**
+ * gtk_cell_area_get_preferred_width_for_height:
+ * @area: a #GtkCellArea
+ * @context: the #GtkCellAreaContext which has already been requested for widths.
+ * @widget: the #GtkWidget where @area will be rendering
+ * @height: the height for which to check the width of this area
+ * @minimum_width: (out) (allow-none): location to store the minimum width, or %NULL
+ * @natural_width: (out) (allow-none): location to store the natural width, or %NULL
+ *
+ * Retrieves a cell area's minimum and natural width if it would be given
+ * the specified @height.
+ *
+ * @area stores some geometrical information in @context along the way
+ * while calling gtk_cell_area_get_preferred_height(), it's important to
+ * perform a series of gtk_cell_area_get_preferred_height() requests with
+ * @context first and then call gtk_cell_area_get_preferred_width_for_height()
+ * on each cell area individually to get the height for width of each
+ * fully requested row.
+ *
+ * If at some point, the width of a single row changes, it should be
+ * requested with gtk_cell_area_get_preferred_width() again and then
+ * the full with of the requested rows checked again after calling
+ * gtk_cell_area_context_sum_preferred_width(), and then the height
+ * for width of each row needs to be requested again.
+ *
+ * Since: 3.0
+ */
void
gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area,
GtkCellAreaContext *context,
diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h
index 4007ae1..2434f81 100644
--- a/gtk/gtkcellarea.h
+++ b/gtk/gtkcellarea.h
@@ -106,8 +106,8 @@ struct _GtkCellAreaClass
void (* get_preferred_width) (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
- gint *minimum_size,
- gint *natural_size);
+ gint *minimum_width,
+ gint *natural_width);
void (* get_preferred_height_for_width) (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
@@ -117,8 +117,8 @@ struct _GtkCellAreaClass
void (* get_preferred_height) (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
- gint *minimum_size,
- gint *natural_size);
+ gint *minimum_height,
+ gint *natural_height);
void (* get_preferred_width_for_height) (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]