#include "gtkintl.h"
#include "gtkalias.h"
-const gchar gtk_combo_string_key[] = "gtk-combo-string-value";
+static const gchar gtk_combo_string_key[] = "gtk-combo-string-value";
#define COMBO_LIST_MAX_HEIGHT (400)
#define EMPTY_LIST_HEIGHT (15)
PROP_VALUE_IN_LIST
};
-static void gtk_combo_class_init (GtkComboClass *klass);
-static void gtk_combo_init (GtkCombo *combo);
static void gtk_combo_realize (GtkWidget *widget);
static void gtk_combo_unrealize (GtkWidget *widget);
static void gtk_combo_destroy (GtkObject *combo);
guint prop_id,
GValue *value,
GParamSpec *pspec);
-static GtkHBoxClass *parent_class = NULL;
+
+G_DEFINE_TYPE (GtkCombo, gtk_combo, GTK_TYPE_HBOX)
static void
gtk_combo_class_init (GtkComboClass * klass)
oclass = (GtkObjectClass *) klass;
widget_class = (GtkWidgetClass *) klass;
- parent_class = g_type_class_peek_parent (klass);
-
gobject_class->set_property = gtk_combo_set_property;
gobject_class->get_property = gtk_combo_get_property;
combo->popwin = NULL;
}
- GTK_OBJECT_CLASS (parent_class)->destroy (object);
+ GTK_OBJECT_CLASS (gtk_combo_parent_class)->destroy (object);
}
static int
{
gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)),
GTK_WINDOW (combo->popwin));
- gtk_window_set_transient_for (combo->popwin, GTK_WINDOW (toplevel));
+ gtk_window_set_transient_for (GTK_WINDOW (combo->popwin), GTK_WINDOW (toplevel));
}
gtk_widget_set_size_request (combo->popwin, width, height);
gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (combo->popup)));
gtk_widget_show (combo->list);
- combo->list_change_id = g_signal_connect (combo->list, "selection_changed",
+ combo->list_change_id = g_signal_connect (combo->list, "selection-changed",
G_CALLBACK (gtk_combo_selection_changed), combo);
g_signal_connect (combo->popwin, "key_press_event",
gtk_window_set_screen (GTK_WINDOW (combo->popwin),
gtk_widget_get_screen (widget));
- GTK_WIDGET_CLASS( parent_class )->realize (widget);
+ GTK_WIDGET_CLASS (gtk_combo_parent_class)->realize (widget);
}
static void
gtk_combo_popdown_list (combo);
gtk_widget_unrealize (combo->popwin);
- GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
-}
-
-GType
-gtk_combo_get_type (void)
-{
- static GType combo_type = 0;
-
- if (!combo_type)
- {
- static const GTypeInfo combo_info =
- {
- sizeof (GtkComboClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gtk_combo_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkCombo),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gtk_combo_init,
- };
-
- combo_type = g_type_register_static (GTK_TYPE_HBOX, I_("GtkCombo"),
- &combo_info, 0);
- }
-
- return combo_type;
+ GTK_WIDGET_CLASS (gtk_combo_parent_class)->unrealize (widget);
}
GtkWidget*
if (combo->value_in_list != val)
{
combo->value_in_list = val;
- g_object_notify (G_OBJECT (combo), "value_in_list");
+ g_object_notify (G_OBJECT (combo), "value-in-list");
}
if (combo->ok_if_empty != ok_if_empty)
{
combo->ok_if_empty = ok_if_empty;
- g_object_notify (G_OBJECT (combo), "allow_empty");
+ g_object_notify (G_OBJECT (combo), "allow-empty");
}
g_object_thaw_notify (G_OBJECT (combo));
}
if (combo->case_sensitive != val)
{
combo->case_sensitive = val;
- g_object_notify (G_OBJECT (combo), "case_sensitive");
+ g_object_notify (G_OBJECT (combo), "case-sensitive");
}
}
if (combo->use_arrows != val)
{
combo->use_arrows = val;
- g_object_notify (G_OBJECT (combo), "enable_arrow_keys");
+ g_object_notify (G_OBJECT (combo), "enable-arrow-keys");
}
}
{
g_object_freeze_notify (G_OBJECT (combo));
combo->use_arrows_always = val;
- g_object_notify (G_OBJECT (combo), "enable_arrows_always");
+ g_object_notify (G_OBJECT (combo), "enable-arrows-always");
if (combo->use_arrows != TRUE)
{
combo->use_arrows = TRUE;
- g_object_notify (G_OBJECT (combo), "enable_arrow_keys");
+ g_object_notify (G_OBJECT (combo), "enable-arrow-keys");
}
g_object_thaw_notify (G_OBJECT (combo));
}
g_return_if_fail (GTK_IS_COMBO (widget));
g_return_if_fail (allocation != NULL);
- GTK_WIDGET_CLASS (parent_class)->size_allocate (widget, allocation);
+ GTK_WIDGET_CLASS (gtk_combo_parent_class)->size_allocate (widget, allocation);
combo = GTK_COMBO (widget);