/[pspp]/psppire/src/data_sheet.c
ViewVC logotype

Diff of /psppire/src/data_sheet.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by jmd, Wed Mar 30 11:54:12 2005 UTC revision 1.4 by jmd, Tue Oct 25 12:45:29 2005 UTC
# Line 43  extern PSPP_Dict *pspp_dictionary ; Line 43  extern PSPP_Dict *pspp_dictionary ;
43     enabled: TRUE if enabling FALSE if disabling     enabled: TRUE if enabling FALSE if disabling
44  */  */
45  void  void
46  psppire_data_sheet_col_set_enable(GtkSheet *sheet,gint col1, gint col2,  psppire_data_sheet_col_set_enable(GtkSheet *sheet, gint col1, gint col2,
47                                    gboolean enabled)                                    gboolean enabled)
48  {  {
49    
# Line 66  psppire_data_sheet_col_set_enable(GtkShe Line 66  psppire_data_sheet_col_set_enable(GtkShe
66    
67    
68  static gint  static gint
69  update_data_sheet(GObject *obj, gpointer data)  update_variable(GObject *obj, gint column, gpointer data)
70  {  {
71    guint i;  
72    PSPP_Dict *dict = PSPP_DICT(obj);    PSPP_Dict *dict = PSPP_DICT(obj);
73    
74    GtkSheet *sheet = GTK_SHEET(data);    GtkSheet *sheet = GTK_SHEET(data);
75    
76    for ( i = 0 ; i < dict->array->len ; ++i )    struct variable *var = g_ptr_array_index(dict->array, column);
77      {    gtk_sheet_column_button_add_label (sheet, column, var->name);
78        struct variable *var;  
79        var = g_ptr_array_index(dict->array, i);    psppire_data_sheet_col_set_enable(sheet, column, column, TRUE);
80        gtk_sheet_column_button_add_label (sheet, i, var->name);  
81      return FALSE;
82    }
83    
84    
85    
86    
87    /* Repopulate the columns starting at position FROM, to position TO inclusive*/
88    static void
89    repopulate_columns(GtkSheet *sheet, PSPP_Dict *dict, gint from, gint to)
90    {
91      gint col;
92    
93      for ( col = from ; col <= to ; ++col )
94        {
95          struct variable *var = g_ptr_array_index(dict->array, col);      
96          
97          if ( col < dict->array->len)
98            {
99              gtk_sheet_column_button_add_label (sheet, col, var->name);
100              psppire_data_sheet_col_set_enable(sheet, col, col, TRUE);
101            }
102          else
103            {
104              gtk_sheet_column_button_add_label (sheet, col, _("var"));
105              psppire_data_sheet_col_set_enable(sheet, col, col, FALSE);
106            }
107      }      }
   psppire_data_sheet_col_set_enable(sheet, 0, i-1, TRUE);  
108    
109    }
110    
111    
112    /* Remove a variable from the data sheet */
113    static gint
114    remove_variable(GObject *obj, gint column, gpointer data)
115    {
116    
117      PSPP_Dict *dict = PSPP_DICT(obj);
118    
119      GtkSheet *sheet = GTK_SHEET(data);
120    
121      repopulate_columns(sheet, dict, column,
122                      gtk_sheet_get_columns_count(sheet) - 1);
123    
124    return FALSE;    return FALSE;
125  }  }
126    
127    
128    
129    
130    
131    
132  GtkWidget*  GtkWidget*
133  psppire_data_sheet_create (gchar *widget_name, gchar *string1, gchar *string2,  psppire_data_sheet_create (gchar *widget_name, gchar *string1, gchar *string2,
134                  gint int1, gint int2)                  gint int1, gint int2)
# Line 104  psppire_data_sheet_create (gchar *widget Line 145  psppire_data_sheet_create (gchar *widget
145    
146    sheet = gtk_sheet_new(rows, columns, "data sheet");    sheet = gtk_sheet_new(rows, columns, "data sheet");
147    
148    g_signal_connect(pspp_dictionary, "changed",    g_signal_connect(pspp_dictionary, "variable_changed",
149                     G_CALLBACK(update_data_sheet), sheet);                     G_CALLBACK(update_variable), sheet);
150    
151      g_signal_connect(pspp_dictionary, "variable_deleted",
152                       G_CALLBACK(remove_variable), sheet);
153    
154    
155    g_assert(gdk_color_parse("dark slate gray",&colour_disabled));    g_assert(gdk_color_parse("dark slate gray",&colour_disabled));

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26