def get_details_page(self, screen): if not self.__configured: self.__hypervisor = snack.RadioBar( screen, ((HYPERVISORS[HYPERVISOR_XEN], HYPERVISOR_XEN, True), (HYPERVISORS[HYPERVISOR_KVM], HYPERVISOR_KVM, False))) self.__connection = snack.RadioBar( screen, ((CONNECTIONS[CONNECTION_LOCAL], CONNECTION_LOCAL, True), (CONNECTIONS[CONNECTION_KERBEROS], CONNECTION_KERBEROS, False), (CONNECTIONS[CONNECTION_SSL], CONNECTION_SSL, False), (CONNECTIONS[CONNECTION_SSH], CONNECTION_SSH, False))) self.__hostname = snack.Entry(50, "") self.__autoconnect = snack.Checkbox("Autoconnect on Startup") self.__configured = True grid = snack.Grid(2, 4) grid.setField(snack.Label("Hypervisor:"), 0, 0, anchorRight=1, anchorTop=1) grid.setField(self.__hypervisor, 1, 0, anchorLeft=1) grid.setField(snack.Label("Connection:"), 0, 1, anchorRight=1, anchorTop=1) grid.setField(self.__connection, 1, 1, anchorLeft=1) grid.setField(snack.Label("Hostname:"), 0, 2, anchorRight=1) grid.setField(self.__hostname, 1, 2, anchorLeft=1) grid.setField(snack.Label(""), 0, 3, anchorRight=1) grid.setField(self.__autoconnect, 1, 3, anchorLeft=1) return [snack.Label("Add Connection"), grid]
def get_confirm_remove_page(self, screen): ignore = screen self.__confirm = snack.Checkbox( "Remove this connection: %s" % self.get_selected_connection(), 0) grid = snack.Grid(1, 1) grid.setField(self.__confirm, 0, 0) return [snack.Label("Remove Host Connection"), grid]
def get_confirm_page(self, screen): ignore = screen self.__confirm_remove = snack.Checkbox( "Check here to confirm undefining %s." % self.get_selected_domain().get_name(), 0) grid = snack.Grid(1, 1) grid.setField(self.__confirm_remove, 0, 0) return [grid]
def get_confirm_page(self, screen): ignore = screen self.__confirm = snack.Checkbox( "Check here to confirm deleting volume: %s" % self.get_selected_volume()) grid = snack.Grid(1, 1) grid.setField(self.__confirm, 0, 0) return [snack.Label("Remove Selected Storage Volume"), grid]
def __init__(self, screen, tui): self.name = "PackagesWindow" self.screen = screen self.tui = tui size = snack._snack.size() toplevel = snack.GridForm(screen, PACKAGES_WINDOW.encode('utf-8'), 1, 5) self.g = toplevel text = snack.TextboxReflowed(size[0] - 10, PACKAGES_WINDOW_DESC1.encode('utf-8')) toplevel.add(text, 0, 0, anchorLeft=1) self.packagesButton = snack.Checkbox( PACKAGES_WINDOW_DESC2.encode('utf-8'), 1) toplevel.add(self.packagesButton, 0, 1, padding=(0, 1, 0, 1), anchorLeft=1) label = snack.Label(PACKAGES_WINDOW_UNCHECK.encode('utf-8')) toplevel.add(label, 0, 2, anchorLeft=1) #self.packageList = snack.Listbox(size[1]-18, 1, width = size[0]-10) self.packageList = snack.CheckboxTree(size[1] - 18, 1) toplevel.add(self.packageList, 0, 3) # do we need to read the packages from disk? if tui.packageList == []: self.pwin = snack.GridForm(screen, PACKAGES_WINDOW_PKGLIST.encode('utf-8'), 1, 1) self.scale = snack.Scale(40, 100) self.pwin.add(self.scale, 0, 0) self.pwin.draw() self.screen.refresh() getArch = 0 if rhnreg.cfg['supportsExtendedPackageProfile']: getArch = 1 tui.packageList = pkgUtils.getInstalledPackageList(getArch=getArch) self.screen.popWindow() for package in tui.packageList: self.packageList.append( "%s-%s-%s" % (package['name'], package['version'], package['release']), item=package['name'], selected=1) # BUTTON BAR self.bb = snack.ButtonBar(screen, [(NEXT.encode('utf-8'), "next"), (BACK.encode('utf-8'), "back"), (CANCEL.encode('utf-8'), "cancel")]) toplevel.add(self.bb, 0, 4, padding=(0, 1, 0, 0), growx=1)
def get_local_storage_page(self, screen): ignore = screen self.__storage_size = snack.Entry(6, str(self.__config.get_storage_size())) self.__allocate_storage = snack.Checkbox("Allocate entire disk now", self.__config.get_allocate_storage()) grid = snack.Grid(2, 2) grid.setField(self.__allocate_storage, 0, 0, growx=1, anchorLeft=1) grid.setField(snack.Label("Storage size (GB):"), 0, 1, anchorLeft=1) grid.setField(self.__storage_size, 1, 1) return [snack.Label("Configure local storage"), grid]
def get_enable_storage_page(self, screen): self.__enable_storage = snack.Checkbox("Enable storage for this virtual machine", self.__config.get_enable_storage()) self.__storage_type = snack.RadioBar(screen, ((["Create a disk image on the computer's hard disk", DomainConfig.NEW_STORAGE, self.__config.get_use_local_storage()]), (["Select managed or other existing storage", DomainConfig.EXISTING_STORAGE, self.__config.get_use_local_storage() is False]))) grid = snack.Grid(1, 2) grid.setField(self.__enable_storage, 0, 0, anchorLeft=1) grid.setField(self.__storage_type, 0, 1, anchorLeft=1) return [snack.Label("Configure storage"), grid]
def __init__(self, dev): """ The constructor @screen A snack screen instance @devicelist A NCDeviceList @dev The devernet device. If none given, the first devernetdevice in devicelist will be used. If none are there, one will be added. """ self.dev = dev self.name = snack.Entry(20, "") self.hwdev = snack.Entry(20, "") self.dynip = snack.Checkbox("") self.statip = snack.Entry(20, "") self.netmask = snack.Entry(20, "") self.dnsserver1 = snack.Entry(20, "") self.dnsserver2 = snack.Entry(20, "") self.gwy = snack.Entry(20, "") self.screen = None
def get_details_page(self, screen): ignore = screen if self.__username is None: self.__username = snack.Entry(50, "") self.__password = snack.Entry(50, "", password=1) self.__confirm = snack.Entry(50, "", password=1) self.__adminuser = snack.Checkbox("This user is an administrator", False) grid = snack.Grid(2, 4) grid.setField(snack.Label("Username:"******"Password:"******"Confirm password:"******" "), 0, 3) grid.setField(self.__adminuser, 1, 3, anchorLeft=1) return [snack.Label("Enter The User Details"), grid]
def __init__(self, dev=None): """ The constructor @screen A snack screen instance """ self.dev = dev self.name = snack.Entry(20, "") self.hwdev = snack.Entry(20, "") self.dynip = snack.Checkbox("") self.statip = snack.Entry(20, "") self.netmask = snack.Entry(20, "") self.gwy = snack.Entry(20, "") self.ioport = snack.Entry(20, "") self.ioport1 = snack.Entry(20, "") self.ioport2 = snack.Entry(20, "") self.options = snack.Entry(20, "") self.macaddr = snack.Entry(20, "") self.screen = None if dev: self.setState()
def __init__(self, screen, tui): self.screen = screen self.tui = tui size = snack._snack.size() #get the virtualization uuid and set it to other. (virt_uuid, virt_type) = rhnreg.get_virt_info() if not virt_uuid is None: self.tui.other['virt_uuid'] = virt_uuid self.tui.other['virt_type'] = virt_type # read all hardware in tui.hardware = hardware.Hardware() toplevel = snack.GridForm(screen, HARDWARE_WINDOW.encode('utf-8'), 1, 7) text = snack.TextboxReflowed(70, HARDWARE_WINDOW_DESC1.encode('utf-8')) toplevel.add(text, 0, 0, anchorLeft=1) grid = snack.Grid(2, 2) label = snack.Label(_("Profile name:").encode('utf-8')) grid.setField(label, 0, 0, padding=(0, 0, 1, 0), anchorRight=1) self.profileEntry = snack.Entry(40) grid.setField(self.profileEntry, 1, 0, anchorLeft=1) toplevel.add(grid, 0, 1, anchorLeft=1) if tui.includeHardware: self.hardwareButton = snack.Checkbox( HARDWARE_WINDOW_CHECKBOX.encode('utf-8'), isOn=1) else: self.hardwareButton = snack.Checkbox( HARDWARE_WINDOW_CHECKBOX.encode('utf-8')) toplevel.add(self.hardwareButton, 0, 2, padding=(0, 1, 0, 0), anchorLeft=1) label = snack.Label(DESELECT.encode('utf-8')) toplevel.add(label, 0, 3, anchorLeft=1, padding=(0, 0, 0, 1)) grid = snack.Grid(4, 3) hardware_text = '' hardware_text += _("Version: ") + up2dateUtils.getVersion() + " " self.versionLabel = snack.Label(_("Version: ").encode('utf-8')) grid.setField(self.versionLabel, 0, 0, padding=(0, 0, 1, 0), anchorLeft=1) self.versionLabel2 = snack.Label(up2dateUtils.getVersion()) grid.setField(self.versionLabel2, 1, 0, anchorLeft=1) hardware_text += _("CPU model: ") for hw in tui.hardware: if hw['class'] == 'CPU': hardware_text += hw['model'] + "\n" hardware_text += _("Hostname: ") for hw in tui.hardware: if hw['class'] == 'NETINFO': unicode_hostname = idn_pune_to_unicode(hw['hostname']) hardware_text += unicode_hostname + "\n" if tui.profileName != "": self.profileEntry.set(tui.profileName) else: self.profileEntry.set(unicode_hostname.encode('utf-8')) hardware_text += _("CPU speed: ") for hw in tui.hardware: if hw['class'] == 'CPU': hardware_text += _("%d MHz") % hw['speed'] + " " hardware_text += _("IP Address: ") for hw in tui.hardware: if hw['class'] == 'NETINFO': if hw['ipaddr']: hardware_text += hw['ipaddr'] + " " elif hw['ip6addr']: hardware_text += hw['ip6addr'] + " " hardware_text += _("Memory: ") for hw in tui.hardware: if hw['class'] == 'MEMORY': hardware_text += _("%s megabytes") % hw['ram'] tb = snack.TextboxReflowed(80, hardware_text.encode('utf-8')) toplevel.add(tb, 0, 4) self.additionalHWLabel = snack.TextboxReflowed( size[0] - 10, HARDWARE_WINDOW_DESC2.encode('utf-8')) toplevel.add(self.additionalHWLabel, 0, 5, padding=(0, 1, 0, 0), anchorLeft=1) # BUTTON BAR self.bb = snack.ButtonBar(screen, [(NEXT.encode('utf-8'), "next"), (BACK.encode('utf-8'), "back"), (CANCEL.encode('utf-8'), "cancel")]) toplevel.add(self.bb, 0, 6, padding=(0, 1, 0, 0), growx=1) self.g = toplevel
def get_confirm_page(self, screen): ignore = screen self.__confirm = snack.Checkbox("Confirm migrating this virtual machine.") grid = snack.Grid(1, 1) grid.setField(self.__confirm, 0, 0) return [grid]