Mercurial > pidgin.yaz
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 */ |