--- a/ProjectPyramid/Project.py Wed Jan 01 14:47:56 2014 +0100 +++ b/ProjectPyramid/Project.py Sat Jan 25 17:43:06 2014 +0100 @@ -96,7 +96,7 @@ self.__e5project = e5App().getObject("Project") self.__hooksInstalled = False - self.__mainMenu = None + self.__menus = {} # dictionary with references to menus self.__serverProc = None @@ -356,6 +356,8 @@ @return the menu generated (QMenu) """ + self.__menus = {} # clear menus references + menu = QMenu(self.trUtf8('P&yramid'), self.__ui) menu.setTearOffEnabled(True) @@ -383,9 +385,31 @@ menu.addSeparator() menu.addAction(self.aboutPyramidAct) - self.__mainMenu = menu + self.__menus["main"] = 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()) + def registerOpenHook(self): """ Public method to register the open hook to open a translations file