[libgda] GdauiCombo: allow to have a smaler width than requested



commit de69b29a04f410c149d917d175d2e943ea7c0525
Author: Vivien Malerba <malerba gnome-db org>
Date:   Sat Aug 25 19:16:31 2012 +0200

    GdauiCombo: allow to have a smaler width than requested

 libgda-ui/gdaui-combo.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
---
diff --git a/libgda-ui/gdaui-combo.c b/libgda-ui/gdaui-combo.c
index 261fd5c..0dee5db 100644
--- a/libgda-ui/gdaui-combo.c
+++ b/libgda-ui/gdaui-combo.c
@@ -54,6 +54,10 @@ static void gdaui_combo_get_property (GObject *object,
 static void gdaui_combo_dispose      (GObject *object);
 static void gdaui_combo_finalize     (GObject *object);
 
+static void gdaui_combo_get_preferred_width (GtkWidget *widget,
+					     gint *minimum_size,
+					     gint *natural_size);
+
 /* GdauiDataSelector interface */
 static void              gdaui_combo_selector_init (GdauiDataSelectorIface *iface);
 static GdaDataModel     *combo_selector_get_model (GdauiDataSelector *iface);
@@ -121,6 +125,8 @@ gdaui_combo_class_init (GdauiComboClass *klass)
 	object_class->dispose = gdaui_combo_dispose;
 	object_class->finalize = gdaui_combo_finalize;
 
+	GTK_WIDGET_CLASS (klass)->get_preferred_width = gdaui_combo_get_preferred_width;
+
 	/* add class properties */
 	g_object_class_install_property (object_class, PROP_MODEL,
 					 g_param_spec_object ("model", _("The data model to display"), NULL, 
@@ -257,6 +263,19 @@ gdaui_combo_get_property (GObject *object,
 }
 
 static void
+gdaui_combo_get_preferred_width (GtkWidget *widget,
+				 gint *minimum_size,
+				 gint *natural_size)
+{
+#define MINSIZE 50
+	GTK_WIDGET_CLASS (parent_class)->get_preferred_width (widget, minimum_size, natural_size);
+	if (minimum_size && (*minimum_size > MINSIZE))
+		*minimum_size = MINSIZE;
+	if (natural_size && (*natural_size > MINSIZE))
+		*natural_size = MINSIZE;
+}
+
+static void
 gdaui_combo_dispose (GObject *object)
 {
 	GdauiCombo *combo = (GdauiCombo *) object;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]