"Fossies" - the Fresh Open Source Software Archive

Member "gfsview-snapshot-121130/view/glade/support.c" (30 Nov 2012, 3665 Bytes) of package /linux/privat/gfsview-snapshot-121130.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "support.c" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * DO NOT EDIT THIS FILE - it is generated by Glade.
    3  */
    4 
    5 #ifdef HAVE_CONFIG_H
    6 #  include <config.h>
    7 #endif
    8 
    9 #include <sys/types.h>
   10 #include <sys/stat.h>
   11 #include <unistd.h>
   12 #include <string.h>
   13 #include <stdio.h>
   14 
   15 #include <gtk/gtk.h>
   16 
   17 #include "support.h"
   18 
   19 GtkWidget*
   20 lookup_widget                          (GtkWidget       *widget,
   21                                         const gchar     *widget_name)
   22 {
   23   GtkWidget *parent, *found_widget;
   24 
   25   for (;;)
   26     {
   27       if (GTK_IS_MENU (widget))
   28         parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
   29       else
   30         parent = widget->parent;
   31       if (!parent)
   32         parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
   33       if (parent == NULL)
   34         break;
   35       widget = parent;
   36     }
   37 
   38   found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
   39                                                  widget_name);
   40   if (!found_widget)
   41     g_warning ("Widget not found: %s", widget_name);
   42   return found_widget;
   43 }
   44 
   45 static GList *pixmaps_directories = NULL;
   46 
   47 /* Use this function to set the directory containing installed pixmaps. */
   48 void
   49 add_pixmap_directory                   (const gchar     *directory)
   50 {
   51   pixmaps_directories = g_list_prepend (pixmaps_directories,
   52                                         g_strdup (directory));
   53 }
   54 
   55 /* This is an internally used function to find pixmap files. */
   56 static gchar*
   57 find_pixmap_file                       (const gchar     *filename)
   58 {
   59   GList *elem;
   60 
   61   /* We step through each of the pixmaps directory to find it. */
   62   elem = pixmaps_directories;
   63   while (elem)
   64     {
   65       gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data,
   66                                          G_DIR_SEPARATOR_S, filename);
   67       if (g_file_test (pathname, G_FILE_TEST_EXISTS))
   68         return pathname;
   69       g_free (pathname);
   70       elem = elem->next;
   71     }
   72   return NULL;
   73 }
   74 
   75 /* This is an internally used function to create pixmaps. */
   76 GtkWidget*
   77 create_pixmap                          (GtkWidget       *widget,
   78                                         const gchar     *filename)
   79 {
   80   gchar *pathname = NULL;
   81   GtkWidget *pixmap;
   82 
   83   if (!filename || !filename[0])
   84       return gtk_image_new ();
   85 
   86   pathname = find_pixmap_file (filename);
   87 
   88   if (!pathname)
   89     {
   90       g_warning ("Couldn't find pixmap file: %s", filename);
   91       return gtk_image_new ();
   92     }
   93 
   94   pixmap = gtk_image_new_from_file (pathname);
   95   g_free (pathname);
   96   return pixmap;
   97 }
   98 
   99 /* This is an internally used function to create pixmaps. */
  100 GdkPixbuf*
  101 create_pixbuf                          (const gchar     *filename)
  102 {
  103   gchar *pathname = NULL;
  104   GdkPixbuf *pixbuf;
  105   GError *error = NULL;
  106 
  107   if (!filename || !filename[0])
  108       return NULL;
  109 
  110   pathname = find_pixmap_file (filename);
  111 
  112   if (!pathname)
  113     {
  114       g_warning ("Couldn't find pixmap file: %s", filename);
  115       return NULL;
  116     }
  117 
  118   pixbuf = gdk_pixbuf_new_from_file (pathname, &error);
  119   if (!pixbuf)
  120     {
  121       fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
  122                pathname, error->message);
  123       g_error_free (error);
  124     }
  125   g_free (pathname);
  126   return pixbuf;
  127 }
  128 
  129 /* This is used to set ATK action descriptions. */
  130 void
  131 glade_set_atk_action_description       (AtkAction       *action,
  132                                         const gchar     *action_name,
  133                                         const gchar     *description)
  134 {
  135   gint n_actions, i;
  136 
  137   n_actions = atk_action_get_n_actions (action);
  138   for (i = 0; i < n_actions; i++)
  139     {
  140       if (!strcmp (atk_action_get_name (action, i), action_name))
  141         atk_action_set_description (action, i, description);
  142     }
  143 }
  144