static void gb_slider_class_init (GbSliderClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); object_class->finalize = gb_slider_finalize; object_class->get_property = gb_slider_get_property; object_class->set_property = gb_slider_set_property; widget_class->get_preferred_height = gb_slider_get_preferred_height; widget_class->get_preferred_width = gb_slider_get_preferred_width; widget_class->map = gb_slider_map; widget_class->realize = gb_slider_realize; widget_class->size_allocate = gb_slider_size_allocate; widget_class->unmap = gb_slider_unmap; widget_class->unrealize = gb_slider_unrealize; container_class->add = gb_slider_add; container_class->forall = gb_slider_forall; container_class->get_child_property = gb_slider_get_child_property; container_class->remove = gb_slider_remove; container_class->set_child_property = gb_slider_set_child_property; gParamSpecs [PROP_POSITION] = g_param_spec_enum ("position", "Position", "Which slider child is visible.", GB_TYPE_SLIDER_POSITION, GB_SLIDER_NONE, (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_properties (object_class, LAST_PROP, gParamSpecs); gtk_container_class_install_child_property (container_class, CHILD_PROP_POSITION, g_param_spec_enum ("position", "Position", "Position", GB_TYPE_SLIDER_POSITION, GB_SLIDER_NONE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); }
/* * Initialises the caption class. */ static void hildon_caption_class_init (HildonCaptionClass *caption_class) { GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (caption_class); GObjectClass *gobject_class = G_OBJECT_CLASS (caption_class); GtkContainerClass *container_class = GTK_CONTAINER_CLASS (caption_class); parent_class = g_type_class_peek_parent (caption_class); g_type_class_add_private (caption_class, sizeof (HildonCaptionPrivate)); /* Override virtual functions */ gobject_class->get_property = hildon_caption_get_property; gobject_class->set_property = hildon_caption_set_property; caption_class->activate = (gpointer) hildon_caption_activate; GTK_OBJECT_CLASS(caption_class)->destroy = hildon_caption_destroy; container_class->forall = hildon_caption_forall; container_class->set_child_property = hildon_caption_set_child_property; container_class->get_child_property = hildon_caption_get_child_property; widget_class->hierarchy_changed = hildon_caption_hierarchy_changed; widget_class->size_request = hildon_caption_size_request; widget_class->size_allocate = hildon_caption_size_allocate; widget_class->button_press_event = hildon_caption_button_press; widget_class->grab_focus = hildon_caption_grab_focus; /* Create new signals and properties */ widget_class->activate_signal = g_signal_new ("activate", G_OBJECT_CLASS_TYPE ( gobject_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (HildonCaptionClass, activate), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); /** * HildonCaption:label: * * Caption label. */ g_object_class_install_property (gobject_class, PROP_LABEL, g_param_spec_string ("label", "Current label", "Caption label", NULL, G_PARAM_READABLE | G_PARAM_WRITABLE) ); /** * HildonCaption:markup: * * Caption markup. Mutually exclusive with label. */ g_object_class_install_property (gobject_class, PROP_MARKUP, g_param_spec_string ("markup", "Current markup", "Caption markup", NULL, G_PARAM_WRITABLE) ); /** * HildonCaption:icon: * * The icon shown on the caption area. */ g_object_class_install_property (gobject_class, PROP_ICON, g_param_spec_object ("icon", "Current icon", "The icon shown on the caption area", GTK_TYPE_WIDGET, G_PARAM_READABLE | G_PARAM_WRITABLE) ); /** * HildonCaption:status: * * Mandatory or optional status. */ g_object_class_install_property (gobject_class, PROP_STATUS, g_param_spec_enum ("status", "Current status", "Mandatory or optional status", HILDON_TYPE_CAPTION_STATUS, HILDON_CAPTION_OPTIONAL, G_PARAM_READABLE | G_PARAM_WRITABLE) ); /** * HildonCaption:icon-position: * * If the icon is positioned on the left or right side. */ g_object_class_install_property (gobject_class, PROP_ICON_POSITION, g_param_spec_enum ("icon-position", "Icon position", "Whether the icon is on the left or right side", HILDON_TYPE_CAPTION_ICON_POSITION, HILDON_CAPTION_POSITION_RIGHT, G_PARAM_READABLE | G_PARAM_WRITABLE) ); /** * HildonCaption:size_group: * * Current size group the caption is in. */ g_object_class_install_property (gobject_class, PROP_SIZE_GROUP, g_param_spec_object ("size_group", "Current size group", "Current size group the caption is in", GTK_TYPE_SIZE_GROUP, G_PARAM_READABLE | G_PARAM_WRITABLE) ); /** * HildonCaption:separator: * * The current separator. */ g_object_class_install_property (gobject_class, PROP_SEPARATOR, g_param_spec_string ("separator", "Current separator", "Current separator", _("ecdg_ti_caption_separator"), G_PARAM_READABLE | G_PARAM_WRITABLE) ); /* Create child properties. These are related to child <-> parent relationship, not to either of objects itself */ gtk_container_class_install_child_property (container_class, CHILD_PROP_EXPAND, g_param_spec_boolean ("expand", "Same as GtkBox expand.", "Same as GtkBox expand. Wheter the child should be expanded or not.", FALSE, G_PARAM_READWRITE)); }
static void gd_stack_class_init (GdStackClass * klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); object_class->get_property = gd_stack_get_property; object_class->set_property = gd_stack_set_property; object_class->finalize = gd_stack_finalize; widget_class->size_allocate = gd_stack_size_allocate; widget_class->draw = gd_stack_draw; widget_class->realize = gd_stack_realize; widget_class->unrealize = gd_stack_unrealize; widget_class->get_preferred_height = gd_stack_get_preferred_height; widget_class->get_preferred_height_for_width = gd_stack_get_preferred_height_for_width; widget_class->get_preferred_width = gd_stack_get_preferred_width; widget_class->get_preferred_width_for_height = gd_stack_get_preferred_width_for_height; widget_class->compute_expand = gd_stack_compute_expand; container_class->add = gd_stack_add; container_class->remove = gd_stack_remove; container_class->forall = gd_stack_forall; container_class->set_child_property = gd_stack_set_child_property; container_class->get_child_property = gd_stack_get_child_property; /*container_class->get_path_for_child = gd_stack_get_path_for_child; */ gtk_container_class_handle_border_width (container_class); g_object_class_install_property (object_class, PROP_HOMOGENEOUS, g_param_spec_boolean ("homogeneous", "Homogeneous", "Homogeneous sizing", TRUE, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (object_class, PROP_VISIBLE_CHILD, g_param_spec_object ("visible-child", "Visible child", "The widget currently visible in the stack", GTK_TYPE_WIDGET, GTK_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_VISIBLE_CHILD_NAME, g_param_spec_string ("visible-child-name", "Name of visible child", "The name of the widget currently visible in the stack", NULL, GTK_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_TRANSITION_DURATION, g_param_spec_int ("transition-duration", "Transition duration", "The animation duration, in milliseconds", G_MININT, G_MAXINT, 200, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (object_class, PROP_TRANSITION_TYPE, g_param_spec_int ("transition-type", "Transition type", "The type of animation used to transition", GD_STACK_TRANSITION_TYPE_NONE, G_MAXINT, GD_STACK_TRANSITION_TYPE_NONE, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); gtk_container_class_install_child_property (container_class, CHILD_PROP_NAME, g_param_spec_string ("name", "Name", "The name of the child page", NULL, GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, CHILD_PROP_TITLE, g_param_spec_string ("title", "Title", "The title of the child page", NULL, GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, CHILD_PROP_SYMBOLIC_ICON_NAME, g_param_spec_string ("symbolic-icon-name", "Symbolic icon name", "The symbolic icon name of the child page", NULL, GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, CHILD_PROP_POSITION, g_param_spec_int ("position", "Position", "The index of the child in the parent", -1, G_MAXINT, 0, GTK_PARAM_READWRITE)); g_type_class_add_private (klass, sizeof (GdStackPrivate)); }