mailr11741 - /branches/bieri_gui/gui_bieri/menu.py


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

Header


Content

Posted by edward on December 08, 2010 - 17:24:
Author: bugman
Date: Wed Dec  8 17:24:14 2010
New Revision: 11741

URL: http://svn.gna.org/viewcvs/relax?rev=11741&view=rev
Log:
Sub-menus are now supported in the main relax menu bar.

The 'User functions->molecule->add' sub-menu item has been added, but is not 
yet functional.


Modified:
    branches/bieri_gui/gui_bieri/menu.py

Modified: branches/bieri_gui/gui_bieri/menu.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/bieri_gui/gui_bieri/menu.py?rev=11741&r1=11740&r2=11741&view=diff
==============================================================================
--- branches/bieri_gui/gui_bieri/menu.py (original)
+++ branches/bieri_gui/gui_bieri/menu.py Wed Dec  8 17:24:14 2010
@@ -118,16 +118,38 @@
         self.gui.Bind(wx.EVT_MENU, self.gui.about_relax,    id=44)
 
 
-    def _create_sub_menu(self, menu, entries):
-        """Build the sub-menu."""
-
-        # Loop over the sub-menu entries.
-        for i in range(len(entries)):
-            # Build the sub-menu entry.
-            menu.AppendItem(self.build_menu_sub_item(menu, id=entries[i][0], 
text=entries[i][1], icon=entries[i][2]))
-
-            # The menu actions.
-            self.gui.Bind(wx.EVT_MENU, entries[i][3], id=entries[i][0])
+    def _create_menu(self, menu, entries):
+        """Build the menu."""
+
+        # Loop over the menu entries.
+        for item in entries:
+            # Build the menu entry.
+            menu_item = self.build_menu_sub_item(menu, id=item[0], 
text=item[1], icon=item[2])
+
+            # A sub-menu.
+            if len(item[4]):
+                # The sub-menu.
+                sub_menu = wx.Menu()
+
+                # Loop over the sub-menus.
+                for sub_item in item[4]:
+                    # Build the menu entry.
+                    sub_menu_item = self.build_menu_sub_item(sub_menu, 
id=sub_item[0], text=sub_item[1], icon=sub_item[2])
+                    sub_menu.AppendItem(sub_menu_item)
+
+                    # The menu actions.
+                    self.gui.Bind(wx.EVT_MENU, sub_item[3], id=sub_item[0])
+
+                # Append the sub-menu.
+                menu_item.SetSubMenu(sub_menu)
+
+            # A normal menu item.
+            else:
+                # The menu actions.
+                self.gui.Bind(wx.EVT_MENU, item[3], id=item[0])
+
+            # Append the menu item.
+            menu.AppendItem(menu_item)
 
 
     def _user_functions(self):
@@ -141,11 +163,14 @@
 
         # The list of entries to build.
         entries = [
-            [id_base + 000, "&script", paths.icon_16x16.uf_script, 
self.gui.user_functions.script.run, []]
+            [id_base + 000, "&molecule", paths.icon_16x16.molecule, 
self.gui.user_functions.script.run, [
+                [id_base + 001, "&add", paths.icon_16x16.add, 
self.gui.user_functions.script.run]
+            ]],
+            [id_base + 100, "&script",   paths.icon_16x16.uf_script, 
self.gui.user_functions.script.run, []]
         ]
 
         # Build.
-        self._create_sub_menu(menu, entries)
+        self._create_menu(menu, entries)
 
         # Add the sub-menu.
         self.menubar.Append(menu, "&User functions")




Related Messages


Powered by MHonArc, Updated Wed Dec 08 17:40:02 2010