Remove deprecated objects GtkAction and GtkUIManager
[pspp] / src / ui / gui / memorandum.txt
index d316c3a35cb05991f93c04ba4962a1e2a2957a81..0df450b5c321c6a508e07bd8e77fac0779bc0294 100644 (file)
@@ -9,10 +9,8 @@ How to add a new dialog to Psppire
 
 Before you start.
 
-1. You will need to install Glade version 3.8.4 ---    ANY OTHER VERSION
-IS UNLIKELY TO WORK  --- I know that 3.18.x does not!  If your
-distro  doesn't have this version, you will need to download it and
-build it from source.
+1. You will need to install Glade (but see the important note
+   about which version at the end of this document!
 
 
 
@@ -33,7 +31,7 @@ build it from source.
 Having done the above, you should be able to edit an existing dialog
 definition, thus:
 
-           glade-3 src/ui/gui/descriptives.ui
+           glade src/ui/gui/descriptives.ui
 
 You will probably get a lot of Gtk-Warnings/Criticals  most of them
 are harmless.
@@ -171,7 +169,7 @@ Displaying the Dialog box in Psppire
 1. Define a new PsppireDialogAction Class
 
 Create a new object class derived from PsppireDialogAction  (note that
-PsppireDialogAction itself derives from GtkAction).  It's probably
+PsppireDialogAction itself implements GAction).  It's probably
 best if you use an existing example as a template.  The minimum you
 require is:
 
@@ -215,7 +213,7 @@ refresh (PsppireDialogAction *rd_)
 // This function is called when the menuitem is activated.
 // It is what pops up the dialog 
 static void
-psppire_dialog_action_foobar_activate (GtkAction *a)
+psppire_dialog_action_foobar_activate (GAction *a)
 {
   PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a);
   PsppireDialogActionFoobar *act = PSPPIRE_DIALOG_ACTION_FOOBAR (a);
@@ -246,7 +244,7 @@ psppire_dialog_action_foobar_activate (GtkAction *a)
 static void
 psppire_dialog_action_foobar_class_init (PsppireDialogActionFoobarClass *class)
 {
-  GtkActionClass *action_class = GTK_ACTION_CLASS (class);
+  GActionClass *action_class = GTK_ACTION_CLASS (class);
 
   action_class->activate = psppire_dialog_action_foobar_activate;
   PSPPIRE_DIALOG_ACTION_CLASS (class)->generate_syntax = generate_syntax;
@@ -315,6 +313,34 @@ src/ui/gui/automake.mk and to rerun make ; make install
 
 
 
+Note!  Currently (as of commit fe7682b3c3d36cf9ba3e867588e5b808af833262 )
+psppire is in a transitional phase.  Our .ui files come in two mutually
+incompatible varieties.  The older variety can be identified by a
+string similar to:
+
+  <requires lib="psppire" version="2054.17080"/>
+  <!-- interface-requires gtk+ 2.12 -->
+  <!-- interface-naming-policy project-wide -->
+
+To edit these files  you will need to install Glade version 3.8.4 ---
+ANY OTHER VERSION IS UNLIKELY TO WORK  --- I know that 3.18.x does
+not!  If your distro  doesn't have this version, you will need to
+download it and build it from source.
+
+
+The newer ones contain the string:
+
+<!-- Generated with glade 3.18.3 -->
+<interface>
+  <requires lib="gtk+" version="3.12"/>
+
+Like the string suggests Glade version 3.18.x or later will probably
+be ok for these files. 
+
+Hopefully the older style .ui files will gradually be converted to new
+style ones.
+
+
 That's about it, I think.  Did I forget anything?