Menu

SVN archive Commit Log


Commit Date  
[r27534] by bugman

Updated the relax API documentation at http://www.nmr-relax.com/api/3.3/ to version 3.3.6.

2015-02-04 18:45:25 Tree
[r27533] by bugman

Set up a redirect for the structure.align user function to structure.superimpose.

2015-02-04 18:29:00 Tree
[r27532] by bugman

Updated the relax HTML manual at http://www.nmr-relax.com/manual/index.html to version 3.3.5.

2015-02-04 18:27:26 Tree
[r27531] by bugman

Backported the relax 3.3.6 CHANGES file changes to trunk.

The command used was:
svn merge -r27529:27530 svn+ssh://bugman@.../svn/relax/tags/3.3.6 .

2015-02-04 18:24:23 Tree
[r27530] by bugman

Updated the CHANGES file for relax 3.3.6.

2015-02-04 18:23:24 Tree
[r27529] by bugman

Added the relax 3.3.6 PDF manual to the repository.

2015-02-04 18:01:48 Tree
[r27528] by bugman

Updated the version number to relax 3.3.6.

2015-02-04 17:49:13 Tree
[r27527] by bugman

relax version 3.3.6.

This is a minor feature and bugfix release. It includes the addition of the new
structure.sequence_alignment user function which can use the 'Central Star' multiple sequence
alignment algorithm or align based on residue numbers, saving the results in the relax data store.
The assembly of structural coordinates used by the structure.align, structure.atomic_fluctuations,
structure.com, structure.displacement, structure.find_pivot, structure.mean, structure.rmsd,
structure.superimpose and structure.web_of_motion user functions has been redesigned around this new
user function. It will use any pre-existing sequence alignments for the molecules of interest, but
default to a residue number based alignment if the structure.sequence_alignment user function has
not been used. This version also fixes a system test failure on Mac OS X and Iinf parameter text
files and Grace graphs are produced by the relaxation curve-fitting auto-analysis for the inversion
recovery and saturation recovery experiment types.

2015-02-04 17:47:33 Tree
[r27526] by bugman

Fixes for the package checking unit tests on MS Windows for the target_functions package.

The compiled relaxation curve-fitting file is called target_functions\relax_fit.pyd on MS Windows.
The package checking was only taking into account *.so compiled files and not *.pyd file.

2015-02-04 17:32:30 Tree
[r27525] by bugman

Merged revisions 27440-27497,27500-27501,27503-27517 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk

........
r27440 | bugman | 2015-02-02 16:59:45 +0100 (Mon, 02 Feb 2015) | 3 lines

Copyright update.
........
r27441 | bugman | 2015-02-02 17:08:08 +0100 (Mon, 02 Feb 2015) | 5 lines

Fix for the oblate spheroid diffusion relaxation data.

The diffusion parameters are constrained as Dx <= Dy <= Dz.
........
r27442 | bugman | 2015-02-02 17:14:55 +0100 (Mon, 02 Feb 2015) | 6 lines

More fixes for the Structure.test_create_diff_tensor_pdb_oblate system test.

The initial Diso value is now set to the real final Diso, and the PDB file contents have been
updated for the fixed oblate spheroidal diffusion relaxation data.
........
r27443 | bugman | 2015-02-02 17:25:22 +0100 (Mon, 02 Feb 2015) | 6 lines

Updates for many of the Diffusion_tensor system tests.

This is due to the changed directory names in test_suite/shared_data/diffusion_tensor/. The
ds.diff_dir variable has been introduced to point to the correct data directory.
........
r27444 | bugman | 2015-02-02 23:34:27 +0100 (Mon, 02 Feb 2015) | 14 lines

Big bug fix for the GUI tests on MS Windows systems.

On MS Windows systems, the GUI tests were unable to complete without crashing. This is because each
GUI element requires one 'User object', and MS Windows has a maximum limit of 10,000 of these
objects. The GUI tests were taking more than 10,000 and then Windows would say - relax, you die
now.

The solution is that after each GUI test, all user function windows are destroyed. The user
function page is a wx.Panel object, so this requires a Destroy() call. But the window is a Uf_page
instance which inherits from Wiz_page which inherits from wx.Dialog. Calling Destroy() on MS
Windows and Linux works fine, but is fatal on Mac OS X systems. So the solution is to call Close()
instead.
........
r27445 | bugman | 2015-02-03 09:20:10 +0100 (Tue, 03 Feb 2015) | 13 lines

Large improvement for the GUI test tearDown() clean up method, fixing the tests on wxPython 2.8.

The user function window destruction has been shifted into a new clean_up_windows() method which is
executed via wx.CallAfter() to avoid racing conditions. In addition, the spin viewer window is
destroyed between tests.

The spin viewer window change allows the GUI tests to pass on wxPython 2.8 again. This also allows
the GUI tests to progress much further on Mac OS X systems before they crash again for some other
reason. This could simply be hiding a problem in the spin viewer window. However it is likely to
be a racing problem only triggered by the super fast speed of the GUI tests and a normal user would
never be able to operate the GUI on the millisecond timescale and hence may never see it.
........
r27446 | bugman | 2015-02-03 09:37:34 +0100 (Tue, 03 Feb 2015) | 19 lines

Reverted r27241, the wxPython 2.8 warning.

The command used was:
svn merge -r27241:r27240 .

This was discussed at http://thread.gmane.org/gmane.science.nmr.relax.devel/7502/focus=7512.

.....
r27241 | bugman | 2015-01-20 15:04:18 +0100 (Tue, 20 Jan 2015) | 6 lines
Changed paths:
M /trunk/dep_check.py

Added a RelaxWarning printout to the dep_check module if wxPython 2.8 or less is encountered.

This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/7502. The warning text is
simply written to STDERR as relax starts.
.....
........
r27447 | bugman | 2015-02-03 09:41:12 +0100 (Tue, 03 Feb 2015) | 19 lines

Reverted r27243, the skipping of the GUI tests on wxPython 2.8.

The command used was:
svn merge -r27243:r27242 .

This was discussed at http://thread.gmane.org/gmane.science.nmr.relax.devel/7502/focus=7512.

.....
r27243 | bugman | 2015-01-20 15:13:19 +0100 (Tue, 20 Jan 2015) | 6 lines
Changed paths:
M /trunk/test_suite/test_suite_runner.py

The GUI tests are now skipped for wxPython version <= 2.8 due to bugs causing fatal segfaults.

This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/7502. These wxPython
versions are simply too buggy.
.....
........
r27448 | bugman | 2015-02-03 09:46:40 +0100 (Tue, 03 Feb 2015) | 20 lines

Reverted r27325, the General.test_bug_23187_residue_delete_gui GUI test is no longer disabled.

The command was:
svn merge -r27325:r27324 .

The 'Bus Error' on Mac OS X due to this test is no longer an issue, as the spin viewer window is now
destroyed after each GUI test.

.....
r27325 | bugman | 2015-01-27 11:35:39 +0100 (Tue, 27 Jan 2015) | 6 lines
Changed paths:
M /trunk/test_suite/gui_tests/general.py

Disabled the General.test_bug_23187_residue_delete_gui GUI test.

This is essential as a wxPython bug in Mac OS X systems causes this test to trigger a 'Bus Error'
every time the GUI tests are run, killing relax.
.....
........
r27449 | bugman | 2015-02-03 10:07:09 +0100 (Tue, 03 Feb 2015) | 9 lines

Created a special Destroy() method for the spin viewer window.

This is for greater control of the spin viewer window destruction. First the methods registered
with the observer objects are unregistered, then the children of the spin viewer window are
destroyed, and finally the main spin viewer window is destroyed. This change saves a lot of GUI
resources in the GUI tests (there is a large reduction in 'User Objects' and 'GDI Objects' used on
MS Windows systems, hence an equivalent resource reduction on other operating systems).
........
r27450 | bugman | 2015-02-03 10:14:45 +0100 (Tue, 03 Feb 2015) | 16 lines

Fix for the GUI test clean_up_windows() method called from tearDown().

The user function window (Wiz_window) must be closed before the user function page (Uf_page), so
that the Wiz_window._handler_close() can still operate the methods of the Uf_page. This avoids a
huge quantity of these errors:

Traceback (most recent call last):
File "/data/relax/relax-trunk/gui/wizards/wiz_objects.py", line 723, in _handler_close
self._pages[self._current_page].on_next()
File "/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14615, in
__getattr__
raise PyDeadObjectError(self.attrStr % self._name)
wx._core.PyDeadObjectError: The C++ part of the Uf_page object has been deleted, attribute access no
longer allowed.
........
r27451 | bugman | 2015-02-03 10:26:56 +0100 (Tue, 03 Feb 2015) | 6 lines

Simplification of the Dead_uf_pages.test_mol_create GUI test.

The RelaxError cannot be caught from the GUI user function window, therefore the try statement has
been eliminated.
........
r27452 | bugman | 2015-02-03 10:48:10 +0100 (Tue, 03 Feb 2015) | 6 lines

More memory saving improvements for the GUI test suite tearDown() method.

The clean_up_windows() method now loops through all top level windows (frames, dialogs, panels,
etc.) and calls their Destroy() method.
........
r27453 | bugman | 2015-02-03 12:11:34 +0100 (Tue, 03 Feb 2015) | 5 lines

Created the gui.uf_objects.Uf_object.Destroy() method.

This will be used to cleanly destroy the user function object.
........
r27454 | bugman | 2015-02-03 12:17:11 +0100 (Tue, 03 Feb 2015) | 6 lines

Modified the GUI test suite _execute_uf() method.

This user function execution method now calls the user function GUI object Destroy() method to clean
up all GUI objects. This should save memory for GUI objects in the GUI test suite.
........
r27455 | bugman | 2015-02-03 12:20:51 +0100 (Tue, 03 Feb 2015) | 7 lines

Modified the GUI test suite tearDown() method.

The clean_up_windows() method called by tearDown() now prints out a lost of all of the living
windows instead of trying to destroy them (which causes the running of the GUI tests in the GUI to
cause the GUI to be destroyed). The printouts will be used for debugging purposes.
........
r27456 | bugman | 2015-02-03 12:22:00 +0100 (Tue, 03 Feb 2015) | 3 lines

Import fix and copyright update.
........
r27457 | bugman | 2015-02-03 12:25:11 +0100 (Tue, 03 Feb 2015) | 7 lines

Fixes for the custom Wiz_window.Destroy() method.

This will now first close the wizard window via the Close() method to make sure all of the wizard
pages are properly updated. In the end the wizard DestroyChildren() method is called to clean up
all child wx objects, and finally Destroy() is called to eliminate the wizard GUI object.
........
r27458 | bugman | 2015-02-03 12:28:05 +0100 (Tue, 03 Feb 2015) | 5 lines

The GUI test suite tearDown() method now calls the user function GUI wizard Destroy() method.

This is for better handling of user function elimination.
........
r27459 | bugman | 2015-02-03 12:29:02 +0100 (Tue, 03 Feb 2015) | 6 lines

Fixes for the user function GUI object Destroy() method.

This matches the code just deleted in the GUI test suite tearDown() method for handing the user
function page object.
........
r27460 | bugman | 2015-02-03 12:31:23 +0100 (Tue, 03 Feb 2015) | 6 lines

More fixes for the user function GUI object Destroy() method.

This page GUI object is destroyed by the wizard window Destroy() method, so destroying again causes
wxPython runtime errors.
........
r27461 | bugman | 2015-02-03 12:37:10 +0100 (Tue, 03 Feb 2015) | 5 lines

Spacing printout for the list of still open GUI window elements.

This is for the GUI test tearDown() method.
........
r27462 | bugman | 2015-02-03 14:11:32 +0100 (Tue, 03 Feb 2015) | 6 lines

Shifted the printouts from the GUI tests suite clean_up_windows() method to the tearDown() method.

This change means that the printouts are not within a wx.CallAfter() call, but rather at the end of
the tearDown() method just prior to starting the next test.
........
r27463 | bugman | 2015-02-03 14:51:32 +0100 (Tue, 03 Feb 2015) | 8 lines

Simplification of the GUI analysis post_reset() method.

This now uses the delete_all() and hence delete_analysis() methods to clean up the GUI. The reset
argument has been added to skip the manipulation of relax data store data, as the data store is
empty after a reset. However the calling of the delete_analysis() method now ensures that the
analysis specific delete() method is now called so that the GUI elements can be properly destroyed.
........
r27464 | bugman | 2015-02-03 14:56:21 +0100 (Tue, 03 Feb 2015) | 6 lines

Proper destruction of the peak analysis wizard of the NOE GUI analysis.

The peak wizard's Destroy() method is now called and the self.peak_wizard object deleted in the NOE
GUI analysis delete() method.
........
r27465 | bugman | 2015-02-03 14:58:20 +0100 (Tue, 03 Feb 2015) | 7 lines

Improved memory management in the NOE GUI analysis peak_wizard_launch() method.

This method was just overwriting the self.peak_wizard object with a new object. However this does
not destroy the wxPython window. Now if a peak wizard is detected, its Destroy() method is called
before overwriting the object.
........
r27466 | bugman | 2015-02-03 15:02:41 +0100 (Tue, 03 Feb 2015) | 7 lines

Improved GUI clean up when terminating GUI tests.

The clean_up_windows() method, called from tearDown(), now also destroys the pipe editor window, the
results viewer window, and the prompt window. This ensures that all of the major relax windows are
destroyed between GUI tests.
........
r27467 | bugman | 2015-02-03 15:09:16 +0100 (Tue, 03 Feb 2015) | 8 lines

Improved memory management in the relaxation curve-fitting GUI analysis.

The peak intensity loading wizard is now properly destroyed. This is both via the delete() function
for terminating the analysis calling the wizard Delete() method, and in the peak_wizard_launch()
method calling the wizard Delete() method prior to overwriting the self.peak_wizard object with a
new GUI wizard.
........
r27468 | bugman | 2015-02-03 15:12:29 +0100 (Tue, 03 Feb 2015) | 3 lines

Copyright update to 2015.
........
r27469 | bugman | 2015-02-03 15:16:17 +0100 (Tue, 03 Feb 2015) | 8 lines

Improved memory management in the model-free GUI analysis.

The dipole-dipole interaction wizard is now properly destroyed. This is both via the delete()
function for terminating the analysis calling the wizard Delete() method, and in the
setup_dipole_pair() method calling the wizard Delete() method prior to overwriting the
self.dipole_wizard object with a new GUI wizard.
........
r27470 | bugman | 2015-02-03 15:23:32 +0100 (Tue, 03 Feb 2015) | 6 lines

Improved memory management in the model-free GUI analysis.

The analysis mode selection window (a wx.Dialog) is now being destroyed in the analysis delete()
method. This appears to work on Linux, Windows, and Mac systems.
........
r27471 | bugman | 2015-02-03 15:27:54 +0100 (Tue, 03 Feb 2015) | 5 lines

Improved memory management in the model-free GUI analysis.

The local tm and model-free model windows are now destroyed in the GUI analysis delete() method.
........
r27472 | bugman | 2015-02-03 15:38:48 +0100 (Tue, 03 Feb 2015) | 7 lines

Improved termination of the GUI tests.

The clean_up_windows() method now calls the results viewer and pipe editor window handler_close()
methods. This ensures that all observer objects are cleared out so that the methods of the dead
windows can no longer be called.
........
r27473 | bugman | 2015-02-03 15:44:55 +0100 (Tue, 03 Feb 2015) | 6 lines

Fix for the previous commit (r27472).

Calls to wx.Yield() are required to flush the calls on the observer objects after unregisteristing
them and deleting the results and pipe editor windows.
........
r27474 | bugman | 2015-02-03 15:47:46 +0100 (Tue, 03 Feb 2015) | 8 lines

Improved memory management in the relaxation dispersion GUI analysis.

The peak intensity loading wizard is now properly destroyed. This is both via the delete() function
for terminating the analysis calling the wizard Delete() method, and in the peak_wizard_launch()
method calling the wizard Delete() method prior to overwriting the self.peak_wizard object with a
new GUI wizard.
........
r27475 | bugman | 2015-02-03 15:54:42 +0100 (Tue, 03 Feb 2015) | 3 lines

Created custom Destroy() methods for the pipe editor and results viewer GUI windows.
........
r27476 | bugman | 2015-02-03 15:57:54 +0100 (Tue, 03 Feb 2015) | 5 lines

Improved memory management in the relaxation dispersion GUI analysis.

The dispersion model list window is now destroyed in the GUI analysis delete() method.
........
r27477 | bugman | 2015-02-03 16:01:46 +0100 (Tue, 03 Feb 2015) | 6 lines

Fixes for the custom Destroy() methods for the pipe editor and results viewer GUI windows.

The event argument is now a keyword argument which defaults to None. This allows the Destroy()
methods to be called without arguments.
........
r27478 | bugman | 2015-02-03 16:13:34 +0100 (Tue, 03 Feb 2015) | 5 lines

Temporary disablement of the results viewer window destruction in the GUI tests.

This currently, for some unknown reason, causes segfault crashes of the GUI tests on Linux systems.
........
r27479 | bugman | 2015-02-03 16:30:52 +0100 (Tue, 03 Feb 2015) | 9 lines

Changes for how the main GUI windows are destroyed by the GUI test tearDown() method.

These changes revert some of the code of previous commits. The recently introduced pipe editor and
results viewer windows Delete() methods have been deleted. Instead the Close() methods are called
in the tearDown() method to unregister the windows from the observer objects, followed by a
wx.Yield() call to flush the wx events, and then the clean_up_windows() GUI test base method is
called within a wx.CallAfter() call. This avoids the racing induced segfaults in the GUI tests.
........
r27480 | bugman | 2015-02-03 16:38:38 +0100 (Tue, 03 Feb 2015) | 6 lines

Improved memory management in the spin viewer window.

The spin loading wizard is now destroyed in the Destroy() method as well as before reinitialising
the wizard in the load_spins_wizard() method.
........
r27481 | bugman | 2015-02-03 16:44:21 +0100 (Tue, 03 Feb 2015) | 5 lines

Wizard window objects in the GUI can now be named.

This will help with debugging the GUI memory usage.
........
r27482 | bugman | 2015-02-03 16:45:30 +0100 (Tue, 03 Feb 2015) | 3 lines

The GUI tests tearDown() method now prints out the Wizard windows names, if not destroyed.
........
r27483 | bugman | 2015-02-03 16:49:08 +0100 (Tue, 03 Feb 2015) | 3 lines

The GUI tests tearDown() method now prints out the Wizard windows title instead of name.
........
r27484 | bugman | 2015-02-03 16:50:56 +0100 (Tue, 03 Feb 2015) | 16 lines

Reverted r27481, the naming of Wizard windows. Names are not necessary they already have titles.

The command used was:
svn merge -r27481:r27480 .

.....
r27481 | bugman | 2015-02-03 16:44:21 +0100 (Tue, 03 Feb 2015) | 5 lines
Changed paths:
M /trunk/gui/wizards/wiz_objects.py

Wizard window objects in the GUI can now be named.

This will help with debugging the GUI memory usage.
.....
........
r27485 | bugman | 2015-02-03 16:52:20 +0100 (Tue, 03 Feb 2015) | 3 lines

The Wizard window title is now being stored as a class instance variable.
........
r27486 | bugman | 2015-02-03 17:00:00 +0100 (Tue, 03 Feb 2015) | 7 lines

Improved memory management in the relaxation data list GUI element, as well as the base list object.

The relaxation data loading wizard is now destroyed in the Base_list.delete() method, or any wizard
for that matter. In addition, the relaxation data loading wizard is destroyed before reinitialising
the wizard in the wizard_exec() method.
........
r27487 | bugman | 2015-02-03 17:10:33 +0100 (Tue, 03 Feb 2015) | 7 lines

Better memory management for the missing data dialog in the GUI analyses.

The dialog is now stored as the class variable missing_data, and then is destroyed in the analysis
delete() method. Without this, the wxPython dialog would remain in memory for the lifetime of the
program.
........
r27488 | bugman | 2015-02-03 17:20:14 +0100 (Tue, 03 Feb 2015) | 6 lines

Improved memory management for the Sequence and Sequence_2D input GUI elements.

These are mainly used in the user function GUI windows. The dialogs are now destroyed before a
second is opened.
........
r27489 | bugman | 2015-02-03 17:29:32 +0100 (Tue, 03 Feb 2015) | 6 lines

Improved memory management for the GUI user function windows.

The Destroy() method will now destroy any Sequence or Sequence_2D windows used for the user function
arguments.
........
r27490 | bugman | 2015-02-03 17:37:24 +0100 (Tue, 03 Feb 2015) | 6 lines

The relax prompt window is now being destroyed by the GUI test suite tearDown() method.

The window is first closed in the tearDown() method and then destroyed in the clean_up_windows()
method.
........
r27491 | bugman | 2015-02-03 17:58:51 +0100 (Tue, 03 Feb 2015) | 7 lines

Added memory management checking to the GUI test suite tearDown() method.

If any top level windows are present, excluding the main GUI window and the relax controller, then a
RelaxError will be raised. Such a check will significantly help in future GUI coding, as now there
will be feedback if not all windows are properly destroyed.
........
r27492 | bugman | 2015-02-03 18:09:35 +0100 (Tue, 03 Feb 2015) | 6 lines

Popup menus are now properly destroyed in the GUI tests.

In many instances, the wx.Menu.Destroy() method was only being called when the GUI is shown. This
causes memory leaking in the GUI tests.
........
r27493 | bugman | 2015-02-03 18:20:59 +0100 (Tue, 03 Feb 2015) | 6 lines

Changed the title for the user function GUI windows.

To better help identify what the window is, the title is now the user function name together with
text saying that it is a user function.
........
r27494 | bugman | 2015-02-03 18:37:24 +0100 (Tue, 03 Feb 2015) | 7 lines

Removed the wx.CallAfter() call in the GUI tests tearDown() method.

This was used to call the clean_up_windows() method. However the value of wx.Thread_IsMain() shows
that the tearDown() method executes in the main GUI thread. Therefore the wx.CallAfter() call for
avoiding racing conditions is not needed.
........
r27495 | bugman | 2015-02-03 18:47:41 +0100 (Tue, 03 Feb 2015) | 6 lines

Fix for the GUI tests clean_up_windows() tearDown method.

After destroying all of the main GUI windows, a wx.Yield() call is made to flush the wxPython event
queue. This seems to help with the memory management.
........
r27496 | bugman | 2015-02-03 19:39:48 +0100 (Tue, 03 Feb 2015) | 5 lines

Temporary disabling of the memory management check in the GUI tests tearDown() method.

For some reason, it appears as if it is not possible to destroy wx Windows on MS Windows.
........
r27497 | bugman | 2015-02-03 19:59:07 +0100 (Tue, 03 Feb 2015) | 6 lines

Created the relax GUI prompt Destroy() method.

This is used to cleanly destroy the GUI prompt by first unregistering with the observer objects,
destroying then deleting the wx.py.shell.Shell instance, and finally destroying the window.
........
r27500 | bugman | 2015-02-04 09:30:58 +0100 (Wed, 04 Feb 2015) | 3 lines

Modified the manual_c_module.py developer script so that the path can be supplied on the command line.
........
r27501 | bugman | 2015-02-04 09:34:10 +0100 (Wed, 04 Feb 2015) | 3 lines

Removed some unused imports, as found by devel_scripts/find_unused_imports.py.
........
r27503 | bugman | 2015-02-04 10:14:28 +0100 (Wed, 04 Feb 2015) | 5 lines

Added a copyright notice to the memory_leak_test_relax_fit.py development script.

This is to know how old the script is, to see how out of date it is in the future.
........
r27504 | bugman | 2015-02-04 11:15:48 +0100 (Wed, 04 Feb 2015) | 7 lines

Created the memory_leak_test_GUI_uf.py development script.

This is to help in tracking down memory leaks in the relax GUI user functions. Instead of using a
debugging Python version and guppy (wxPython doesn't seem to work with these), the pympler Python
package and its muppy module is used to produce a memory usage printout.
........
r27505 | bugman | 2015-02-04 11:30:11 +0100 (Wed, 04 Feb 2015) | 3 lines

Clean up of the memory_leak_test_GUI_uf.py development script.
........
r27506 | bugman | 2015-02-04 13:57:37 +0100 (Wed, 04 Feb 2015) | 6 lines

Created the new devel_scripts/memory_management/ directory.

This will be used for holding all of the memory C module leak detection, GUI object leak detection,
memory management, etc. development scripts.
........
r27507 | bugman | 2015-02-04 13:58:17 +0100 (Wed, 04 Feb 2015) | 3 lines

Shifted the memory_leak_test_GUI_uf.py script to devel_scripts/memory_management/GUI_uf_minimise_execute.py.
........
r27508 | bugman | 2015-02-04 14:12:22 +0100 (Wed, 04 Feb 2015) | 6 lines

Created a base class for the memory management scripts for the GUI user functions.

The core of the GUI_uf_minimise_execute.py script has been converted into the GUI_base.py base class
module. This will allow for new GUI user function testing scripts to be created.
........
r27509 | bugman | 2015-02-04 14:15:25 +0100 (Wed, 04 Feb 2015) | 3 lines

Removal of unused imports from the GUI user function memory testing scripts.
........
r27510 | bugman | 2015-02-04 14:18:26 +0100 (Wed, 04 Feb 2015) | 3 lines

Created a script for testing the memory management when calling the time GUI user function.
........
r27511 | bugman | 2015-02-04 15:32:44 +0100 (Wed, 04 Feb 2015) | 19 lines

Large memory management improvement for the relax GUI wizards and GUI user functions.

The pympler.muppy based memory management scripts in devel_scripts/memory_management for testing the
GUI user function windows was showing that for each GUI user function call, 28 wx._core.BoxSizer
elements were remaining in memory. This was traced back to the gui.wizards.wiz_objects.Wiz_window
class, specifically the self._page_sizers and self._button_sizers lists storing wx.BoxSizer
instances.

The problem was that 16 page sizers and 16 button sizers were initialised each time for later use,
however the add_page() method only added a small subset of these to the self._main_sizer wx.BoxSizer
object. But the Destroy() method was only capable of destroying the wx.BoxSizer instances
associated with another wxPython object. The fix was to add all page and button sizers to the
self._main_sizer object upon initialisation.

This will solve many memory issues in the GUI, especially in the GUI tests on Mac OS X systems
causing 'memory error' or 'bus error' messages and on MS Windows due to 'USER Object' and 'GDI
object' limitations.
........
r27512 | bugman | 2015-02-04 15:49:30 +0100 (Wed, 04 Feb 2015) | 5 lines

The maximum number of pages in the GUI wizard is no longer hardcoded.

The max_pages argument has been added to allow this value to be changed.
........
r27513 | bugman | 2015-02-04 16:19:54 +0100 (Wed, 04 Feb 2015) | 10 lines

Fix for GUI wizards and GUI user functions.

The recent memory management changes caused the wizard windows to have an incorrect layout so that
the wizard pages were not visible. Reperforming a layout of the GUI elements did not help. The
solution is to not initialise sets of max_pages of wx.BoxSizer elements in the wizard __init__()
method, but to generate and append these dynamically via the add_page() method. The change now
means that there are no longer multiple unused wx.BoxSizer instances generated for each wizard
window created.
........
r27514 | bugman | 2015-02-04 16:22:22 +0100 (Wed, 04 Feb 2015) | 3 lines

Removed a debugging printout.
........
r27515 | bugman | 2015-02-04 16:28:04 +0100 (Wed, 04 Feb 2015) | 6 lines

Fix for the GUI wizard _go_next() method.

The way to determine if there are no more pages needs to be changed, as there are now no empty list
elements at the end of the wizard storage objects.
........
r27516 | bugman | 2015-02-04 16:35:58 +0100 (Wed, 04 Feb 2015) | 5 lines

Another fix for the now variable sized wizard page list.

This time the fix is in the GUI user function __call__() method.
........
r27517 | bugman | 2015-02-04 16:47:44 +0100 (Wed, 04 Feb 2015) | 5 lines

Fix for the default grid_inc argument for the relaxation curve-fitting auto-analysis.

This needs to be an integer.
........

2015-02-04 16:26:53 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.