don't draw if label->layout is NULL due to a pending resize
2001-01-09 Havoc Pennington <hp@redhat.com> * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout is NULL due to a pending resize * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the column width to values less than 1 * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp width to be between min/max width, and still set the width even if autosize is turned on, so the tree view can use this function in order to autosize. (gtk_tree_view_column_init): set initial width to 1 not 0 * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use setter function to modify column width, so we get notification (gtk_tree_view_insert_iter_height): ditto (gtk_tree_view_calc_size): ditto (gtk_tree_view_check_dirty): ditto * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add properties to change all the interesting attributes of the tree view column. (gtk_tree_view_column_set_header_clickable): rename set_clickable (gtk_tree_view_column_get_clickable): add (gtk_tree_view_column_set_cell_renderer): don't unset the current attributes; assume a cell renderer with equivalent object properties has been swapped in. Do g_object_notify(). (gtk_tree_view_column_set_visible): g_object_notify (gtk_tree_view_column_get_sizing): rename from get_col_type (gtk_tree_view_column_set_sizing): g_object_notify (gtk_tree_view_column_set_width): add g_object_notify (gtk_tree_view_column_set_min_width): ditto (gtk_tree_view_column_set_max_width): ditto (gtk_tree_view_column_set_title): ditto (gtk_tree_view_column_set_clickable): ditto (gtk_tree_view_column_set_widget): ditto (gtk_tree_view_column_set_justification): ditto
This commit is contained in:
committed by
Havoc Pennington
parent
637c61da76
commit
85267e9224
@ -520,7 +520,8 @@ gtk_tree_view_size_request_buttons (GtkTreeView *tree_view)
|
||||
|
||||
gtk_widget_size_request (column->button, &requisition);
|
||||
|
||||
column->width = MAX (column->width, requisition.width);
|
||||
gtk_tree_view_column_set_width (column,
|
||||
MAX (column->width, requisition.width));
|
||||
tree_view->priv->header_height = MAX (tree_view->priv->header_height, requisition.height);
|
||||
}
|
||||
}
|
||||
@ -2215,9 +2216,11 @@ gtk_tree_view_insert_iter_height (GtkTreeView *tree_view,
|
||||
max_height = MAX (max_height, TREE_VIEW_VERTICAL_SEPARATOR + height);
|
||||
|
||||
if (first == TRUE && TREE_VIEW_DRAW_EXPANDERS (tree_view))
|
||||
column->width = MAX (column->width, depth * tree_view->priv->tab_offset + width);
|
||||
gtk_tree_view_column_set_width (column,
|
||||
MAX (column->width, depth * tree_view->priv->tab_offset + width));
|
||||
else
|
||||
column->width = MAX (column->width, width);
|
||||
gtk_tree_view_column_set_width (column,
|
||||
MAX (column->width, width));
|
||||
|
||||
first = FALSE;
|
||||
}
|
||||
@ -2311,9 +2314,10 @@ gtk_tree_view_calc_size (GtkTreeView *tree_view,
|
||||
continue;
|
||||
|
||||
if (i == 0 && TREE_VIEW_DRAW_EXPANDERS (tree_view))
|
||||
column->width = MAX (column->width, depth * tree_view->priv->tab_offset + width);
|
||||
gtk_tree_view_column_set_width (column,
|
||||
MAX (column->width, depth * tree_view->priv->tab_offset + width));
|
||||
else
|
||||
column->width = MAX (column->width, width);
|
||||
gtk_tree_view_column_set_width (column, MAX (column->width, width));
|
||||
}
|
||||
_gtk_rbtree_node_set_height (tree, temp, max_height);
|
||||
if (temp->children != NULL &&
|
||||
@ -2445,7 +2449,7 @@ gtk_tree_view_check_dirty (GtkTreeView *tree_view)
|
||||
dirty = TRUE;
|
||||
if (column->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE)
|
||||
{
|
||||
column->width = column->button->requisition.width;
|
||||
gtk_tree_view_column_set_width (column, MAX (column->button->requisition.width, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3279,9 +3283,6 @@ gtk_tree_view_columns_autosize (GtkTreeView *tree_view)
|
||||
gtk_widget_queue_resize (GTK_WIDGET (tree_view));
|
||||
}
|
||||
|
||||
/* FIXME let's rename this to be "interactive" or something,
|
||||
* "active" is confusing since it also is a widget state
|
||||
*/
|
||||
/**
|
||||
* gtk_tree_view_set_headers_clickable:
|
||||
* @tree_view: A #GtkTreeView.
|
||||
@ -3300,7 +3301,7 @@ gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view,
|
||||
g_return_if_fail (tree_view->priv->model != NULL);
|
||||
|
||||
for (list = tree_view->priv->columns; list; list = list->next)
|
||||
gtk_tree_view_column_set_header_clickable (GTK_TREE_VIEW_COLUMN (list->data), setting);
|
||||
gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (list->data), setting);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user