static void flat_button_class_init (FlatButtonClass * klass) { flat_button_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (FlatButtonPrivate)); GTK_WIDGET_CLASS (klass)->draw = flat_button_real_draw; GTK_BUTTON_CLASS (klass)->pressed = flat_button_real_pressed; GTK_BUTTON_CLASS (klass)->released = flat_button_real_released; G_OBJECT_CLASS (klass)->constructor = flat_button_constructor; G_OBJECT_CLASS (klass)->finalize = flat_button_finalize; }
static void flat_button_real_released (GtkButton* base) { FlatButton * self; gboolean _tmp0_; self = (FlatButton*) base; _tmp0_ = self->priv->did_press; if (_tmp0_) { GTK_BUTTON_CLASS (flat_button_parent_class)->pressed (G_TYPE_CHECK_INSTANCE_CAST (self, GTK_TYPE_BUTTON, GtkButton)); self->priv->did_press = FALSE; } GTK_BUTTON_CLASS (flat_button_parent_class)->released (G_TYPE_CHECK_INSTANCE_CAST (self, GTK_TYPE_BUTTON, GtkButton)); }
static void panel_menu_button_pressed (GtkButton *gtk_button) { PanelMenuButton *button; g_return_if_fail (PANEL_IS_MENU_BUTTON (gtk_button)); button = PANEL_MENU_BUTTON (gtk_button); if (GTK_BUTTON_CLASS (panel_menu_button_parent_class)->pressed) GTK_BUTTON_CLASS (panel_menu_button_parent_class)->pressed (gtk_button); panel_menu_button_popup_menu (button, 0, gtk_get_current_event_time()); }
static void gimp_pick_button_class_init (GimpPickButtonClass* klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkButtonClass *button_class = GTK_BUTTON_CLASS (klass); /** * GimpPickButton::color-picked: * @gimppickbutton: the object which received the signal. * @arg1: pointer to a #GimpRGB structure that holds the picked color * * This signal is emitted when the user has picked a color. **/ pick_button_signals[COLOR_PICKED] = g_signal_new ("color-picked", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GimpPickButtonClass, color_picked), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); object_class->dispose = gimp_pick_button_dispose; button_class->clicked = gimp_pick_button_clicked; klass->color_picked = NULL; }
static void sn_item_class_init (SnItemClass *item_class) { GObjectClass *object_class; GtkWidgetClass *widget_class; GtkButtonClass *button_class; object_class = G_OBJECT_CLASS (item_class); widget_class = GTK_WIDGET_CLASS (item_class); button_class = GTK_BUTTON_CLASS (item_class); object_class->dispose = sn_item_dispose; object_class->finalize = sn_item_finalize; object_class->get_property = sn_item_get_property; object_class->set_property = sn_item_set_property; widget_class->button_press_event = sn_item_button_press_event; widget_class->popup_menu = sn_item_popup_menu; widget_class->scroll_event = sn_item_scroll_event; button_class->clicked = sn_item_clicked; item_class->ready = sn_item_ready; install_properties (object_class); install_signals (item_class); }
static void gimp_button_class_init (GimpButtonClass *klass) { GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkButtonClass *button_class = GTK_BUTTON_CLASS (klass); /** * GimpButton::extended-clicked: * @gimpbutton: the object that received the signal. * @arg1: the state of modifier keys when the button was clicked * * This signal is emitted when the button is clicked with a modifier * key pressed. **/ button_signals[EXTENDED_CLICKED] = g_signal_new ("extended-clicked", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GimpButtonClass, extended_clicked), NULL, NULL, g_cclosure_marshal_VOID__FLAGS, G_TYPE_NONE, 1, GDK_TYPE_MODIFIER_TYPE); widget_class->button_press_event = gimp_button_button_press; button_class->clicked = gimp_button_clicked; }
static void gimp_button_clicked (GtkButton *button) { if (GIMP_BUTTON (button)->press_state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK)) { g_signal_stop_emission_by_name (button, "clicked"); gimp_button_extended_clicked (GIMP_BUTTON (button), GIMP_BUTTON (button)->press_state); } else if (GTK_BUTTON_CLASS (parent_class)->clicked) { GTK_BUTTON_CLASS (parent_class)->clicked (button); } }
static void gtk_menu_button_clicked (GtkButton *button) { GtkMenuButton *menu_button = GTK_MENU_BUTTON (button); GtkMenuButtonPrivate *priv = menu_button->priv; gboolean active = TRUE; if (priv->menu && !gtk_widget_get_visible (priv->menu)) { GdkEvent *event; event = gtk_get_current_event (); popup_menu (menu_button, (event && event->type != GDK_BUTTON_RELEASE) ? (GdkEventButton *) event : NULL); if (!event || event->type == GDK_KEY_PRESS || event->type == GDK_KEY_RELEASE) gtk_menu_shell_select_first (GTK_MENU_SHELL (priv->menu), FALSE); if (event) gdk_event_free (event); } else if (priv->popover && !gtk_widget_get_visible (priv->popover)) gtk_widget_show (priv->popover); else active = FALSE; GTK_BUTTON_CLASS (gtk_menu_button_parent_class)->clicked (button); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), active); gtk_toggle_button_toggled (GTK_TOGGLE_BUTTON (button)); }
static void sp_button_clicked(GtkButton *button) { SPButton *sp_button = SP_BUTTON(button); if (sp_button->type == SP_BUTTON_TYPE_TOGGLE) { (GTK_BUTTON_CLASS(sp_button_parent_class))->clicked(button); } }
static void hildon_color_button_class_init (HildonColorButtonClass *klass) { GObjectClass *gobject_class; GtkButtonClass *button_class; GtkWidgetClass *widget_class; gobject_class = G_OBJECT_CLASS (klass); button_class = GTK_BUTTON_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); parent_class = g_type_class_peek_parent (klass); gobject_class->get_property = hildon_color_button_get_property; gobject_class->set_property = hildon_color_button_set_property; gobject_class->finalize = hildon_color_button_finalize; widget_class->realize = hildon_color_button_realize; widget_class->unrealize = hildon_color_button_unrealize; button_class->clicked = hildon_color_button_clicked; widget_class->mnemonic_activate = hildon_color_button_mnemonic_activate; signals[SETUP_DIALOG] = g_signal_new ("setup-dialog", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, HILDON_TYPE_COLOR_CHOOSER_DIALOG); /** * HildonColorButton:color: * * The currently selected color. */ g_object_class_install_property (gobject_class, PROP_COLOR, g_param_spec_boxed ("color", "Current Color", "The selected color", GDK_TYPE_COLOR, G_PARAM_READWRITE)); /** * HildonColorButton:popup-shown: * * If the color selection dialog is currently popped-up (visible) */ g_object_class_install_property (gobject_class, PROP_POPUP_SHOWN, g_param_spec_boolean ("popup-shown", "IsPopped", "If the color selection dialog is popped up", FALSE, G_PARAM_READABLE)); g_type_class_add_private (gobject_class, sizeof (HildonColorButtonPrivate)); }
static void mate_volume_control_button_class_init (MateVolumeControlButtonClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GtkButtonClass *gtkbutton_class = GTK_BUTTON_CLASS (klass); gobject_class->dispose = mate_volume_control_button_dispose; gtkbutton_class->clicked = mate_volume_control_button_clicked; }
static void panel_menu_button_clicked (GtkButton *gtk_button) { PanelMenuButton *button; GdkEvent *event; g_return_if_fail (PANEL_IS_MENU_BUTTON (gtk_button)); button = PANEL_MENU_BUTTON (gtk_button); if (GTK_BUTTON_CLASS (panel_menu_button_parent_class)->clicked) GTK_BUTTON_CLASS (panel_menu_button_parent_class)->clicked (gtk_button); if ((event = gtk_get_current_event ())) { panel_menu_button_popup_menu (button, event->button.button, event->button.time); gdk_event_free (event); } else { panel_menu_button_popup_menu (button, 1, GDK_CURRENT_TIME); } }
static void gimp_button_clicked (GtkButton *button) { if (GIMP_BUTTON (button)->press_state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | gtk_widget_get_modifier_mask (GTK_WIDGET (button), GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR) | gtk_widget_get_modifier_mask (GTK_WIDGET (button), GDK_MODIFIER_INTENT_EXTEND_SELECTION) | gtk_widget_get_modifier_mask (GTK_WIDGET (button), GDK_MODIFIER_INTENT_MODIFY_SELECTION))) { g_signal_stop_emission_by_name (button, "clicked"); gimp_button_extended_clicked (GIMP_BUTTON (button), GIMP_BUTTON (button)->press_state); } else if (GTK_BUTTON_CLASS (parent_class)->clicked) { GTK_BUTTON_CLASS (parent_class)->clicked (button); } }
static void bluetooth_chooser_button_class_init (BluetoothChooserButtonClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkButtonClass *button_class = GTK_BUTTON_CLASS (klass); parent_class = g_type_class_peek_parent (klass); object_class->finalize = bluetooth_chooser_button_finalize; object_class->set_property = bluetooth_chooser_button_set_property; object_class->get_property = bluetooth_chooser_button_get_property; button_class->clicked = bluetooth_chooser_button_clicked; /** * BluetoothChooserButton::chooser-created: * @self: a #BluetoothChooserButton widget * @chooser: a #BluetoothChooser widget * * The signal is sent when a popup dialogue is created for the user to select * a device. This signal allows you to change the configuration and filtering * of the tree from its defaults. **/ signals[CHOOSER_CREATED] = g_signal_new ("chooser-created", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (BluetoothChooserButtonClass, chooser_created), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_OBJECT); /** * BluetoothChooserButton:device: * * The Bluetooth address of the selected device or %NULL **/ g_object_class_install_property (object_class, PROP_DEVICE, g_param_spec_string ("device", "Device", "The Bluetooth address of the selected device.", NULL, G_PARAM_READWRITE)); /** * BluetoothChooserButton:is-available: * * %TRUE if there is a powered Bluetooth adapter available. * * See also: bluetooth_chooser_button_available() **/ g_object_class_install_property (object_class, PROP_IS_AVAILABLE, g_param_spec_boolean ("is-available", "Bluetooth is available", "Whether Bluetooth is available.", TRUE, G_PARAM_READABLE)); }
static void sp_button_class_init(SPButtonClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); GtkButtonClass *button_class = GTK_BUTTON_CLASS(klass); object_class->dispose = sp_button_dispose; #if GTK_CHECK_VERSION(3, 0, 0) widget_class->get_preferred_width = sp_button_get_preferred_width; widget_class->get_preferred_height = sp_button_get_preferred_height; #else widget_class->size_request = sp_button_size_request; #endif button_class->clicked = sp_button_clicked; }
static void gtk_source_style_scheme_chooser_button_class_init (GtkSourceStyleSchemeChooserButtonClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkButtonClass *button_class = GTK_BUTTON_CLASS (klass); object_class->dispose = gtk_source_style_scheme_chooser_button_dispose; object_class->get_property = gtk_source_style_scheme_chooser_button_get_property; object_class->set_property = gtk_source_style_scheme_chooser_button_set_property; object_class->constructed = gtk_source_style_scheme_chooser_button_constructed; button_class->clicked = gtk_source_style_scheme_chooser_button_clicked; g_object_class_override_property (object_class, PROP_STYLE_SCHEME, "style-scheme"); }
static void nld_search_context_picker_class_init (NldSearchContextPickerClass * nld_search_context_picker_class) { GtkButtonClass *button_class = GTK_BUTTON_CLASS (nld_search_context_picker_class); button_class->clicked = nld_search_context_picker_clicked; g_type_class_add_private (nld_search_context_picker_class, sizeof (NldSearchContextPickerPrivate)); signals[CONTEXT_CHANGED] = g_signal_new ("context-changed", G_TYPE_FROM_CLASS (nld_search_context_picker_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (NldSearchContextPickerClass, context_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); }
static void gimp_color_panel_class_init (GimpColorPanelClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkButtonClass *button_class = GTK_BUTTON_CLASS (klass); GimpColorButtonClass *color_button_class = GIMP_COLOR_BUTTON_CLASS (klass); object_class->dispose = gimp_color_panel_dispose; widget_class->button_press_event = gimp_color_panel_button_press; button_class->clicked = gimp_color_panel_clicked; color_button_class->color_changed = gimp_color_panel_color_changed; color_button_class->get_action_type = gimp_color_panel_get_action_type; }
static void gimp_color_button_class_init (GimpColorButtonClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkButtonClass *button_class = GTK_BUTTON_CLASS (klass); GimpRGB color; parent_class = g_type_class_peek_parent (klass); gimp_color_button_signals[COLOR_CHANGED] = g_signal_new ("color-changed", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GimpColorButtonClass, color_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); object_class->finalize = gimp_color_button_finalize; object_class->dispose = gimp_color_button_dispose; object_class->get_property = gimp_color_button_get_property; object_class->set_property = gimp_color_button_set_property; widget_class->button_press_event = gimp_color_button_button_press; widget_class->state_changed = gimp_color_button_state_changed; button_class->clicked = gimp_color_button_clicked; klass->color_changed = NULL; klass->get_action_type = gimp_color_button_get_action_type; gimp_rgba_set (&color, 0.0, 0.0, 0.0, 1.0); /** * GimpColorButton:title: * * The title to be used for the color selection dialog. * * Since: GIMP 2.4 */ g_object_class_install_property (object_class, PROP_TITLE, g_param_spec_string ("title", NULL, NULL, NULL, GIMP_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /** * GimpColorButton:color: * * The color displayed in the button's color area. * * Since: GIMP 2.4 */ g_object_class_install_property (object_class, PROP_COLOR, gimp_param_spec_rgb ("color", NULL, NULL, TRUE, &color, GIMP_PARAM_READWRITE | G_PARAM_CONSTRUCT)); /** * GimpColorButton:type: * * The type of the button's color area. * * Since: GIMP 2.4 */ g_object_class_install_property (object_class, PROP_TYPE, g_param_spec_enum ("type", NULL, NULL, GIMP_TYPE_COLOR_AREA_TYPE, GIMP_COLOR_AREA_FLAT, GIMP_PARAM_READWRITE | G_PARAM_CONSTRUCT)); /** * GimpColorButton:continuous-update: * * The update policy of the color button. * * Since: GIMP 2.4 */ g_object_class_install_property (object_class, PROP_UPDATE, g_param_spec_boolean ("continuous-update", NULL, NULL, FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); /** * GimpColorButton:area-width: * * The minimum width of the button's #GimpColorArea. * * Since: GIMP 2.8 */ g_object_class_install_property (object_class, PROP_AREA_WIDTH, g_param_spec_int ("area-width", NULL, NULL, 1, G_MAXINT, 16, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT)); /** * GimpColorButton:area-height: * * The minimum height of the button's #GimpColorArea. * * Since: GIMP 2.8 */ g_object_class_install_property (object_class, PROP_AREA_HEIGHT, g_param_spec_int ("area-height", NULL, NULL, 1, G_MAXINT, 16, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT)); }
static void gtk_color_button_class_init (GtkColorButtonClass *klass) { GObjectClass *gobject_class; GtkWidgetClass *widget_class; GtkButtonClass *button_class; gobject_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); button_class = GTK_BUTTON_CLASS (klass); gobject_class->get_property = gtk_color_button_get_property; gobject_class->set_property = gtk_color_button_set_property; gobject_class->finalize = gtk_color_button_finalize; widget_class->state_changed = gtk_color_button_state_changed; button_class->clicked = gtk_color_button_clicked; klass->color_set = NULL; /** * GtkColorButton:use-alpha: * * If this property is set to %TRUE, the color swatch on the button is * rendered against a checkerboard background to show its opacity and * the opacity slider is displayed in the color selection dialog. * * Since: 2.4 */ g_object_class_install_property (gobject_class, PROP_USE_ALPHA, g_param_spec_boolean ("use-alpha", P_("Use alpha"), P_("Whether to give the color an alpha value"), FALSE, GTK_PARAM_READWRITE)); /** * GtkColorButton:title: * * The title of the color selection dialog * * Since: 2.4 */ g_object_class_install_property (gobject_class, PROP_TITLE, g_param_spec_string ("title", P_("Title"), P_("The title of the color selection dialog"), _("Pick a Color"), GTK_PARAM_READWRITE)); /** * GtkColorButton:color: * * The selected color. * * Since: 2.4 * * Deprecated: 3.4: Use #GtkColorButton:rgba instead. */ g_object_class_install_property (gobject_class, PROP_COLOR, g_param_spec_boxed ("color", P_("Current Color"), P_("The selected color"), GDK_TYPE_COLOR, GTK_PARAM_READWRITE | G_PARAM_DEPRECATED)); /** * GtkColorButton:alpha: * * The selected opacity value (0 fully transparent, 65535 fully opaque). * * Since: 2.4 */ g_object_class_install_property (gobject_class, PROP_ALPHA, g_param_spec_uint ("alpha", P_("Current Alpha"), P_("The selected opacity value (0 fully transparent, 65535 fully opaque)"), 0, 65535, 65535, GTK_PARAM_READWRITE)); /** * GtkColorButton:rgba: * * The RGBA color. * * Since: 3.0 */ g_object_class_install_property (gobject_class, PROP_RGBA, g_param_spec_boxed ("rgba", P_("Current RGBA Color"), P_("The selected RGBA color"), GDK_TYPE_RGBA, GTK_PARAM_READWRITE)); /** * GtkColorButton::color-set: * @widget: the object which received the signal. * * The ::color-set signal is emitted when the user selects a color. * When handling this signal, use gtk_color_button_get_rgba() to * find out which color was just selected. * * Note that this signal is only emitted when the user * changes the color. If you need to react to programmatic color changes * as well, use the notify::color signal. * * Since: 2.4 */ color_button_signals[COLOR_SET] = g_signal_new (I_("color-set"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GtkColorButtonClass, color_set), NULL, NULL, _gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); }
static void tile_class_init (TileClass * this_class) { GObjectClass *g_obj_class = G_OBJECT_CLASS (this_class); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (this_class); GtkButtonClass *button_class = GTK_BUTTON_CLASS (this_class); g_obj_class->constructor = tile_constructor; g_obj_class->get_property = tile_get_property; g_obj_class->set_property = tile_set_property; g_obj_class->finalize = tile_finalize; widget_class->focus_in_event = tile_focus_in; widget_class->focus_out_event = tile_focus_out; widget_class->expose_event = tile_expose; widget_class->button_release_event = tile_button_release; widget_class->key_release_event = tile_key_release; widget_class->drag_begin = tile_drag_begin; widget_class->drag_data_get = tile_drag_data_get; widget_class->popup_menu = tile_popup_menu; button_class->enter = tile_enter; button_class->leave = tile_leave; button_class->clicked = tile_clicked; this_class->tile_explicit_enable = NULL; this_class->tile_explicit_disable = NULL; this_class->tile_activated = NULL; this_class->tile_implicit_enable = NULL; this_class->tile_implicit_disable = NULL; this_class->tile_action_triggered = tile_tile_action_triggered; g_type_class_add_private (this_class, sizeof (TilePrivate)); g_object_class_install_property (g_obj_class, PROP_TILE_URI, g_param_spec_string ("tile-uri", "tile-uri", "the uri of the tile", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (g_obj_class, PROP_TILE_CONTEXT_MENU, g_param_spec_object ("context-menu", "context-menu", "the context menu for the tile", GTK_TYPE_MENU, G_PARAM_READWRITE)); tile_signals[TILE_ACTIVATED_SIGNAL] = g_signal_new ("tile-activated", G_TYPE_FROM_CLASS (this_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (TileClass, tile_activated), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); tile_signals[TILE_IMPLICIT_ENABLE_SIGNAL] = g_signal_new ("tile-implicit-enable", G_TYPE_FROM_CLASS (this_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (TileClass, tile_implicit_enable), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); tile_signals[TILE_IMPLICIT_DISABLE_SIGNAL] = g_signal_new ("tile-implicit-disable", G_TYPE_FROM_CLASS (this_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (TileClass, tile_implicit_disable), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); tile_signals[TILE_ACTION_TRIGGERED_SIGNAL] = g_signal_new ("tile-action-triggered", G_TYPE_FROM_CLASS (this_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (TileClass, tile_action_triggered), NULL, NULL, tile_action_triggered_event_marshal, G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER); }
static void mate_color_button_class_init (MateColorButtonClass *klass) { GObjectClass *gobject_class; GtkWidgetClass *widget_class; GtkButtonClass *button_class; gobject_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); button_class = GTK_BUTTON_CLASS (klass); gobject_class->get_property = mate_color_button_get_property; gobject_class->set_property = mate_color_button_set_property; gobject_class->finalize = mate_color_button_finalize; widget_class->state_changed = mate_color_button_state_changed; button_class->clicked = mate_color_button_clicked; klass->color_set = NULL; /** * MateColorButton:use-alpha: * * If this property is set to %TRUE, the color swatch on the button is rendered against a * checkerboard background to show its opacity and the opacity slider is displayed in the * color selection dialog. * * Since: 1.9.1 */ g_object_class_install_property (gobject_class, PROP_USE_ALPHA, g_param_spec_boolean ("use-alpha", _("Use alpha"), _("Whether or not to give the color an alpha value"), FALSE, G_PARAM_READWRITE)); /** * MateColorButton:title: * * The title of the color selection dialog * * Since: 1.9.1 */ g_object_class_install_property (gobject_class, PROP_TITLE, g_param_spec_string ("title", _("Title"), _("The title of the color selection dialog"), _("Pick a Color"), G_PARAM_READWRITE)); /** * MateColorButton:color: * * The selected color. * * Since: 1.9.1 */ g_object_class_install_property (gobject_class, PROP_COLOR, g_param_spec_boxed ("color", _("Current Color"), _("The selected color"), GDK_TYPE_COLOR, G_PARAM_READWRITE)); /** * MateColorButton:alpha: * * The selected opacity value (0 fully transparent, 65535 fully opaque). * * Since: 1.9.1 */ g_object_class_install_property (gobject_class, PROP_ALPHA, g_param_spec_uint ("alpha", _("Current Alpha"), _("The selected opacity value (0 fully transparent, 65535 fully opaque)"), 0, 65535, 65535, G_PARAM_READWRITE)); /** * MateColorButton::color-set: * @widget: the object which received the signal. * * The ::color-set signal is emitted when the user selects a color. * When handling this signal, use mate_color_button_get_color() and * mate_color_button_get_alpha() to find out which color was just selected. * * Note that this signal is only emitted when the <emphasis>user</emphasis> * changes the color. If you need to react to programmatic color changes * as well, use the notify::color signal. * * Since: 1.9.1 */ color_button_signals[COLOR_SET] = g_signal_new ("color-set", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (MateColorButtonClass, color_set), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_type_class_add_private (gobject_class, sizeof (MateColorButtonPrivate)); }
static void gtk_menu_button_class_init (GtkMenuButtonClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); GtkButtonClass *button_class = GTK_BUTTON_CLASS (klass); gobject_class->set_property = gtk_menu_button_set_property; gobject_class->get_property = gtk_menu_button_get_property; gobject_class->dispose = gtk_menu_button_dispose; widget_class->state_flags_changed = gtk_menu_button_state_flags_changed; container_class->add = gtk_menu_button_add; container_class->remove = gtk_menu_button_remove; button_class->clicked = gtk_menu_button_clicked; /** * GtkMenuButton:popup: * * The #GtkMenu that will be popped up when the button is clicked. * * Since: 3.6 */ g_object_class_install_property (gobject_class, PROP_POPUP, g_param_spec_object ("popup", P_("Popup"), P_("The dropdown menu."), GTK_TYPE_MENU, GTK_PARAM_READWRITE)); /** * GtkMenuButton:menu-model: * * The #GMenuModel from which the popup will be created. * Depending on the #GtkMenuButton:use-popover property, that may * be a menu or a popover. * * See gtk_menu_button_set_menu_model() for the interaction with the * #GtkMenuButton:popup property. * * Since: 3.6 */ g_object_class_install_property (gobject_class, PROP_MENU_MODEL, g_param_spec_object ("menu-model", P_("Menu model"), P_("The model from which the popup is made."), G_TYPE_MENU_MODEL, GTK_PARAM_READWRITE)); /** * GtkMenuButton:align-widget: * * The #GtkWidget to use to align the menu with. * * Since: 3.6 */ g_object_class_install_property (gobject_class, PROP_ALIGN_WIDGET, g_param_spec_object ("align-widget", P_("Align with"), P_("The parent widget which the menu should align with."), GTK_TYPE_CONTAINER, GTK_PARAM_READWRITE)); /** * GtkMenuButton:direction: * * The #GtkArrowType representing the direction in which the * menu or popover will be popped out. * * Since: 3.6 */ g_object_class_install_property (gobject_class, PROP_DIRECTION, g_param_spec_enum ("direction", P_("Direction"), P_("The direction the arrow should point."), GTK_TYPE_ARROW_TYPE, GTK_ARROW_DOWN, GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY)); /** * GtkMenuButton:use-popover: * * Whether to construct a #GtkPopover from the menu model, * or a #GtkMenu. * * Since: 3.12 */ g_object_class_install_property (gobject_class, PROP_USE_POPOVER, g_param_spec_boolean ("use-popover", P_("Use a popover"), P_("Use a popover instead of a menu"), TRUE, GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY)); /** * GtkMenuButton:popover: * * The #GtkPopover that will be popped up when the button is clicked. * * Since: 3.12 */ g_object_class_install_property (gobject_class, PROP_POPOVER, g_param_spec_object ("popover", P_("Popover"), P_("The popover"), GTK_TYPE_POPOVER, G_PARAM_READWRITE)); gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_MENU_BUTTON_ACCESSIBLE); }