X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=unix%2Fgtkcols.c;h=8cb5d14fcc7e459f8fe4546a64210988f19d39f5;hb=865b6b404d34f8eec5d3a3abccb8e38271bef6a6;hp=e70400dea10838bc8ea4dac51d5bf573f1ea66fe;hpb=93c6e2c987dbe141f94521947f6037537e7832b9;p=PuTTY.git diff --git a/unix/gtkcols.c b/unix/gtkcols.c index e70400de..8cb5d14f 100644 --- a/unix/gtkcols.c +++ b/unix/gtkcols.c @@ -26,6 +26,7 @@ static void columns_size_allocate(GtkWidget *widget, GtkAllocation *alloc); static GtkContainerClass *parent_class = NULL; +#if !GTK_CHECK_VERSION(2,0,0) GtkType columns_get_type(void) { static GtkType columns_type = 0; @@ -47,6 +48,31 @@ GtkType columns_get_type(void) return columns_type; } +#else +GType columns_get_type(void) +{ + static GType columns_type = 0; + + if (!columns_type) { + static const GTypeInfo columns_info = { + sizeof(ColumnsClass), + NULL, + NULL, + (GClassInitFunc) columns_class_init, + NULL, + NULL, + sizeof(Columns), + 0, + (GInstanceInitFunc)columns_init, + }; + + columns_type = g_type_register_static(GTK_TYPE_CONTAINER, "Columns", + &columns_info, 0); + } + + return columns_type; +} +#endif #if !GTK_CHECK_VERSION(2,0,0) static gint (*columns_inherited_focus)(GtkContainer *container, @@ -55,20 +81,21 @@ static gint (*columns_inherited_focus)(GtkContainer *container, static void columns_class_init(ColumnsClass *klass) { - GtkObjectClass *object_class; - GtkWidgetClass *widget_class; - GtkContainerClass *container_class; - - object_class = (GtkObjectClass *)klass; - widget_class = (GtkWidgetClass *)klass; - container_class = (GtkContainerClass *)klass; +#if !GTK_CHECK_VERSION(2,0,0) + /* GtkObjectClass *object_class = (GtkObjectClass *)klass; */ + GtkWidgetClass *widget_class = (GtkWidgetClass *)klass; + GtkContainerClass *container_class = (GtkContainerClass *)klass; +#else + /* GObjectClass *object_class = G_OBJECT_CLASS(klass); */ + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS(klass); +#endif +#if !GTK_CHECK_VERSION(2,0,0) parent_class = gtk_type_class(GTK_TYPE_CONTAINER); - - /* - * FIXME: do we have to do all this faffing with set_arg, - * get_arg and child_arg_type? Ick. - */ +#else + parent_class = g_type_class_peek_parent(klass); +#endif widget_class->map = columns_map; widget_class->unmap = columns_unmap; @@ -300,7 +327,12 @@ GtkWidget *columns_new(gint spacing) { Columns *cols; +#if !GTK_CHECK_VERSION(2,0,0) cols = gtk_type_new(columns_get_type()); +#else + cols = g_object_new(TYPE_COLUMNS, NULL); +#endif + cols->spacing = spacing; return GTK_WIDGET(cols);