Author: bugman Date: Sun Jun 10 17:53:39 2012 New Revision: 16817 URL: http://svn.gna.org/viewcvs/relax?rev=16817&view=rev Log: Merged revisions 15908,15910-16040,16042-16125,16132-16134,16138-16140,16142-16143,16145-16147,16149-16202,16206-16217,16234-16235,16239-16245,16247-16311,16315-16320,16325-16355,16357-16363,16365-16450,16456-16665,16667,16669,16671,16675-16678,16680-16681,16683,16686-16709,16712-16727,16730-16811 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/uf_redesign ........ r15908 | bugman | 2012-05-03 18:35:51 +0200 (Thu, 03 May 2012) | 3 lines Created the empty user_functions package. ........ r15910 | bugman | 2012-05-03 19:33:24 +0200 (Thu, 03 May 2012) | 3 lines Created a number of special objects for the user function data storage. ........ r15911 | bugman | 2012-05-03 19:34:45 +0200 (Thu, 03 May 2012) | 3 lines Created the Uf_info singleton class for holding all of user function data. ........ r15912 | bugman | 2012-05-03 19:35:39 +0200 (Thu, 03 May 2012) | 5 lines Created a module for setting up all of the user function data. This is just a test, so probably will not be permanent. ........ r15913 | bugman | 2012-05-03 19:38:18 +0200 (Thu, 03 May 2012) | 5 lines Shifted the Uf_info singleton into the new user_functions.data module. This will avoid a lot of circular imports. ........ r15914 | bugman | 2012-05-03 19:40:13 +0200 (Thu, 03 May 2012) | 3 lines Created a unit test package for the user_function package. ........ r15915 | bugman | 2012-05-03 19:40:36 +0200 (Thu, 03 May 2012) | 3 lines The unit test _user_functions package is now actually a package! ........ r15916 | bugman | 2012-05-03 19:41:45 +0200 (Thu, 03 May 2012) | 3 lines Added a unit test for the contents of the user_function package. ........ r15917 | bugman | 2012-05-03 19:45:18 +0200 (Thu, 03 May 2012) | 6 lines This should hurt!! Shifted the pipe module from the prompt to user_functions package. This is in preparation for the full conversion of this user function class into the new auto-generation design. relax will be broken for a while now! ........ r15918 | bugman | 2012-05-03 19:47:13 +0200 (Thu, 03 May 2012) | 6 lines Removed the pipe user function class import and instantiation from the interpreter object. This will be re-introduced later with a new auto-generation architecture, taking the info from the user_function data object. ........ r15919 | bugman | 2012-05-03 20:05:09 +0200 (Thu, 03 May 2012) | 5 lines Shifted a check from the pipe.create front end to the back end. Tests do not belong in the front end! And this is not compatible with the new user function design. ........ r15920 | bugman | 2012-05-03 20:24:16 +0200 (Thu, 03 May 2012) | 9 lines Big improvements to the user function data container. The changes are: - More attributes are now accepted. - Now only allowed attributes can be modified, to prevent programming errors. - Docstring improvements. - More keyword argument data can be input. ........ r15921 | bugman | 2012-05-03 21:30:27 +0200 (Thu, 03 May 2012) | 3 lines Converted the entire of the 'pipe' module to populate the user function data structure. ........ r15922 | bugman | 2012-05-03 21:31:27 +0200 (Thu, 03 May 2012) | 5 lines Added the desc_short arg to the add_keyarg() user function container method. This arg is used in RelaxErrors for when incorrect parameter are supplied. ........ r15923 | bugman | 2012-05-03 21:37:35 +0200 (Thu, 03 May 2012) | 3 lines Removed a duplicate argument. ........ r15924 | bugman | 2012-05-03 21:38:21 +0200 (Thu, 03 May 2012) | 3 lines Fix for the Uf_container.__mod_attr__ list. ........ r15925 | bugman | 2012-05-03 21:39:50 +0200 (Thu, 03 May 2012) | 3 lines The user function data object is now imported into the interpreter. ........ r15926 | bugman | 2012-05-03 21:42:32 +0200 (Thu, 03 May 2012) | 3 lines The pipe module is now imported in the __init__ module to set up the data structures. ........ r15927 | bugman | 2012-05-03 21:44:20 +0200 (Thu, 03 May 2012) | 3 lines Clean up of the pipe module (removal of useless imports and syntax fixes). ........ r15928 | bugman | 2012-05-03 21:45:47 +0200 (Thu, 03 May 2012) | 5 lines The user function container args variable is now private and modifiable. It needs to be modifiable so the __init__ method can initialise it. ........ r15929 | bugman | 2012-05-03 22:01:53 +0200 (Thu, 03 May 2012) | 5 lines Added two iterator methods for looping over the user functions and classes. These are class_loop() and uf_loop(). ........ r15930 | bugman | 2012-05-03 22:02:26 +0200 (Thu, 03 May 2012) | 3 lines Modified the Class_container class to be more like the Uf_container class. ........ r15931 | bugman | 2012-05-03 22:05:39 +0200 (Thu, 03 May 2012) | 3 lines The interpreter now auto-generates the user function classes. ........ r15932 | bugman | 2012-05-03 22:12:28 +0200 (Thu, 03 May 2012) | 3 lines Added the prompt.objects module which contains the user function auto-generation objects. ........ r15933 | bugman | 2012-05-03 22:13:03 +0200 (Thu, 03 May 2012) | 3 lines Added a __repr__ method to the user function class objects for presenting a better message to users. ........ r15934 | bugman | 2012-05-03 22:14:07 +0200 (Thu, 03 May 2012) | 3 lines The auto-generated user class object now accepts the desc arg and stores it for use in the help system. ........ r15935 | bugman | 2012-05-03 22:20:30 +0200 (Thu, 03 May 2012) | 3 lines Documented the prompt-based help system _Helper.__call__() method. ........ r15936 | bugman | 2012-05-03 22:23:44 +0200 (Thu, 03 May 2012) | 3 lines The new auto-generated user function classes now fit into the prompt help system. ........ r15937 | bugman | 2012-05-03 22:27:10 +0200 (Thu, 03 May 2012) | 3 lines The __description__ attribute from the old help system is now supported in the auto-generated classes. ........ r15938 | bugman | 2012-05-03 22:28:28 +0200 (Thu, 03 May 2012) | 3 lines Modified the pipe user function class description. ........ r15939 | bugman | 2012-05-03 22:35:24 +0200 (Thu, 03 May 2012) | 6 lines Primitive auto-generation of the user functions. This simply creates an object for the user function, but it is not callable yet or uses any of the user function data. ........ r15940 | bugman | 2012-05-03 22:36:38 +0200 (Thu, 03 May 2012) | 3 lines The user function object now has a __repr__ method to give better feedback to the user. ........ r15941 | bugman | 2012-05-03 23:04:00 +0200 (Thu, 03 May 2012) | 3 lines Renamed the private _args variable to the non-private kargs. ........ r15942 | bugman | 2012-05-03 23:07:49 +0200 (Thu, 03 May 2012) | 7 lines The documentation for the auto-generated user functions is now being created. This is stored in the __relax_help__ string, and mimics the old system, reusing many of the base functions. All the user function data required for the prompt interface is now being passed in to the object. ........ r15943 | bugman | 2012-05-03 23:20:26 +0200 (Thu, 03 May 2012) | 5 lines The relax prompt help system is now being passed through pydoc.pager to page the text. This system will be used by the auto-generated user functions. ........ r15944 | bugman | 2012-05-04 08:42:30 +0200 (Fri, 04 May 2012) | 5 lines The prompt help system now uses bold text for the title line and all subtitles. The subtitle underlines are now not used, but the ability to underline is retained. ........ r15945 | bugman | 2012-05-04 09:16:54 +0200 (Fri, 04 May 2012) | 9 lines Absorbed the Exec_info prompt object into the relax status singleton and eliminated it. The prompt strings are now prompt.base_class module variables, and the current ones are stored in the status object. The user function intro flag is now stored in status.prompt_intro. The prompt_colour_on() and prompt_colour_off() methods are now methods of the interpreter class. Now that the Exec_info class no longer exists, the Basic_class class has also no purpose and has been eliminated. ........ r15946 | bugman | 2012-05-04 09:18:11 +0200 (Fri, 04 May 2012) | 3 lines Missing import of the status object. ........ r15947 | bugman | 2012-05-04 09:34:23 +0200 (Fri, 04 May 2012) | 3 lines The prompt intro strings are now created for the auto-generated user functions. ........ r15948 | bugman | 2012-05-04 09:42:21 +0200 (Fri, 04 May 2012) | 3 lines Clean up of the prompt intro strings for the auto-generated user functions. ........ r15949 | bugman | 2012-05-04 09:45:43 +0200 (Fri, 04 May 2012) | 3 lines Removed the last reference to the eliminated Exec_info prompt object. ........ r15950 | bugman | 2012-05-04 10:02:36 +0200 (Fri, 04 May 2012) | 5 lines The auto-generated prompt user function front ends now convert arguments to keyword arguments. This is important as a keyword arg can be supplied without the keyword in Python! ........ r15951 | bugman | 2012-05-04 10:03:22 +0200 (Fri, 04 May 2012) | 3 lines Expanded and fixed the argument checking for the prompt auto-generated user function front ends. ........ r15952 | bugman | 2012-05-04 10:15:19 +0200 (Fri, 04 May 2012) | 3 lines Implemented the missing back end of the pipe.current user function! ........ r15953 | bugman | 2012-05-04 10:23:09 +0200 (Fri, 04 May 2012) | 6 lines The auto-generated prompt user function front end objects are now executable. The uf.backend variable is now the executable Python object. The pipe user function class has been updated for the uf.backend change. ........ r15954 | bugman | 2012-05-04 10:40:25 +0200 (Fri, 04 May 2012) | 3 lines Updated the user_function and prompt packages __all__ lists. ........ r15955 | bugman | 2012-05-04 10:45:54 +0200 (Fri, 04 May 2012) | 5 lines Fix for the bmrb.citation user function prompt front end. The status argument was hiding the relax status singleton object! ........ r15956 | bugman | 2012-05-04 10:59:20 +0200 (Fri, 04 May 2012) | 5 lines Created methods for returning user function and class data objects from the user function data object. These are called get_class() and get_uf(). ........ r15957 | bugman | 2012-05-04 11:04:38 +0200 (Fri, 04 May 2012) | 3 lines Started to write the auto-generated user function GUI menu. ........ r15958 | bugman | 2012-05-04 11:10:46 +0200 (Fri, 04 May 2012) | 5 lines Renamed the gui.user_functions package to gui.uf_pages to avoid import clashes. This package was clashing with the base user_functions package, breaking imports everywhere. ........ r15959 | bugman | 2012-05-04 11:13:13 +0200 (Fri, 04 May 2012) | 5 lines The graphics directory has been converted into a Python package. This will be used to store special functions related to graphics manipulation, retrieval, etc. ........ r15960 | bugman | 2012-05-04 11:26:47 +0200 (Fri, 04 May 2012) | 5 lines Created the graphics.fetch_icon() function for a better API for the icon paths. This will eventually replace the gui.paths module. ........ r15961 | bugman | 2012-05-04 11:40:08 +0200 (Fri, 04 May 2012) | 3 lines The graphics.fetch_icon() function now returns None if no icon is specified. ........ r15962 | bugman | 2012-05-04 11:53:03 +0200 (Fri, 04 May 2012) | 5 lines The user function GUI menu item is now being auto-generated. This will require future work to support user functions not within a user function class. ........ r15963 | bugman | 2012-05-04 13:33:52 +0200 (Fri, 04 May 2012) | 3 lines Whitespace fix. ........ r15964 | bugman | 2012-05-04 14:09:28 +0200 (Fri, 04 May 2012) | 3 lines Shifted a number of the image path variables from the gui.paths module to the graphics package. ........ r15965 | bugman | 2012-05-04 14:18:39 +0200 (Fri, 04 May 2012) | 5 lines The graphics package image variables are now imported into the paths module. This is for backwards compatibility with the old user function pages. ........ r15966 | bugman | 2012-05-04 15:40:32 +0200 (Fri, 04 May 2012) | 8 lines Big set of changes enabling the auto-generation of the GUI user function front ends. This will create user function objects which are bound to the menu items, and the user function page objects automatically from the user_function data object. The pipe user functions have been updated to supply the needed data, and additional arguments have been added to the Uf_container.add_keyarg() method. The Uf_container object can now accept additional wizard related variables. ........ r15967 | bugman | 2012-05-04 16:33:38 +0200 (Fri, 04 May 2012) | 5 lines The List and Combo_list class now have ResetChoices() methods. This allows these elements to fit with the auto-generated GUI user functions. ........ r15968 | bugman | 2012-05-04 16:40:48 +0200 (Fri, 04 May 2012) | 7 lines Advancements for the auto-generated GUI user functions. String list GUI elements are now supported. The wizard element are now updated on display, allowing for example the current set of data pipes to be displayed in the ComboBoxes of the pipe user functions. ........ r15969 | bugman | 2012-05-04 16:59:59 +0200 (Fri, 04 May 2012) | 7 lines Removed the Page_storage singleton object as the idea does not work. While the pages cannot be recycled, a fundamental problem is if a wizard with the page is run at the same time as the user function page. More than one copy of the page must exist at the same time! ........ r15970 | bugman | 2012-05-04 17:09:14 +0200 (Fri, 04 May 2012) | 3 lines The GUI test execute_uf() base method now operates with the auto-generated user functions. ........ r15971 | bugman | 2012-05-04 17:55:48 +0200 (Fri, 04 May 2012) | 5 lines The wiz_desc arg is no longer compulsory for the auto-generated user functions. This will eventually be merged with the desc_short arg anyway. ........ r15972 | bugman | 2012-05-04 17:57:14 +0200 (Fri, 04 May 2012) | 5 lines The desc_short rather than wiz_desc arg is now used for the GUI elements. This is for the auto-generated user functions. ........ r15973 | bugman | 2012-05-04 17:59:13 +0200 (Fri, 04 May 2012) | 5 lines Eliminated the wiz_desc argument in the auto-generated user functions. Now the desc_short arg will be used instead for the GUI user function elements. ........ r15974 | bugman | 2012-05-04 18:01:26 +0200 (Fri, 04 May 2012) | 3 lines Removed the wiz_desc args from the pipe user functions. ........ r15975 | bugman | 2012-05-04 18:04:48 +0200 (Fri, 04 May 2012) | 3 lines The menu_text variable now defaults to '' so that the GUI does not die if this is not set. ........ r15976 | bugman | 2012-05-04 18:09:10 +0200 (Fri, 04 May 2012) | 3 lines The auto-generated Uf_page.add_contents() method now raises a RelaxError if the Python type is unknown. ........ r15977 | bugman | 2012-05-04 18:09:56 +0200 (Fri, 04 May 2012) | 3 lines Missing import. ........ r15978 | bugman | 2012-05-04 18:19:27 +0200 (Fri, 04 May 2012) | 5 lines The list_titles arg is now accepted for the auto-generated user functions. This is for a list of lists, and are the titles for the lists. ........ r15979 | bugman | 2012-05-04 18:24:55 +0200 (Fri, 04 May 2012) | 5 lines Expanded the wizard page element_int() method to accept all the args of element_string(). All these args will be handled properly by the Integer class as this derives from Base_value. ........ r15980 | bugman | 2012-05-04 18:25:33 +0200 (Fri, 04 May 2012) | 3 lines Integers and string list of lists are now accepted by the auto-generated GUI user functions. ........ r15981 | bugman | 2012-05-04 18:49:49 +0200 (Fri, 04 May 2012) | 6 lines The arg_type argument for the auto-generated user functions is now accepted. This will be used to allow special UI elements to be used for the argument, for example a file selection dialog. ........ r15982 | bugman | 2012-05-04 18:54:07 +0200 (Fri, 04 May 2012) | 5 lines The auto-generated GUI user functions objects now support the special UI types. This includes the file and dir selection dialogs, and skipping the dir args. ........ r15983 | bugman | 2012-05-04 18:57:53 +0200 (Fri, 04 May 2012) | 5 lines Created the element_dir_sel() and element_file_sel() wizard page methods. This will require the selector objects to be written! ........ r15984 | bugman | 2012-05-04 19:12:44 +0200 (Fri, 04 May 2012) | 5 lines Created the special Selector_file wizard element object. This is modelled on the file_selector() wizard page method. ........ r15985 | bugman | 2012-05-04 19:17:07 +0200 (Fri, 04 May 2012) | 3 lines Improvements to the element_file_sel() wizard page method. ........ r15986 | bugman | 2012-05-04 19:18:02 +0200 (Fri, 04 May 2012) | 5 lines The wizard page GetValue() method now returns None if the corresponding key is missing. This is needed for the directory arguments as these are not shown in the GUI. ........ r15987 | bugman | 2012-05-04 19:24:41 +0200 (Fri, 04 May 2012) | 5 lines The can_be_none user function argument argument is now used. This is needed for proper argument checking in the auto-generated user functions. ........ r15988 | bugman | 2012-05-04 20:05:54 +0200 (Fri, 04 May 2012) | 5 lines Boolean argument types are now supported by the auto-generated GUI user functions. The Selector_bool object and element_bool() wizard page method have been written for this. ........ r15989 | bugman | 2012-05-04 20:23:37 +0200 (Fri, 04 May 2012) | 5 lines All of the argument checking types are now supported for the auto-generated user functions. This covers every type of arg_check.is_*() function used in relax. ........ r15990 | bugman | 2012-05-04 20:33:04 +0200 (Fri, 04 May 2012) | 3 lines All of the user function argument arguments are now handled by the add_keyarg() method. ........ r15991 | bugman | 2012-05-04 20:33:45 +0200 (Fri, 04 May 2012) | 3 lines Fixes for the argument checking in the auto-generated user functions. ........ r15992 | bugman | 2012-05-04 20:44:08 +0200 (Fri, 04 May 2012) | 5 lines The user function data structure now accepts the 'display' boolean variable. This is used to indicate that a user function would like to display some output to STDOUT. ........ r15993 | bugman | 2012-05-04 20:52:02 +0200 (Fri, 04 May 2012) | 6 lines The relax controller is now shown for the auto-generated GUI user functions if 'display' is set. This is the 'display' variable in the user function data store. This allows all the user functions which print to STDOUT to pop up the controller in front of the user, so they see the result. ........ r15994 | bugman | 2012-05-05 20:41:48 +0200 (Sat, 05 May 2012) | 5 lines The add_keyarg() wiz_element_type arg default is now 'default' to be able to handle all element types. The previous default of 'text' for a TextCtrl was causing failures with certain wizard GUI elements. ........ r15995 | bugman | 2012-05-05 20:43:08 +0200 (Sat, 05 May 2012) | 5 lines The Base_value class can now accept the element_type arg value of 'default'. This will then use the TextCtrl. ........ r15996 | bugman | 2012-05-05 20:54:56 +0200 (Sat, 05 May 2012) | 3 lines The list wizard GUI elements no longer show empty lists. ........ r15997 | bugman | 2012-05-05 20:58:23 +0200 (Sat, 05 May 2012) | 3 lines The Combo_list GUI element can now handle an initial size of None, converting this to 1. [... 6180 lines stripped ...]