def load_menu(self): f = None try: f = open(self.__menu_cache_file, 'rb') self.__menu = pickle.load(f) except Exception,e: LogManager.info('Menu cache %s is not loaded. Details: %s' %(self.__menu_cache_file,e))
def menuClick(self, action ): name = action.objectName() for menu in self.__menu: if menu.menu_sid == name: LogManager.info('Opening form with sid %s' %menu.form_sid) FormManager.openForm(menu.form_sid) LogManager.info('Form with sid %s is opened' %menu.form_sid) break
menu_checksum = md5.hexdigest() iface = Client.get_interface('FABLIK_BASE') inputVar = iface.create_variable('RequestGetMainMenu') inputVar.session_id = Config.getSessionID() inputVar.checksum = menu_checksum inputVar.lang_sid = Config.getLangSid() result = iface.call('getMainMenu', inputVar) if result.ret_code != 0: raise Exception(result.ret_message) if len(result.menu_list) == 0: LogManager.info('Menu cache is valid. Use it') return self.__menu = [] for item in result.menu_list[0]: menuitem = MenuItem(item.id, item.help, item.name, item.form_sid, 0, item.parent_id, item.shortcut) self.__menu.append(menuitem) self._save_cache() LogManager.info('Menu loaded and saved to local cache file (%s)'%self.__menu_cache_file) def create_menu(self, MainWindow): if len(self.__menu) == 0: self.load_menu()