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.
........