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

Diff of /psppire/src/var_sheet.c

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

revision 1.16 by jmd, Sat Nov 5 05:46:26 2005 UTC revision 1.17 by jmd, Sat Nov 5 23:40:27 2005 UTC
# Line 200  auto_generate_var_name(PSPP_Dict *dict) Line 200  auto_generate_var_name(PSPP_Dict *dict)
200  }  }
201    
202    
203  /* Callback whenever the cell on the var sheet is entered */  /* Callback whenever the cell on the var sheet is entered or left.
204       It sets the entry box type appropriately.
205    */
206  static gboolean  static gboolean
207  var_sheet_cell_change_entry (GtkSheet * sheet, gint row, gint column)  var_sheet_cell_change_entry (GtkSheet * sheet, gint row, gint column,
208                                 gpointer leaving)
209  {  {
210      if ( leaving )
211        {
212          gtk_sheet_change_entry(sheet, GTK_TYPE_ENTRY);
213          return TRUE;
214        }
215    
216    GtkSheetCellAttr attributes;    GtkSheetCellAttr attributes;
217    gtk_sheet_get_attributes(sheet, row, column, &attributes);    gtk_sheet_get_attributes(sheet, row, column, &attributes);
# Line 217  var_sheet_cell_change_entry (GtkSheet * Line 225  var_sheet_cell_change_entry (GtkSheet *
225        {        {
226          if ( attributes.is_editable)          if ( attributes.is_editable)
227            {            {
228                const gint current_value  =
229                  atoi(gtk_sheet_cell_get_text(sheet, row, column));
230              GtkAdjustment *adj =                GtkAdjustment *adj =  
231                gtk_adjustment_new(0.0,          /* initial */                gtk_adjustment_new(current_value,
232                                   1.0, 100.0,   /* min, max */                                   1.0, 100.0,   /* min, max */
233                                   1.0, 1.0, 1.0 /* steps */                                   1.0, 1.0, 1.0 /* steps */
234                                   );                                   );
# Line 232  var_sheet_cell_change_entry (GtkSheet * Line 242  var_sheet_cell_change_entry (GtkSheet *
242              gtk_spin_button_set_digits(spinButton, 0);              gtk_spin_button_set_digits(spinButton, 0);
243            }            }
244        }        }
245        break;        break;
246      default:      default:
247        gtk_sheet_change_entry(sheet, GTK_TYPE_ENTRY);        gtk_sheet_change_entry(sheet, GTK_TYPE_ENTRY);
248        break;        break;
# Line 483  remove_variable(GObject *obj, gint idx, Line 493  remove_variable(GObject *obj, gint idx,
493    
494    GtkSheet *sheet = GTK_SHEET(data);    GtkSheet *sheet = GTK_SHEET(data);
495    
496    repopulate_rows(sheet, dict, idx,    gtk_sheet_delete_rows(sheet, idx, 1);
                   gtk_sheet_get_rows_count(sheet) - 1);  
497    
498    last_populated_row--;    last_populated_row--;
499    
# Line 518  psppire_variable_sheet_create (gchar *wi Line 527  psppire_variable_sheet_create (gchar *wi
527                      GTK_SIGNAL_FUNC (var_sheet_cell_change_entry),                      GTK_SIGNAL_FUNC (var_sheet_cell_change_entry),
528                      0);                      0);
529    
530      g_signal_connect (GTK_OBJECT (sheet), "deactivate",
531                        GTK_SIGNAL_FUNC (var_sheet_cell_change_entry),
532                        1);
533    
534    
535    
536    g_signal_connect (GTK_OBJECT (sheet), "set_cell",    g_signal_connect (GTK_OBJECT (sheet), "set_cell",
537                      GTK_SIGNAL_FUNC (update_variable),                      GTK_SIGNAL_FUNC (update_variable),
# Line 571  update_variable(GtkSheet *sheet, gint ro Line 585  update_variable(GtkSheet *sheet, gint ro
585      case COL_NAME:      case COL_NAME:
586        {        {
587          const gchar *name = gtk_sheet_cell_get_text(sheet, row, col);          const gchar *name = gtk_sheet_cell_get_text(sheet, row, col);
   
588          if ( old_var && (0 == strcmp(old_var->name, name)))          if ( old_var && (0 == strcmp(old_var->name, name)))
589            return FALSE;            return FALSE;
590    
# Line 588  update_variable(GtkSheet *sheet, gint ro Line 601  update_variable(GtkSheet *sheet, gint ro
601                   &&                   &&
602                   /* Allow changes of case */                   /* Allow changes of case */
603                   ( !old_var ||                   ( !old_var ||
604                     0 != strncasecmp(old_var->name, name))                     0 != strcasecmp(old_var->name, name))
605                   )                   )
606            {            {
607              g_print("Duplicate variable name\n");              g_print("Duplicate variable name\n");

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

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