mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 02:40:11 +00:00
add arrow-size property to control the minimum size of the arrow, have the
2006-11-01 Kristian Rietveld <kris@imendio.com> * gtk/gtkcombobox.c (gtk_combo_box_class_init), (gtk_combo_box_size_request): add arrow-size property to control the minimum size of the arrow, have the arrow scale up with the font by default. (#357950).
This commit is contained in:
parent
5f72cdfe59
commit
be3e5ab9a6
@ -1,3 +1,10 @@
|
||||
2006-11-01 Kristian Rietveld <kris@imendio.com>
|
||||
|
||||
* gtk/gtkcombobox.c (gtk_combo_box_class_init),
|
||||
(gtk_combo_box_size_request): add arrow-size property to control
|
||||
the minimum size of the arrow, have the arrow scale up with the
|
||||
font by default. (#357950).
|
||||
|
||||
2006-10-30 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): don't
|
||||
|
@ -756,6 +756,25 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
|
||||
FALSE,
|
||||
GTK_PARAM_READABLE));
|
||||
|
||||
/**
|
||||
* GtkComboBox:arrow-size:
|
||||
*
|
||||
* Sets the minimum size of the arrow in the combo box. Note
|
||||
* that the arrow size is coupled to the font size, so in case
|
||||
* a larger font is used, the arrow will be larger than set
|
||||
* by arrow size.
|
||||
*
|
||||
* Since: 2.12
|
||||
*/
|
||||
gtk_widget_class_install_style_property (widget_class,
|
||||
g_param_spec_int ("arrow-size",
|
||||
P_("Arrow Size"),
|
||||
P_("The minimum size of the arrow in the combo box"),
|
||||
0,
|
||||
G_MAXINT,
|
||||
15,
|
||||
GTK_PARAM_READABLE));
|
||||
|
||||
g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
|
||||
}
|
||||
|
||||
@ -1897,7 +1916,12 @@ gtk_combo_box_size_request (GtkWidget *widget,
|
||||
{
|
||||
gint width, height;
|
||||
gint focus_width, focus_pad;
|
||||
gint font_size;
|
||||
gint arrow_size;
|
||||
GtkRequisition bin_req;
|
||||
PangoContext *context;
|
||||
PangoFontMetrics *metrics;
|
||||
PangoFontDescription *font_desc;
|
||||
|
||||
GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
|
||||
|
||||
@ -1910,8 +1934,21 @@ gtk_combo_box_size_request (GtkWidget *widget,
|
||||
gtk_widget_style_get (GTK_WIDGET (widget),
|
||||
"focus-line-width", &focus_width,
|
||||
"focus-padding", &focus_pad,
|
||||
"arrow-size", &arrow_size,
|
||||
NULL);
|
||||
|
||||
font_desc = GTK_BIN (widget)->child->style->font_desc;
|
||||
context = gtk_widget_get_pango_context (widget);
|
||||
metrics = pango_context_get_metrics (context, font_desc,
|
||||
pango_context_get_language (context));
|
||||
font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) +
|
||||
pango_font_metrics_get_descent (metrics));
|
||||
pango_font_metrics_unref (metrics);
|
||||
|
||||
arrow_size = MAX (arrow_size, font_size);
|
||||
|
||||
gtk_widget_set_size_request (combo_box->priv->arrow, arrow_size, arrow_size);
|
||||
|
||||
if (!combo_box->priv->tree_view)
|
||||
{
|
||||
/* menu mode */
|
||||
|
Loading…
Reference in New Issue
Block a user