def run(self): """ Draws the screen @rtype: integer @returns: sucess status """ # add all disks found into the viewer for disk in sorted(self.__disks.keys()): desc = self.__disks[disk] self.__list.append(str(desc[0]) +' - ' + str(desc[1]) + ' - ' + str(desc[2]) + 'G', disk) # main loop to handle hotkey for disk detailed information rc = '' while rc not in ['back', 'ok']: result = self.__grid.run() rc = self.__buttonsBar.buttonPressed(result) # handle hotkey to display detailed disk information to # the user if result == 'F3': diskDetails = None current = self.__list.current() for disk in self.__diskData: name = disk['name'] if not disk['mpath_master'] \ else disk['mpath_master'] if name == current: diskDetails = disk break self.__showDiskInformation(diskDetails, str(desc[2]) + 'G', current) continue self.__screen.pushHelpLine(HELP_LINE.localize()) self.__screen.popWindow() if rc == "back": return None return self.__list.current()
def __init__(self, screen): """ Constructor @type screen: SnackScreen @param screen: SnackScreen instance """ self.__screen = screen self.__msg = TextboxReflowed(40, SELECT_ONE_OF_THE_OPTIONS_BELOW.localize()) self.__list = Listbox(5, returnExit=0) self.__buttonsBar = ButtonBar(self.__screen, [(OK.localize(), "ok"), (BACK.localize(), "back")]) self.__grid = GridForm(self.__screen, WELCOME_IBM_POWERKVM.localize() % STR_VERSION, 1, 3) self.__grid.add(self.__msg, 0, 0) self.__grid.add(self.__list, 0, 1, (0,1,0,0)) self.__grid.add(self.__buttonsBar, 0, 2, (0,1,0,0)) self.__screen.pushHelpLine(HELP_LINE.localize())