Merged revisions 26541-26566 via svnmerge from 
svn+ssh://bugman@.../svn/relax/trunk
........
r26541 | bugman | 2014-11-12 10:51:25 +0100 (Wed, 12 Nov 2014) | 6 lines
  Removed the writable base directory check in the dauvergne_protocol auto-analysis.
  This check was causing the system test to fail if the user does not have write access to the
  installed relax directory.
........
r26542 | bugman | 2014-11-12 10:57:44 +0100 (Wed, 12 Nov 2014) | 3 lines
  Expanded the Mac_framework_build_3way document to include matplotlib.
........
r26543 | bugman | 2014-11-12 11:45:54 +0100 (Wed, 12 Nov 2014) | 8 lines
  Important bug fix for racing causing the GUI to freeze.
  This is really only seen in the GUI tests on MS Windows systems, as a user could never be fast
  enough with the mouse.  The GUI interpreter flush() method for ensuring that all user functions in
  the queue have been cleared now calls wx.Yield() to force all wxPython events to also be flushed.
  This change will avoid random freezing of the relax test suite.
........
r26544 | bugman | 2014-11-12 11:47:40 +0100 (Wed, 12 Nov 2014) | 7 lines
  Bug fix for the Mf.test_bug_21615_incomplete_setup_failure GUI test on MS Windows systems.
  The GUI interpreter flush() method needs to be called between the two structure.load_spins user
  function calls.  Without this, the test will freeze on MS Windows.  The freezing behaviour is
  however not 100% reproducible and is dependent on the Windows version and wxPython version.
........
r26545 | bugman | 2014-11-12 17:28:42 +0100 (Wed, 12 Nov 2014) | 5 lines
  Shifted a number of wx.NewId() calls to the module namespace to conserve IDs.
  These are for the menus in the main window and in the spin view window.
........
r26546 | bugman | 2014-11-12 17:38:25 +0100 (Wed, 12 Nov 2014) | 7 lines
  Shifted the wx.NewId() calls for the spectrum list GUI element to the module namespace.
  These IDs are used for the pop up menus.  The change avoids repetitive calls to wx.NewId() every
  time a right click occurs, conserving wx IDs so that they are not exhausted when running the test
  suite or running the GUI for a long time.
........
r26547 | bugman | 2014-11-12 17:49:29 +0100 (Wed, 12 Nov 2014) | 3 lines
  More shifting of wx.NewId() calls for popup menus to module namespaces to conserve IDs.
........
r26548 | bugman | 2014-11-12 17:54:31 +0100 (Wed, 12 Nov 2014) | 5 lines
  Converted all of the GUI wizard button IDs to -1, as they are currently unused.
  This should conserve wx IDs, especially in the test suite.
........
r26549 | bugman | 2014-11-12 17:58:30 +0100 (Wed, 12 Nov 2014) | 5 lines
  Shifted the main GUI window toolbar button wx IDs to the module namespace.
  This has no effect apart from better organising the code.
........
r26550 | bugman | 2014-11-12 18:01:11 +0100 (Wed, 12 Nov 2014) | 5 lines
  Shifted the relax controller window popup menu wx IDs to the module namespace.
  This is simply to better organise the code to match the other GUI module changes.
........
r26551 | bugman | 2014-11-12 18:11:28 +0100 (Wed, 12 Nov 2014) | 6 lines
  Menus created by the gui.components.menu.build_menu_item() now default to the wx ID of -1.
  This is to conserve wx IDs.  If the calling code does not provide the ID, there is no need to grab
  one from the small pool of IDs.
........
r26552 | bugman | 2014-11-12 18:14:37 +0100 (Wed, 12 Nov 2014) | 6 lines
  Shifted the spin viewer GUI window toolbar button wx IDs to the module namespace.
  This should conserve wx IDs as the window is created and destroyed, as only 2 IDs will be taken from
  the small pool for the entire lifetime of the program.
........
r26553 | bugman | 2014-11-12 18:19:09 +0100 (Wed, 12 Nov 2014) | 7 lines
  Shifted all of the wx.NewId() calls for the new analysis wizard into the module namespace.
  This will hugely save the number of wx IDs used by the GUI, especially in the test suite.  Instead
  of grabbing 8 IDs from the small pool every time the new analysis wizard is created, only 8 IDs for
  the lifetime of the program will be used.
........
r26554 | bugman | 2014-11-12 18:30:47 +0100 (Wed, 12 Nov 2014) | 6 lines
  Another large wx ID saving change.
  The ID associated with the special accelerator table that allows the ESC button to close relax
  wizards is now initialised once in the module namespace, and not each time a wizard is created.
........
r26555 | bugman | 2014-11-12 18:33:14 +0100 (Wed, 12 Nov 2014) | 5 lines
  A small wx ID conserving change - the 'Execute' button in the analysis tabs now uses the ID of -1.
  A unique ID is not necessary and is unused.
........
r26556 | bugman | 2014-11-12 18:36:23 +0100 (Wed, 12 Nov 2014) | 5 lines
  The user function class menus no longer have unique wx IDs, as these are unnecessary.
  This conserves the small pool of unique wx IDs, as the spin viewer window is created and destroyed.
........
r26557 | bugman | 2014-11-12 19:57:54 +0100 (Wed, 12 Nov 2014) | 8 lines
  Bug fix for the structure.load_spins user function new from_mols argument.
  This was incorrectly using the pipe_control.pipes.pipe_names() function to obtain its default values
  in the GUI (although this is not currently uesd).  The result was a non-fatal error message on Mac
  OS X systems of "Python[1065:1d03] *** __NSAutoreleaseNoPool(): Object 0x3a3944c of class NSCFString
  autoreleased with no pool in place - just leaking".
........
r26558 | bugman | 2014-11-13 10:20:43 +0100 (Thu, 13 Nov 2014) | 5 lines
  Added a debugging Python version check to the devel_scripts/memory_leak_test_relax_fit.py script.
  This prevents the script from being executed with a normal Python binary.
........
r26559 | bugman | 2014-11-13 11:31:42 +0100 (Thu, 13 Nov 2014) | 7 lines
  Created the blacklisted Noe.test_noe_analysis_memory_leaks GUI test.
  This long test can be manually run to help chase down memory leaks.  This can be monitored using the
  MS Windows task manager, once the 'USER Objects' column is shown.  If the USER Objects count reaches
  10,000 in Windows, then no more GUI elements can be created and the user will see errors.
........
r26560 | bugman | 2014-11-13 11:34:01 +0100 (Thu, 13 Nov 2014) | 3 lines
  Added a printout to the Noe.test_noe_analysis_memory_leaks GUI test to help with debugging.
........
r26561 | bugman | 2014-11-13 11:36:22 +0100 (Thu, 13 Nov 2014) | 3 lines
  Improved debugging printouts for the Noe.test_noe_analysis_memory_leaks GUI test.
........
r26562 | bugman | 2014-11-13 11:40:54 +0100 (Thu, 13 Nov 2014) | 3 lines
  Small fix for the GUI analysis deletion method to prevent racing in the GUI tests.
........
r26563 | bugman | 2014-11-13 12:12:35 +0100 (Thu, 13 Nov 2014) | 6 lines
  Redesigned how wizards are destroyed in the GUI.
  The relax wizard Destroy() method is now overridden.  This allows the buttons in the wizard to be
  properly destroyed, as well as all wizard pages.  This should remove a lot of GUI memory leaks.
........
r26564 | bugman | 2014-11-13 13:31:57 +0100 (Thu, 13 Nov 2014) | 5 lines
  Created the General.test_new_analysis_wizard_memory_leak blacklisted GUI test.
  This will be used to check for memory leaks in the new analysis wizard.
........
r26565 | bugman | 2014-11-13 13:37:23 +0100 (Thu, 13 Nov 2014) | 3 lines
  Removed an unused dictionary from the GUI wizard object.
........
r26566 | bugman | 2014-11-13 14:27:02 +0100 (Thu, 13 Nov 2014) | 5 lines
  Added a wx.Yield() before destroying the new analysis wizard via menu_new().
  This is to avoid racing which can be triggered in the test suite.
........