comparison src/gtkexpander.c @ 11752:0b4923aee31d

[gaim-migrate @ 14043] Hey, Look! it's a GtkExpander that both compiles AND works with Gtk 2.2 Yay! committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Sun, 23 Oct 2005 13:30:41 +0000
parents 8d7c99f20e4c
children
comparison
equal deleted inserted replaced
11751:5d1dd575d0f4 11752:0b4923aee31d
29 #if !GTK_CHECK_VERSION(2,4,0) 29 #if !GTK_CHECK_VERSION(2,4,0)
30 #include "gtkexpander.h" 30 #include "gtkexpander.h"
31 31
32 #include <gtk/gtklabel.h> 32 #include <gtk/gtklabel.h>
33 #include <gtk/gtkcontainer.h> 33 #include <gtk/gtkcontainer.h>
34 #include <gtk/gtkmarshalers.h> 34 #include <gtk/gtkmarshal.h>
35 #include <gtk/gtkmain.h> 35 #include <gtk/gtkmain.h>
36 #include <gtk/gtkintl.h>
37 #include <gtk/gtkprivate.h> 36 #include <gtk/gtkprivate.h>
38 #include <gdk/gdkkeysyms.h> 37 #include <gdk/gdkkeysyms.h>
39 #include <gtk/gtkalias.h> 38
40 39 #define P_(x) (x)
41 #define GTK_EXPANDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_EXPANDER, GtkExpanderPrivate))
42 40
43 #define DEFAULT_EXPANDER_SIZE 10 41 #define DEFAULT_EXPANDER_SIZE 10
44 #define DEFAULT_EXPANDER_SPACING 2 42 #define DEFAULT_EXPANDER_SPACING 2
45 43
46 enum 44 enum
79 GParamSpec *pspec); 77 GParamSpec *pspec);
80 static void gtk_expander_get_property (GObject *object, 78 static void gtk_expander_get_property (GObject *object,
81 guint prop_id, 79 guint prop_id,
82 GValue *value, 80 GValue *value,
83 GParamSpec *pspec); 81 GParamSpec *pspec);
82
83 static void gtk_expander_finalize (GObject *object);
84 84
85 static void gtk_expander_destroy (GtkObject *object); 85 static void gtk_expander_destroy (GtkObject *object);
86 86
87 static void gtk_expander_realize (GtkWidget *widget); 87 static void gtk_expander_realize (GtkWidget *widget);
88 static void gtk_expander_unrealize (GtkWidget *widget); 88 static void gtk_expander_unrealize (GtkWidget *widget);
168 widget_class = (GtkWidgetClass *) klass; 168 widget_class = (GtkWidgetClass *) klass;
169 container_class = (GtkContainerClass *) klass; 169 container_class = (GtkContainerClass *) klass;
170 170
171 gobject_class->set_property = gtk_expander_set_property; 171 gobject_class->set_property = gtk_expander_set_property;
172 gobject_class->get_property = gtk_expander_get_property; 172 gobject_class->get_property = gtk_expander_get_property;
173 gobject_class->finalize = gtk_expander_finalize;
173 174
174 object_class->destroy = gtk_expander_destroy; 175 object_class->destroy = gtk_expander_destroy;
175 176
176 widget_class->realize = gtk_expander_realize; 177 widget_class->realize = gtk_expander_realize;
177 widget_class->unrealize = gtk_expander_unrealize; 178 widget_class->unrealize = gtk_expander_unrealize;
192 container_class->remove = gtk_expander_remove; 193 container_class->remove = gtk_expander_remove;
193 container_class->forall = gtk_expander_forall; 194 container_class->forall = gtk_expander_forall;
194 195
195 klass->activate = gtk_expander_activate; 196 klass->activate = gtk_expander_activate;
196 197
197 g_type_class_add_private (klass, sizeof (GtkExpanderPrivate));
198
199 g_object_class_install_property (gobject_class, 198 g_object_class_install_property (gobject_class,
200 PROP_EXPANDED, 199 PROP_EXPANDED,
201 g_param_spec_boolean ("expanded", 200 g_param_spec_boolean ("expanded",
202 P_("Expanded"), 201 P_("Expanded"),
203 P_("Whether the expander has been opened to reveal the child widget"), 202 P_("Whether the expander has been opened to reveal the child widget"),
268 g_signal_new ("activate", 267 g_signal_new ("activate",
269 G_TYPE_FROM_CLASS (gobject_class), 268 G_TYPE_FROM_CLASS (gobject_class),
270 G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, 269 G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
271 G_STRUCT_OFFSET (GtkExpanderClass, activate), 270 G_STRUCT_OFFSET (GtkExpanderClass, activate),
272 NULL, NULL, 271 NULL, NULL,
273 _gtk_marshal_VOID__VOID, 272 gtk_marshal_VOID__VOID,
274 G_TYPE_NONE, 0); 273 G_TYPE_NONE, 0);
275 } 274 }
276 275
277 static void 276 static void
277 gtk_expander_finalize (GObject *obj)
278 {
279 GtkExpander *self = (GtkExpander *)obj;
280
281 g_free(self->priv);
282
283 G_OBJECT_CLASS(parent_class)->finalize (obj);
284 }
285
286 static void
278 gtk_expander_init (GtkExpander *expander) 287 gtk_expander_init (GtkExpander *expander)
279 { 288 {
280 GtkExpanderPrivate *priv; 289 GtkExpanderPrivate *priv;
281 290
282 expander->priv = priv = GTK_EXPANDER_GET_PRIVATE (expander); 291 expander->priv = priv = g_new0(GtkExpanderPrivate, 1);
283 292
284 GTK_WIDGET_SET_FLAGS (expander, GTK_CAN_FOCUS); 293 GTK_WIDGET_SET_FLAGS (expander, GTK_CAN_FOCUS);
285 GTK_WIDGET_SET_FLAGS (expander, GTK_NO_WINDOW); 294 GTK_WIDGET_SET_FLAGS (expander, GTK_NO_WINDOW);
286 295
287 priv->label_widget = NULL; 296 priv->label_widget = NULL;
377 if (priv->animation_timeout) 386 if (priv->animation_timeout)
378 { 387 {
379 g_source_remove (priv->animation_timeout); 388 g_source_remove (priv->animation_timeout);
380 priv->animation_timeout = 0; 389 priv->animation_timeout = 0;
381 } 390 }
382 391
383 GTK_OBJECT_CLASS (parent_class)->destroy (object); 392 GTK_OBJECT_CLASS (parent_class)->destroy (object);
384 } 393 }
385 394
386 static void 395 static void
387 gtk_expander_realize (GtkWidget *widget) 396 gtk_expander_realize (GtkWidget *widget)
1644 1653
1645 return expander->priv->label_widget; 1654 return expander->priv->label_widget;
1646 } 1655 }
1647 1656
1648 #define __GTK_EXPANDER_C__ 1657 #define __GTK_EXPANDER_C__
1649 #include <gtk/gtkaliasdef.c>
1650 1658
1651 #endif /* Gtk 2.4 */ 1659 #endif /* Gtk 2.4 */