/** * gtk_color_selection_dialog_get_color_selection: * @colorsel: a #GtkColorSelectionDialog * * Retrieves the #GtkColorSelection widget embedded in the dialog. * * Returns: (transfer none): the embedded #GtkColorSelection * * Since: 2.14 **/ GtkWidget* gtk_color_selection_dialog_get_color_selection (GtkColorSelectionDialog *colorsel) { g_return_val_if_fail (GTK_IS_COLOR_SELECTION_DIALOG (colorsel), NULL); return colorsel->colorsel; }
static void gail_window_real_initialize (AtkObject *obj, gpointer data) { GtkWidget *widget = GTK_WIDGET (data); GailWindow *window; /* * A GailWindow can be created for a GtkHandleBox or a GtkWindow */ if (!GTK_IS_WINDOW (widget) && !GTK_IS_HANDLE_BOX (widget)) gail_return_if_fail (FALSE); ATK_OBJECT_CLASS (gail_window_parent_class)->initialize (obj, data); window = GAIL_WINDOW (obj); window->name_change_handler = 0; window->previous_name = g_strdup (gtk_window_get_title (GTK_WINDOW (data))); g_signal_connect (data, "window_state_event", G_CALLBACK (gail_window_state_event_gtk), NULL); g_object_set_data (G_OBJECT (obj), "atk-component-layer", GINT_TO_POINTER (ATK_LAYER_WINDOW)); if (GTK_IS_FILE_SELECTION (widget)) obj->role = ATK_ROLE_FILE_CHOOSER; else if (GTK_IS_COLOR_SELECTION_DIALOG (widget)) obj->role = ATK_ROLE_COLOR_CHOOSER; else if (GTK_IS_FONT_SELECTION_DIALOG (widget)) obj->role = ATK_ROLE_FONT_CHOOSER; else if (GTK_IS_MESSAGE_DIALOG (widget)) obj->role = ATK_ROLE_ALERT; else if (GTK_IS_DIALOG (widget)) obj->role = ATK_ROLE_DIALOG; else { const gchar *name; name = gtk_widget_get_name (widget); if (name && (!strcmp (name, "gtk-tooltip") || !strcmp (name, "gtk-tooltips"))) obj->role = ATK_ROLE_TOOL_TIP; else if (GTK_IS_PLUG (widget)) obj->role = ATK_ROLE_PANEL; else if (GTK_WINDOW (widget)->type == GTK_WINDOW_POPUP) obj->role = ATK_ROLE_WINDOW; else obj->role = ATK_ROLE_FRAME; } /* * Notify that tooltip is showing */ if (obj->role == ATK_ROLE_TOOL_TIP && gtk_widget_get_mapped (widget)) atk_object_notify_state_change (obj, ATK_STATE_SHOWING, 1); }
static void get_color_cb (col_sel * sel /*, GtkWidget *widget */ ) { GdkColor color; g_return_if_fail (GTK_IS_COLOR_SELECTION_DIALOG (sel->selector)); g_return_if_fail (GTK_IS_DATABOX (sel->box)); gtk_color_selection_get_current_color (GTK_COLOR_SELECTION (sel->selector->colorsel), &color); gtk_databox_graph_set_color (sel->graph, &color); gtk_widget_queue_draw (GTK_WIDGET (sel->box)); }
/* * Apply colour changes and close window. */ static int colour_dialog_ok (GtkButton *button, gpointer user_data) { GtkWidget *colour_dialog = user_data; char tmp_colour[8]; double colour[4]; DEBUG("colour_dialog_ok"); assert (GTK_IS_COLOR_SELECTION_DIALOG (colour_dialog)); gtk_color_selection_get_color (GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (colour_dialog)->colorsel), colour); sprintf (tmp_colour, "#%2.2x%2.2x%2.2x", (int)(colour[0] * 255), (int)(colour[1] * 255),(int)(colour[2] * 255)); gtk_entry_set_text (GTK_ENTRY (colour_entry), tmp_colour); gtk_widget_destroy (colour_dialog); return 0; }
void glade_gtk_dialog_post_create (GladeWidgetAdaptor *adaptor, GObject *object, GladeCreateReason reason) { GladeWidget *widget, *vbox_widget, *actionarea_widget; GtkDialog *dialog; g_return_if_fail (GTK_IS_DIALOG (object)); widget = glade_widget_get_from_gobject (GTK_WIDGET (object)); if (!widget) return; dialog = GTK_DIALOG (object); if (reason == GLADE_CREATE_USER) { /* HIG complient border-width defaults on dialogs */ glade_widget_property_set (widget, "border-width", 5); } vbox_widget = glade_widget_get_from_gobject (gtk_dialog_get_content_area (dialog)); actionarea_widget = glade_widget_get_from_gobject (gtk_dialog_get_action_area (dialog)); /* We need to stop default emissions of "hierarchy-changed" and * "screen-changed" of GtkFileChooserDefault to avoid an abort() * when doing a reparent. * GtkFileChooserDialog packs a GtkFileChooserWidget in * his internal vbox. */ if (GTK_IS_FILE_CHOOSER_DIALOG (object)) gtk_container_forall (GTK_CONTAINER (gtk_dialog_get_content_area (dialog)), glade_gtk_file_chooser_forall, NULL); /* These properties are controlled by the GtkDialog style properties: * "content-area-border", "button-spacing" and "action-area-border", * so we must disable thier use. */ glade_widget_remove_property (vbox_widget, "border-width"); glade_widget_remove_property (actionarea_widget, "border-width"); glade_widget_remove_property (actionarea_widget, "spacing"); if (reason == GLADE_CREATE_LOAD || reason == GLADE_CREATE_USER) { GObject *child; gint size; G_GNUC_BEGIN_IGNORE_DEPRECATIONS; if (GTK_IS_COLOR_SELECTION_DIALOG (object)) { child = glade_widget_adaptor_get_internal_child (adaptor, object, "color_selection"); size = 1; } else if (GTK_IS_FONT_SELECTION_DIALOG (object)) { child = glade_widget_adaptor_get_internal_child (adaptor, object, "font_selection"); size = 2; } else size = -1; G_GNUC_END_IGNORE_DEPRECATIONS; /* Set this to a sane value. At load time, if there are any children then * size will adjust appropriately (otherwise the default "3" gets * set and we end up with extra placeholders). */ if (size > -1) glade_widget_property_set (glade_widget_get_from_gobject (child), "size", size); } /* Only set these on the original create. */ if (reason == GLADE_CREATE_USER) { /* HIG complient spacing defaults on dialogs */ glade_widget_property_set (vbox_widget, "spacing", 2); if (GTK_IS_ABOUT_DIALOG (object) || GTK_IS_FILE_CHOOSER_DIALOG (object)) glade_widget_property_set (vbox_widget, "size", 3); else glade_widget_property_set (vbox_widget, "size", 2); glade_widget_property_set (actionarea_widget, "size", 2); glade_widget_property_set (actionarea_widget, "layout-style", GTK_BUTTONBOX_END); } }