Removing apis from GtkCellView

APIS: gtk_cell_view_get_desired_width_of_row &
gtk_cell_view_get_desired_height_for_width_of_row were introduced in
3.0 only for use from GtkComboBox and now the refactored cellview
does this transparently and just requests the right thing through
GtkWidget apis.
This commit is contained in:
Tristan Van Berkom 2010-11-26 12:09:06 +09:00
parent 238bf5cbaa
commit 6ab29f5fd8
2 changed files with 14 additions and 97 deletions

View File

@ -1153,22 +1153,31 @@ gtk_cell_view_get_displayed_row (GtkCellView *cell_view)
*
* Since: 2.6
*
* Deprecated: 3.0: Use gtk_cell_view_get_desired_width_of_row() and
* gtk_cell_view_get_desired_height_for_width_of_row() instead.
* Deprecated: 3.0: Combo box formerly used this to calculate the
* sizes for cellviews, now you can achieve this by either using
* the #GtkCellView:fit-model property or by setting the currently
* displayed row of the #GtkCellView and using gtk_widget_get_preferred_size().
*/
gboolean
gtk_cell_view_get_size_of_row (GtkCellView *cell_view,
GtkTreePath *path,
GtkRequisition *requisition)
{
GtkTreeRowReference *tmp;
GtkRequisition req;
g_return_val_if_fail (GTK_IS_CELL_VIEW (cell_view), FALSE);
g_return_val_if_fail (path != NULL, FALSE);
/* Return the minimum height for the minimum width */
gtk_cell_view_get_desired_width_of_row (cell_view, path, &req.width, NULL);
gtk_cell_view_get_desired_height_for_width_of_row (cell_view, path, req.width, &req.height, NULL);
tmp = cell_view->priv->displayed_row;
cell_view->priv->displayed_row =
gtk_tree_row_reference_new (cell_view->priv->model, path);
gtk_widget_get_preferred_width (GTK_WIDGET (cell_view), &req.width, NULL);
gtk_widget_get_preferred_height_for_width (GTK_WIDGET (cell_view), req.width, &req.height, NULL);
gtk_tree_row_reference_free (cell_view->priv->displayed_row);
cell_view->priv->displayed_row = tmp;
if (requisition)
*requisition = req;
@ -1176,86 +1185,6 @@ gtk_cell_view_get_size_of_row (GtkCellView *cell_view,
return TRUE;
}
/**
* gtk_cell_view_get_desired_width_of_row:
* @cell_view: a #GtkCellView
* @path: a #GtkTreePath
* @minimum_size: location to store the minimum size
* @natural_size: location to store the natural size
*
* Sets @minimum_size and @natural_size to the width desired by @cell_view
* to display the model row pointed to by @path.
*
* Since: 3.0
*/
void
gtk_cell_view_get_desired_width_of_row (GtkCellView *cell_view,
GtkTreePath *path,
gint *minimum_size,
gint *natural_size)
{
GtkTreeRowReference *tmp;
g_return_if_fail (GTK_IS_CELL_VIEW (cell_view));
g_return_if_fail (path != NULL);
g_return_if_fail (minimum_size != NULL || natural_size != NULL);
tmp = cell_view->priv->displayed_row;
cell_view->priv->displayed_row =
gtk_tree_row_reference_new (cell_view->priv->model, path);
gtk_cell_view_get_preferred_width (GTK_WIDGET (cell_view), minimum_size, natural_size);
gtk_tree_row_reference_free (cell_view->priv->displayed_row);
cell_view->priv->displayed_row = tmp;
/* Restore active size (this will restore the cellrenderer info->width/requested_width's) */
gtk_cell_view_get_preferred_width (GTK_WIDGET (cell_view), NULL, NULL);
}
/**
* gtk_cell_view_get_desired_height_for_width_of_row:
* @cell_view: a #GtkCellView
* @path: a #GtkTreePath
* @avail_size: available width
* @minimum_size: location to store the minimum height
* @natural_size: location to store the natural height
*
* Sets @minimum_size and @natural_size to the height desired by @cell_view
* if it were allocated a width of @avail_size to display the model row
* pointed to by @path.
*
* Since: 3.0
*/
void
gtk_cell_view_get_desired_height_for_width_of_row (GtkCellView *cell_view,
GtkTreePath *path,
gint avail_size,
gint *minimum_size,
gint *natural_size)
{
GtkTreeRowReference *tmp;
g_return_if_fail (GTK_IS_CELL_VIEW (cell_view));
g_return_if_fail (path != NULL);
g_return_if_fail (minimum_size != NULL || natural_size != NULL);
tmp = cell_view->priv->displayed_row;
cell_view->priv->displayed_row =
gtk_tree_row_reference_new (cell_view->priv->model, path);
/* Then get the collective height_for_width based on the cached values */
gtk_cell_view_get_preferred_height_for_width (GTK_WIDGET (cell_view), avail_size, minimum_size, natural_size);
gtk_tree_row_reference_free (cell_view->priv->displayed_row);
cell_view->priv->displayed_row = tmp;
/* Restore active size (this will restore the cellrenderer info->width/requested_width's) */
gtk_cell_view_get_preferred_width (GTK_WIDGET (cell_view), NULL, NULL);
}
/**
* gtk_cell_view_set_background_color:
* @cell_view: a #GtkCellView

View File

@ -93,18 +93,6 @@ gboolean gtk_cell_view_get_size_of_row (GtkCellView *cell_v
GtkRequisition *requisition);
#endif
/* XXX These 2 are going away... */
void gtk_cell_view_get_desired_width_of_row(GtkCellView *cell_view,
GtkTreePath *path,
gint *minimum_size,
gint *natural_size);
void gtk_cell_view_get_desired_height_for_width_of_row(GtkCellView *cell_view,
GtkTreePath *path,
gint avail_size,
gint *minimum_size,
gint *natural_size);
G_END_DECLS
#endif /* __GTK_CELL_VIEW_H__ */