Main Page   Alphabetical List   Compound List   File List   Compound Members   File Members  

fmapstable.c

Go to the documentation of this file.
00001 #ifdef HAVE_CONFIG_H
00002 #  include <config.h>
00003 #endif
00004 
00005 #include <gnome.h>
00006 
00007 #include "callbacks.h"
00008 #include "interface.h"
00009 #include "support.h"
00010 
00011 #include "fmaps.h"
00012 
00013 #include "gtkfmaps.h"
00014 
00015 #ifndef LIBPQ_H
00016 #  include "libpq-fe.h"
00017 #  define LIBPQ_H
00018 #endif
00019 
00020 void
00021 FM_Display_Table                    (GtkWidget     *tablewindow,
00022                                            gchar         *tablename)
00023 {
00024 
00025   gchar *buffer;
00026   gchar **text=NULL;
00027   PGresult *qryResult;
00028   gint nfields;
00029   gint nbtuples;
00030   gint fieldsize=0;
00031   gint i;
00032   gint j;
00033   GtkWidget *TableWindow_clist_browse;
00034   GtkWidget *TableWindow_scrolledwindow;
00035   GtkWidget **label;
00036 
00037         TableWindow_scrolledwindow=lookup_widget(tablewindow,"TableWindow_scrolledwindow");
00038     
00039   buffer=g_strdup_printf("SELECT * from %s ",tablename);
00040   qryResult = PQexec(conn,buffer);
00041   g_free(buffer);
00042 
00043   nfields=PQnfields(qryResult);
00044 
00045   TableWindow_clist_browse = gtk_clist_new (nfields);
00046   gtk_widget_ref (TableWindow_clist_browse);
00047   gtk_object_set_data_full (GTK_OBJECT (tablewindow), "TableWindow_clist_browse", TableWindow_clist_browse,
00048                             (GtkDestroyNotify) gtk_widget_unref);
00049   gtk_widget_show (TableWindow_clist_browse);
00050   gtk_container_add (GTK_CONTAINER (TableWindow_scrolledwindow), TableWindow_clist_browse);
00051   gtk_clist_column_titles_show (GTK_CLIST (TableWindow_clist_browse));
00052 
00053         label=g_malloc(sizeof(gpointer)*nfields);
00054 
00055   for (i=0;i<nfields;i++)
00056   {
00057     buffer=PQfname(qryResult,i);
00058         
00059         label[i] = gtk_label_new (buffer);
00060         gtk_widget_ref (label[i]);
00061         gtk_object_set_data_full (GTK_OBJECT (tablewindow), buffer, label[i],
00062                             (GtkDestroyNotify) gtk_widget_unref);
00063         gtk_widget_show (label[i]);
00064         gtk_clist_set_column_widget (GTK_CLIST (TableWindow_clist_browse), i, label[i]);
00065         fieldsize=PQfsize(qryResult,i);
00066         if (fieldsize==-1)
00067         {
00068           fieldsize=25;
00069         }
00070         gtk_clist_set_column_width (GTK_CLIST (TableWindow_clist_browse), i, fieldsize*10);
00071 
00072   }
00073 
00074         nbtuples = PQntuples(qryResult);
00075   for (i=0;i<nbtuples;i++)
00076   {
00077     text=g_malloc(sizeof(gpointer)*nfields);
00078     for (j=0;j<nfields;j++)
00079     {
00080       text[j] = PQgetvalue(qryResult,i,j);
00081     }     
00082     gtk_clist_append(GTK_CLIST(TableWindow_clist_browse),text);    
00083     g_free(text);
00084   } 
00085                              
00086   PQclear(qryResult);
00087   return;
00088 }

Generated at Sat Jan 6 20:55:34 2001 for FMaps by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000