meillo@0: /* meillo@0: * DO NOT EDIT THIS FILE - it is generated by Glade. meillo@0: */ meillo@0: meillo@0: #ifdef HAVE_CONFIG_H meillo@0: # include meillo@0: #endif meillo@0: meillo@0: #include meillo@0: #include meillo@0: #include meillo@0: #include meillo@0: #include meillo@0: meillo@0: #include meillo@0: meillo@0: #include "support.h" meillo@0: meillo@0: GtkWidget* meillo@0: lookup_widget (GtkWidget *widget, meillo@0: const gchar *widget_name) meillo@0: { meillo@0: GtkWidget *parent, *found_widget; meillo@0: meillo@0: for (;;) meillo@0: { meillo@0: if (GTK_IS_MENU (widget)) meillo@0: parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); meillo@0: else meillo@0: parent = widget->parent; meillo@0: if (!parent) meillo@0: parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey"); meillo@0: if (parent == NULL) meillo@0: break; meillo@0: widget = parent; meillo@0: } meillo@0: meillo@0: found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget), meillo@0: widget_name); meillo@0: if (!found_widget) meillo@0: g_warning ("Widget not found: %s", widget_name); meillo@0: return found_widget; meillo@0: } meillo@0: meillo@0: static GList *pixmaps_directories = NULL; meillo@0: meillo@0: /* Use this function to set the directory containing installed pixmaps. */ meillo@0: void meillo@0: add_pixmap_directory (const gchar *directory) meillo@0: { meillo@0: pixmaps_directories = g_list_prepend (pixmaps_directories, meillo@0: g_strdup (directory)); meillo@0: } meillo@0: meillo@0: /* This is an internally used function to find pixmap files. */ meillo@0: static gchar* meillo@0: find_pixmap_file (const gchar *filename) meillo@0: { meillo@0: GList *elem; meillo@0: meillo@0: /* We step through each of the pixmaps directory to find it. */ meillo@0: elem = pixmaps_directories; meillo@0: while (elem) meillo@0: { meillo@0: gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data, meillo@0: G_DIR_SEPARATOR_S, filename); meillo@0: if (g_file_test (pathname, G_FILE_TEST_EXISTS)) meillo@0: return pathname; meillo@0: g_free (pathname); meillo@0: elem = elem->next; meillo@0: } meillo@0: return NULL; meillo@0: } meillo@0: meillo@0: /* This is an internally used function to create pixmaps. */ meillo@0: GtkWidget* meillo@0: create_pixmap (GtkWidget *widget, meillo@0: const gchar *filename) meillo@0: { meillo@0: gchar *pathname = NULL; meillo@0: GtkWidget *pixmap; meillo@0: meillo@0: if (!filename || !filename[0]) meillo@0: return gtk_image_new (); meillo@0: meillo@0: pathname = find_pixmap_file (filename); meillo@0: meillo@0: if (!pathname) meillo@0: { meillo@0: g_warning ("Couldn't find pixmap file: %s", filename); meillo@0: return gtk_image_new (); meillo@0: } meillo@0: meillo@0: pixmap = gtk_image_new_from_file (pathname); meillo@0: g_free (pathname); meillo@0: return pixmap; meillo@0: } meillo@0: meillo@0: /* This is an internally used function to create pixmaps. */ meillo@0: GdkPixbuf* meillo@0: create_pixbuf (const gchar *filename) meillo@0: { meillo@0: gchar *pathname = NULL; meillo@0: GdkPixbuf *pixbuf; meillo@0: GError *error = NULL; meillo@0: meillo@0: if (!filename || !filename[0]) meillo@0: return NULL; meillo@0: meillo@0: pathname = find_pixmap_file (filename); meillo@0: meillo@0: if (!pathname) meillo@0: { meillo@0: g_warning ("Couldn't find pixmap file: %s", filename); meillo@0: return NULL; meillo@0: } meillo@0: meillo@0: pixbuf = gdk_pixbuf_new_from_file (pathname, &error); meillo@0: if (!pixbuf) meillo@0: { meillo@0: fprintf (stderr, "Failed to load pixbuf file: %s: %s\n", meillo@0: pathname, error->message); meillo@0: g_error_free (error); meillo@0: } meillo@0: g_free (pathname); meillo@0: return pixbuf; meillo@0: } meillo@0: meillo@0: /* This is used to set ATK action descriptions. */ meillo@0: void meillo@0: glade_set_atk_action_description (AtkAction *action, meillo@0: const gchar *action_name, meillo@0: const gchar *description) meillo@0: { meillo@0: gint n_actions, i; meillo@0: meillo@0: n_actions = atk_action_get_n_actions (action); meillo@0: for (i = 0; i < n_actions; i++) meillo@0: { meillo@0: if (!strcmp (atk_action_get_name (action, i), action_name)) meillo@0: atk_action_set_description (action, i, description); meillo@0: } meillo@0: } meillo@0: