ProjectDjango/Project.py

changeset 32
fd79d080b065
parent 31
a632d10fdb7c
child 34
7b511ce3bc88
--- a/ProjectDjango/Project.py	Wed Jan 01 14:47:54 2014 +0100
+++ b/ProjectDjango/Project.py	Sat Jan 25 17:41:00 2014 +0100
@@ -97,7 +97,7 @@
         self.__e5project = e5App().getObject("Project")
         self.__hooksInstalled = False
         
-        self.__mainMenu = None
+        self.__menus = {}   # dictionary with references to menus
         
         self.__serverProc = None
         self.__testServerProc = None
@@ -642,6 +642,8 @@
         
         @return the menu generated (QMenu)
         """
+        self.__menus = {}   # clear menus references
+        
         menu = QMenu(self.trUtf8('D&jango'), self.__ui)
         menu.setTearOffEnabled(True)
         
@@ -670,7 +672,7 @@
         menu.addSeparator()
         menu.addAction(self.helpAct)
         
-        self.__mainMenu = menu
+        self.__menus["main"] = menu
         
         return menu
 
@@ -693,6 +695,8 @@
         menu.addSeparator()
         menu.addMenu(self.__initDatabaseSqlMenu())
         
+        self.__menus["database"] = menu
+        
         return menu
     
     def __initDatabaseSqlMenu(self):
@@ -715,6 +719,8 @@
         menu.addAction(self.databaseSqlFlushAct)
         menu.addAction(self.databaseSqlResetSeqAct)
         
+        self.__menus["sql"] = menu
+        
         return menu
     
     def __initToolsMenu(self):
@@ -732,6 +738,8 @@
         menu.addSeparator()
         menu.addAction(self.runPythonShellAct)
         
+        self.__menus["tools"] = menu
+        
         return menu
     
     def __initTestingMenu(self):
@@ -749,6 +757,8 @@
         menu.addAction(self.runTestAct)
         menu.addAction(self.runTestServerAct)
         
+        self.__menus["testing"] = menu
+        
         return menu
     
     def __initAuthorizationMenu(self):
@@ -763,6 +773,8 @@
         menu.addAction(self.changePasswordAct)
         menu.addAction(self.createSuperUserAct)
         
+        self.__menus["authorization"] = menu
+        
         return menu
     
     def __initSessionMenu(self):
@@ -776,7 +788,30 @@
         
         menu.addAction(self.clearSessionsAct)
         
+        self.__menus["session"] = menu
+        
         return menu
+    
+    def getMenu(self, name):
+        """
+        Public method to get a reference to the requested menu.
+        
+        @param name name of the menu (string)
+        @return reference to the menu (QMenu) or None, if no
+            menu with the given name exists
+        """
+        if name in self.__menus:
+            return self.__menus[name]
+        else:
+            return None
+    
+    def getMenuNames(self):
+        """
+        Public method to get the names of all menus.
+        
+        @return menu names (list of string)
+        """
+        return list(self.__menus.keys())
 
     ##################################################################
     ## methods below implement the various hook related functions

eric ide

mercurial