mailr16067 - in /branches/uf_redesign: gui/menu.py prompt/interpreter.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on May 07, 2012 - 18:18:
Author: bugman
Date: Mon May  7 18:18:56 2012
New Revision: 16067

URL: http://svn.gna.org/viewcvs/relax?rev=16067&view=rev
Log:
The user functions without a base class are now supported in the prompt, 
script, and GUI modes.

This is for the auto-generated user functions not stored in a user function 
class object.


Modified:
    branches/uf_redesign/gui/menu.py
    branches/uf_redesign/prompt/interpreter.py

Modified: branches/uf_redesign/gui/menu.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/menu.py?rev=16067&r1=16066&r2=16067&view=diff
==============================================================================
--- branches/uf_redesign/gui/menu.py (original)
+++ branches/uf_redesign/gui/menu.py Mon May  7 18:18:56 2012
@@ -25,6 +25,7 @@
 """Module for the main relax menu bar."""
 
 # Python module imports.
+from re import search
 from string import split
 import wx
 
@@ -259,33 +260,42 @@
         class_item = None
         for name, data in uf_info.uf_loop():
             # Split up the name.
-            class_name, uf_name = split(name, '.')
+            if search('\.', name):
+                class_name, uf_name = split(name, '.')
+            else:
+                class_name = None
 
             # Generate a sub menu.
-            if class_name not in class_list:
-                # Add the last sub menu.
-                if class_item != None:
-                    menu.AppendItem(class_item)
-
-                # Get the user function class data object.
-                class_data = uf_info.get_class(class_name)
-
-                # Create a unique ID.
-                class_id = wx.NewId()
-
-                # Create the menu entry.
-                class_item = build_menu_item(menu, id=class_id, 
text=class_data.menu_text, icon=fetch_icon(class_data.gui_icon, size='16x16'))
-
-                # Initialise the sub menu.
-                sub_menu = wx.Menu()
-                class_item.SetSubMenu(sub_menu)
-
-                # Add the class name to the list to block further sub menu 
creation.
-                class_list.append(class_name)
-
-            # Create the user function menu entry.
-            uf_id = wx.NewId()
-            sub_menu.AppendItem(build_menu_item(sub_menu, id=uf_id, 
text=data.menu_text, icon=fetch_icon(data.gui_icon, size='16x16')))
+            if class_name:
+                if class_name not in class_list:
+                    # Add the last sub menu.
+                    if class_item != None:
+                        menu.AppendItem(class_item)
+
+                    # Get the user function class data object.
+                    class_data = uf_info.get_class(class_name)
+
+                    # Create a unique ID.
+                    class_id = wx.NewId()
+
+                    # Create the menu entry.
+                    class_item = build_menu_item(menu, id=class_id, 
text=class_data.menu_text, icon=fetch_icon(class_data.gui_icon, size='16x16'))
+
+                    # Initialise the sub menu.
+                    sub_menu = wx.Menu()
+                    class_item.SetSubMenu(sub_menu)
+
+                    # Add the class name to the list to block further sub 
menu creation.
+                    class_list.append(class_name)
+
+                # Create the user function menu entry.
+                uf_id = wx.NewId()
+                sub_menu.AppendItem(build_menu_item(sub_menu, id=uf_id, 
text=data.menu_text, icon=fetch_icon(data.gui_icon, size='16x16')))
+
+            # No sub menu.
+            else:
+                uf_id = wx.NewId()
+                menu.AppendItem(build_menu_item(menu, id=uf_id, 
text=data.menu_text, icon=fetch_icon(data.gui_icon, size='16x16')))
 
             # Bind the menu item.
             self.gui.Bind(wx.EVT_MENU, store[name], id=uf_id)

Modified: branches/uf_redesign/prompt/interpreter.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/uf_redesign/prompt/interpreter.py?rev=16067&r1=16066&r2=16067&view=diff
==============================================================================
--- branches/uf_redesign/prompt/interpreter.py (original)
+++ branches/uf_redesign/prompt/interpreter.py Mon May  7 18:18:56 2012
@@ -60,7 +60,6 @@
 from fix import Fix
 from gpl import GPL
 from reset import Reset
-from minimisation import Minimisation
 from model_selection import Modsel
 from sys_info import Sys_info
 from temperature import Temp
@@ -154,16 +153,23 @@
         # Then generate the user functions.
         for name, data in uf_info.uf_loop():
             # Split up the name.
-            class_name, uf_name = split(name, '.')
+            if search('\.', name):
+                class_name, uf_name = split(name, '.')
+            else:
+                class_name = None
 
             # Generate a new container.
             obj = Uf_object(name, title=data.title, kargs=data.kargs, 
backend=data.backend, desc=data.desc, examples=data.prompt_examples, 
additional=data.additional)
 
             # Get the class object.
-            class_obj = self._locals[class_name]
-
-            # Add the object to the user function class.
-            setattr(class_obj, uf_name, obj)
+            if class_name:
+                class_obj = self._locals[class_name]
+
+            # Add the object to the local namespace or user function class.
+            if class_name:
+                setattr(class_obj, uf_name, obj)
+            else:
+                self._locals[name] = obj
 
 
     def _setup(self):
@@ -194,19 +200,15 @@
         eliminate = Eliminate()
         fix = Fix()
         reset = Reset()
-        minimisation = Minimisation()
         modsel = Modsel()
         opendx = OpenDX()
         sys_info = Sys_info()
         temp = Temp()
 
         # Place the user functions in the local namespace.
-        objects['calc'] = minimisation.calc
         objects['eliminate'] = eliminate.eliminate
         objects['fix'] = fix.fix
-        objects['grid_search'] = minimisation.grid_search
         objects['reset'] = reset.reset
-        objects['minimise'] = minimisation.minimise
         objects['model_selection'] = modsel.model_selection
         objects['sys_info'] = sys_info.sys_info
         objects['temperature'] = temp.set




Related Messages


Powered by MHonArc, Updated Mon May 07 19:00:01 2012