static void gimp_message_box_class_init (GimpMessageBoxClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); object_class->constructed = gimp_message_box_constructed; object_class->dispose = gimp_message_box_dispose; object_class->finalize = gimp_message_box_finalize; object_class->set_property = gimp_message_box_set_property; object_class->get_property = gimp_message_box_get_property; widget_class->get_preferred_width = gimp_message_box_get_preferred_width; widget_class->get_preferred_height = gimp_message_box_get_preferred_height; widget_class->get_preferred_width_for_height = gimp_message_box_get_preferred_width_for_height; widget_class->get_preferred_height_for_width = gimp_message_box_get_preferred_height_for_width; widget_class->size_allocate = gimp_message_box_size_allocate; container_class->forall = gimp_message_box_forall; gtk_container_class_handle_border_width (container_class); g_object_class_install_property (object_class, PROP_ICON_NAME, g_param_spec_string ("icon-name", NULL, NULL, NULL, GIMP_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); }
static void gtk_notification_class_init (GtkNotificationClass *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 = gtk_notification_finalize; object_class->set_property = gtk_notification_set_property; object_class->get_property = gtk_notification_get_property; widget_class->show = gtk_notification_show; widget_class->destroy = gtk_notification_destroy; widget_class->get_preferred_width = gtk_notification_get_preferred_width; widget_class->get_preferred_height_for_width = gtk_notification_get_preferred_height_for_width; widget_class->get_preferred_height = gtk_notification_get_preferred_height; widget_class->get_preferred_width_for_height = gtk_notification_get_preferred_width_for_height; widget_class->size_allocate = gtk_notification_size_allocate; widget_class->draw = gtk_notification_draw; widget_class->realize = gtk_notification_realize; widget_class->unrealize = gtk_notification_unrealize; widget_class->style_updated = gtk_notification_style_updated; widget_class->visibility_notify_event = gtk_notification_visibility_notify_event; container_class->add = gtk_notification_add; container_class->forall = gtk_notification_forall; gtk_container_class_handle_border_width (container_class); /** * GtkNotification:timeout: * * The time it takes to hide the widget, in seconds. * * Since: 0.1 */ g_object_class_install_property (object_class, PROP_TIMEOUT, g_param_spec_uint("timeout", "timeout", "The time it takes to hide the widget, in seconds", 0, G_MAXUINT, 10, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); notification_signals[DISMISSED] = g_signal_new ("dismissed", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkNotificationClass, dismissed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_type_class_add_private (object_class, sizeof (GtkNotificationPrivate)); }
static void gwy_scroller_class_init(GwyScrollerClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS(klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); GtkContainerClass *container_class = GTK_CONTAINER_CLASS(klass); g_type_class_add_private(klass, sizeof(Scroller)); gobject_class->dispose = gwy_scroller_dispose; gobject_class->finalize = gwy_scroller_finalize; gobject_class->get_property = gwy_scroller_get_property; gobject_class->set_property = gwy_scroller_set_property; widget_class->get_preferred_width = gwy_scroller_get_preferred_width; widget_class->get_preferred_height = gwy_scroller_get_preferred_height; widget_class->size_allocate = gwy_scroller_size_allocate; widget_class->scroll_event = gwy_scroller_scroll_event; container_class->add = gwy_scroller_add; container_class->remove = gwy_scroller_remove; container_class->child_type = gwy_scroller_child_type; gtk_container_class_handle_border_width(container_class); properties[PROP_HADJUSTMENT] = g_param_spec_object("hadjustment", "Horizontal adjustment", "Adjustment for the horizontal position", GTK_TYPE_ADJUSTMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); properties[PROP_VADJUSTMENT] = g_param_spec_object("vadjustment", "Vertical adjustment", "Adjustment for the vertical position", GTK_TYPE_ADJUSTMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); for (guint i = 1; i < N_PROPS; i++) g_object_class_install_property(gobject_class, i, properties[i]); /** * GwyScroller::scroll-child: * @gwyscroller: The #GwyScroller which received the signal. * @arg1: #GtkScrollType describing how much to scroll. * @arg2: %TRUE to scroll horizontally, %FALSE to scroll vertically. * * The ::scroll-child signal is a * <link linkend="keybinding-signals">keybinding signal</link> * which gets emitted when a keybinding that scrolls is pressed. * The horizontal or vertical adjustment is updated which triggers a * signal that the scroller child may listen to and scroll itself. */ signals[SGNL_SCROLL_CHILD] = g_signal_new_class_handler("scroll-child", G_OBJECT_CLASS_TYPE(klass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_CALLBACK(gwy_scroller_scroll_child), NULL, NULL, _gwy_cclosure_marshal_BOOLEAN__ENUM_BOOLEAN, G_TYPE_BOOLEAN, 2, GTK_TYPE_SCROLL_TYPE, G_TYPE_BOOLEAN); GtkBindingSet *binding_set = gtk_binding_set_by_class(klass); add_scroll_binding(binding_set, GDK_KEY_Left, GDK_CONTROL_MASK, GTK_SCROLL_STEP_BACKWARD, TRUE); add_scroll_binding(binding_set, GDK_KEY_Right, GDK_CONTROL_MASK, GTK_SCROLL_STEP_FORWARD, TRUE); add_scroll_binding(binding_set, GDK_KEY_Up, GDK_CONTROL_MASK, GTK_SCROLL_STEP_BACKWARD, FALSE); add_scroll_binding(binding_set, GDK_KEY_Down, GDK_CONTROL_MASK, GTK_SCROLL_STEP_FORWARD, FALSE); add_scroll_binding(binding_set, GDK_KEY_Page_Up, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_BACKWARD, TRUE); add_scroll_binding(binding_set, GDK_KEY_Page_Down, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_FORWARD, TRUE); add_scroll_binding(binding_set, GDK_KEY_Page_Up, 0, GTK_SCROLL_PAGE_BACKWARD, FALSE); add_scroll_binding(binding_set, GDK_KEY_Page_Down, 0, GTK_SCROLL_PAGE_FORWARD, FALSE); add_scroll_binding(binding_set, GDK_KEY_Home, GDK_CONTROL_MASK, GTK_SCROLL_START, TRUE); add_scroll_binding(binding_set, GDK_KEY_End, GDK_CONTROL_MASK, GTK_SCROLL_END, TRUE); add_scroll_binding(binding_set, GDK_KEY_Home, 0, GTK_SCROLL_START, FALSE); add_scroll_binding(binding_set, GDK_KEY_End, 0, GTK_SCROLL_END, FALSE); }
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)); }
static void gstyle_color_widget_class_init (GstyleColorWidgetClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkContainerClass *container_class = (GtkContainerClass*) klass; object_class->finalize = gstyle_color_widget_finalize; object_class->get_property = gstyle_color_widget_get_property; object_class->set_property = gstyle_color_widget_set_property; widget_class->size_allocate = gstyle_color_widget_size_allocate; widget_class->realize = gstyle_color_widget_realize; widget_class->get_preferred_width = gstyle_color_widget_get_preferred_width; widget_class->get_preferred_height = gstyle_color_widget_get_preferred_height; widget_class->hierarchy_changed = gstyle_color_widget_hierarchy_changed; widget_class->draw = gstyle_color_widget_draw; widget_class->drag_end = gstyle_color_widget_on_drag_end; widget_class->drag_failed = gstyle_color_widget_on_drag_failed; widget_class->drag_data_get = gstyle_color_widget_on_drag_data_get; widget_class->drag_data_delete = gstyle_color_widget_on_drag_data_delete; widget_class->drag_motion = gstyle_color_widget_on_drag_motion; widget_class->drag_leave = gstyle_color_widget_on_drag_leave; widget_class->drag_drop = gstyle_color_widget_on_drag_drop; widget_class->drag_data_received = gstyle_color_widget_on_drag_data_received; properties[PROP_COLOR] = g_param_spec_object ("color", "color", "A GstyleColor to use name and color from", GSTYLE_TYPE_COLOR, (G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); properties [PROP_NAME_VISIBLE] = g_param_spec_boolean ("name-visible", "name-visible", "set the color name visibility", TRUE, (G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); properties [PROP_FALLBACK_NAME_VISIBLE] = g_param_spec_boolean ("fallback-name-visible", "fallback-name-visible", "set the fallback name visibility", TRUE, (G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); properties [PROP_FALLBACK_NAME_KIND] = g_param_spec_enum ("fallback-name-kind", "fallback-name-kind", "if there's no name, the fallback kind displayed", GSTYLE_TYPE_COLOR_KIND, GSTYLE_COLOR_KIND_ORIGINAL, (G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); properties [PROP_DND_LOCK] = g_param_spec_flags ("dnd-lock", "dnd-lock", "Dnd lockability", GSTYLE_TYPE_COLOR_WIDGET_DND_LOCK_FLAGS, GSTYLE_COLOR_WIDGET_DND_LOCK_FLAGS_NONE, (G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_properties (object_class, N_PROPS, properties); gtk_container_class_handle_border_width (container_class); gtk_widget_class_set_css_name (widget_class, "gstylecolorwidget"); }
static void gdl_dock_class_init (GdlDockClass *klass) { GObjectClass *g_object_class; GtkWidgetClass *widget_class; GtkContainerClass *container_class; GdlDockObjectClass *object_class; g_object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); container_class = GTK_CONTAINER_CLASS (klass); object_class = GDL_DOCK_OBJECT_CLASS (klass); g_object_class->constructor = gdl_dock_constructor; g_object_class->set_property = gdl_dock_set_property; g_object_class->get_property = gdl_dock_get_property; g_object_class->dispose = gdl_dock_dispose; /* properties */ g_object_class_install_property ( g_object_class, PROP_FLOATING, g_param_spec_boolean ("floating", _("Floating"), _("Whether the dock is floating in its own window"), FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_DEFAULT_TITLE, g_param_spec_string ("default-title", _("Default title"), _("Default title for the newly created floating docks"), NULL, G_PARAM_READWRITE)); g_object_class_install_property ( g_object_class, PROP_WIDTH, g_param_spec_int ("width", _("Width"), _("Width for the dock when it's of floating type"), -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_HEIGHT, g_param_spec_int ("height", _("Height"), _("Height for the dock when it's of floating type"), -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_FLOAT_X, g_param_spec_int ("floatx", _("Float X"), _("X coordinate for a floating dock"), G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_FLOAT_Y, g_param_spec_int ("floaty", _("Float Y"), _("Y coordinate for a floating dock"), G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); /** * GdlDock:skip-taskbar: * * Whether or not to prevent a floating dock window from appearing in the * taskbar. Note that this only affects floating windows that are created * after this flag is set; existing windows are not affected. Usually, * this property is used when you create the dock. * * Since: 3.6 */ g_object_class_install_property ( g_object_class, PROP_SKIP_TASKBAR, g_param_spec_boolean ("skip-taskbar", _("Skip taskbar"), _("Whether or not to prevent a floating dock window from appearing in the taskbar"), TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); widget_class->get_preferred_width = gdl_dock_get_preferred_width; widget_class->get_preferred_height = gdl_dock_get_preferred_height; widget_class->size_allocate = gdl_dock_size_allocate; widget_class->map = gdl_dock_map; widget_class->unmap = gdl_dock_unmap; widget_class->show = gdl_dock_show; widget_class->hide = gdl_dock_hide; container_class->add = gdl_dock_add; container_class->remove = gdl_dock_remove; container_class->forall = gdl_dock_forall; container_class->child_type = gdl_dock_child_type; gtk_container_class_handle_border_width (container_class); gdl_dock_object_class_set_is_compound (object_class, TRUE); object_class->detach = gdl_dock_detach; object_class->reduce = gdl_dock_reduce; object_class->dock_request = gdl_dock_dock_request; object_class->dock = gdl_dock_dock; object_class->reorder = gdl_dock_reorder; object_class->child_placement = gdl_dock_child_placement; object_class->present = gdl_dock_present; /* signals */ /** * GdlDock::layout-changed: * * Signals that the layout has changed, one or more widgets have been moved, * added or removed. */ dock_signals [LAYOUT_CHANGED] = g_signal_new ("layout-changed", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GdlDockClass, layout_changed), NULL, /* accumulator */ NULL, /* accu_data */ gdl_marshal_VOID__VOID, G_TYPE_NONE, /* return type */ 0); klass->layout_changed = NULL; g_type_class_add_private (object_class, sizeof (GdlDockPrivate)); }