static void create_icon_entry(void) { TestGnomeApp *app; GtkWidget *vbox; GtkWidget *button; GtkWidget *label; GtkWidget *entry; app = create_newwin (TRUE, "testGNOME", "Icon Entry"); vbox = gtk_vbox_new (FALSE, 5); entry = gnome_icon_entry_new ("Foo", "Icon"); gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0); button = gtk_button_new_with_label ("Update label below"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); label = gtk_label_new ("Nothing selected"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); g_signal_connect (entry, "changed", G_CALLBACK (icon_entry_changed), NULL); g_signal_connect (button, "clicked", G_CALLBACK (get_icon), entry); g_object_set_data (G_OBJECT (button), "label", label); bonobo_window_set_contents (BONOBO_WINDOW (app->app), vbox); gtk_widget_show_all (vbox); gtk_widget_show (app->app); }
/* * Creates a new GtkWidget of class GnomeIconEntry, performing any specialized * initialization needed for the widget to work correctly in this environment. * If a dialog box is used to initialize the widget, return NULL from this * function, and call data->callback with your new widget when it is done. * If the widget needs a special destroy handler, add a signal here. */ static GtkWidget* gb_gnome_icon_entry_new (GbWidgetNewData *data) { GtkWidget *new_widget; new_widget = gnome_icon_entry_new (NULL, NULL); /* Set MaxSaved to the default. */ gtk_object_set_data (GTK_OBJECT (new_widget), MaxSaved, GINT_TO_POINTER (GLADE_DEFAULT_MAX_HISTORY_SAVED)); return new_widget; }