pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp/src/ui/gui ChangeLog data-editor.c data-ed...


From: John Darrington
Subject: [Pspp-cvs] pspp/src/ui/gui ChangeLog data-editor.c data-ed...
Date: Tue, 26 Dec 2006 21:32:09 +0000

CVSROOT:        /sources/pspp
Module name:    pspp
Changes by:     John Darrington <jmd>   06/12/26 21:32:09

Modified files:
        src/ui/gui     : ChangeLog data-editor.c data-editor.glade 

Log message:
        Enabled Edit->Clear in variable sheet

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/ChangeLog?cvsroot=pspp&r1=1.32&r2=1.33
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/data-editor.c?cvsroot=pspp&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/data-editor.glade?cvsroot=pspp&r1=1.1&r2=1.2

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/ChangeLog,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- ChangeLog   25 Dec 2006 02:29:11 -0000      1.32
+++ ChangeLog   26 Dec 2006 21:32:09 -0000      1.33
@@ -1,3 +1,8 @@
+Mon Dec 25 12:38:24 WST 2006 John Darrington <address@hidden>
+
+       * data-editor.c data-editor.glade: Enabled deleting of variables from
+       the variable sheet.
+
 Mon Dec 25 11:28:29 WST 2006 John Darrington <address@hidden>
 
        * psppire-dict.c psppire-dict.h: Removed explicit signal emit calls.

Index: data-editor.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/data-editor.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- data-editor.c       24 Dec 2006 23:08:25 -0000      1.2
+++ data-editor.c       26 Dec 2006 21:32:09 -0000      1.3
@@ -40,6 +40,7 @@
 #include "psppire-data-store.h"
 #include "psppire-var-store.h"
 
+
 /* Switch between the VAR SHEET and the DATA SHEET */
 enum {PAGE_DATA_SHEET = 0, PAGE_VAR_SHEET};
 
@@ -72,6 +73,31 @@
 
 static void file_quit (GtkCheckMenuItem *, gpointer );
 
+static void on_clear_activate (GtkMenuItem *, gpointer);
+
+static void
+enable_edit_clear (GtkWidget *w, gint row, gpointer data)
+{
+  struct data_editor *de = data;
+
+  GtkWidget *menuitem = get_widget_assert (de->xml, "edit_clear");
+
+  gtk_widget_set_sensitive (menuitem, TRUE);
+}
+
+static gboolean
+disable_edit_clear (GtkWidget *w, gint x, gint y, gpointer data)
+{
+  struct data_editor *de = data;
+
+  GtkWidget *menuitem = get_widget_assert (de->xml, "edit_clear");
+
+  gtk_widget_set_sensitive (menuitem, FALSE);
+
+  return FALSE;
+}
+
+
 
 /*
   Create a new data editor.
@@ -110,6 +136,14 @@
                    G_CALLBACK (open_syntax_window),
                    e->window);
 
+
+  g_signal_connect (get_widget_assert (de->xml,"edit_clear"),
+                   "activate",
+                   G_CALLBACK (on_clear_activate),
+                   de);
+
+
+
   g_signal_connect (get_widget_assert (de->xml,"help_about"),
                    "activate",
                    G_CALLBACK (about_new),
@@ -128,6 +162,17 @@
                    de);
 
 
+  g_signal_connect (get_widget_assert (de->xml, "variable_sheet"),
+                   "select-row",
+                   GTK_SIGNAL_FUNC (enable_edit_clear),
+                   de);
+
+  g_signal_connect (get_widget_assert (de->xml, "variable_sheet"),
+                   "activate",
+                   GTK_SIGNAL_FUNC (disable_edit_clear),
+                   de);
+
+
   g_signal_connect (get_widget_assert (de->xml, "notebook"),
                    "switch-page",
                    G_CALLBACK (data_var_select), de);
@@ -481,3 +526,42 @@
   */
   gtk_main_quit ();
 }
+
+
+
+/* Callback for when the Clear item in the edit menu is activated */
+static void
+on_clear_activate (GtkMenuItem *menuitem, gpointer data)
+{
+  struct data_editor *de = data;
+
+  GtkNotebook *notebook = GTK_NOTEBOOK (get_widget_assert (de->xml,
+                                                          "notebook"));
+
+  switch ( gtk_notebook_get_current_page (notebook) )
+    {
+    case PAGE_VAR_SHEET:
+      {
+       GtkSheet *var_sheet =
+         GTK_SHEET (get_widget_assert (de->xml, "variable_sheet"));
+
+       PsppireVarStore *vs = PSPPIRE_VAR_STORE
+         (gtk_sheet_get_model (var_sheet) );
+
+       /* This shouldn't be able to happen, because the menuitem
+          should be disabled */
+       g_return_if_fail (var_sheet->state  ==  GTK_SHEET_ROW_SELECTED );
+
+       psppire_dict_delete_variables (vs->dict,
+                                      var_sheet->range.row0,
+                                      1 +
+                                      var_sheet->range.rowi -
+                                      var_sheet->range.row0 );
+      }
+      break;
+      case PAGE_DATA_SHEET:
+       break;
+      default:
+       g_assert_not_reached ();
+    }
+}

Index: data-editor.glade
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/data-editor.glade,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- data-editor.glade   23 Dec 2006 09:03:45 -0000      1.1
+++ data-editor.glade   26 Dec 2006 21:32:09 -0000      1.2
@@ -139,9 +139,9 @@
          </child>
 
          <child>
-           <widget class="GtkMenuItem" id="menuitem2">
+           <widget class="GtkMenuItem" id="edit">
              <property name="visible">True</property>
-             <property name="sensitive">False</property>
+             <property name="sensitive">True</property>
              <property name="label" translatable="yes">_Edit</property>
              <property name="use_underline">True</property>
 
@@ -185,11 +185,11 @@
                  </child>
 
                  <child>
-                   <widget class="GtkMenuItem" id="clear1">
+                   <widget class="GtkMenuItem" id="edit_clear">
                      <property name="visible">True</property>
+                     <property name="sensitive">False</property>
                      <property name="label" 
translatable="yes">Cl_ear</property>
                      <property name="use_underline">True</property>
-                     <signal name="activate" handler="on_clear_activate" 
last_modification_time="Sun, 02 Jul 2006 07:00:12 GMT"/>
                      <accelerator key="Delete" modifiers="0" 
signal="activate"/>
                    </widget>
                  </child>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]