Author: bugman Date: Thu Nov 13 15:53:52 2014 New Revision: 26567 URL: http://svn.gna.org/viewcvs/relax?rev=26567&view=rev Log: Merged revisions 26541-26566 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/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. ........ Modified: branches/frame_order_cleanup/ (props changed) branches/frame_order_cleanup/auto_analyses/dauvergne_protocol.py branches/frame_order_cleanup/devel_scripts/memory_leak_test_relax_fit.py branches/frame_order_cleanup/docs/devel/Mac_framework_build_3way branches/frame_order_cleanup/gui/analyses/__init__.py branches/frame_order_cleanup/gui/analyses/base.py branches/frame_order_cleanup/gui/analyses/wizard.py branches/frame_order_cleanup/gui/components/menu.py branches/frame_order_cleanup/gui/components/molecule.py branches/frame_order_cleanup/gui/components/relax_data.py branches/frame_order_cleanup/gui/components/relax_data_meta.py branches/frame_order_cleanup/gui/components/spectrum.py branches/frame_order_cleanup/gui/controller.py branches/frame_order_cleanup/gui/interpreter.py branches/frame_order_cleanup/gui/menu.py branches/frame_order_cleanup/gui/relax_gui.py branches/frame_order_cleanup/gui/spin_viewer/frame.py branches/frame_order_cleanup/gui/spin_viewer/tree.py branches/frame_order_cleanup/gui/uf_objects.py branches/frame_order_cleanup/gui/wizards/wiz_objects.py branches/frame_order_cleanup/test_suite/gui_tests/general.py branches/frame_order_cleanup/test_suite/gui_tests/model_free.py branches/frame_order_cleanup/test_suite/gui_tests/noe.py branches/frame_order_cleanup/user_functions/structure.py [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/frame_order_cleanup/auto_analyses/dauvergne_protocol.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/auto_analyses/dauvergne_protocol.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/devel_scripts/memory_leak_test_relax_fit.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/devel_scripts/memory_leak_test_relax_fit.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/docs/devel/Mac_framework_build_3way URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/docs/devel/Mac_framework_build_3way?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/analyses/__init__.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/analyses/__init__.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/analyses/base.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/analyses/base.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/analyses/wizard.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/analyses/wizard.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/components/menu.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/components/menu.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/components/molecule.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/components/molecule.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/components/relax_data.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/components/relax_data.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/components/relax_data_meta.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/components/relax_data_meta.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/components/spectrum.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/components/spectrum.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/controller.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/controller.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/interpreter.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/interpreter.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/menu.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/menu.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/relax_gui.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/relax_gui.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/spin_viewer/frame.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/spin_viewer/frame.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/spin_viewer/tree.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/spin_viewer/tree.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/uf_objects.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/uf_objects.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/gui/wizards/wiz_objects.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/gui/wizards/wiz_objects.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/test_suite/gui_tests/general.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/test_suite/gui_tests/general.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/test_suite/gui_tests/model_free.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/test_suite/gui_tests/model_free.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/test_suite/gui_tests/noe.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/test_suite/gui_tests/noe.py?rev=26567&r1=26566&r2=26567&view=diff Modified: branches/frame_order_cleanup/user_functions/structure.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/user_functions/structure.py?rev=26567&r1=26566&r2=26567&view=diff