def __init__(self, underlying, unlock): self.unlock = unlock self.password = Edit("Password: "******"") w = ListBox([Text(self.LOCKED), self.invalid, self.password]) w = LineBox(w) w = AttrWrap(w, "dialog") Overlay.__init__(self, w, underlying, 'center', 60, 'middle', 8)
def __init__(self, underlying, command_runner): self.underlying = underlying self.command_runner = command_runner self.done = False self.machine = None self.deployed_charm_classes = [] self.finalized_charm_classes = [] self.single_net_configured = False self.lxc_root_tarball_configured = False self.info_text = Text(self.NODE_WAIT if pegasus.SINGLE_SYSTEM else self.PXE_BOOT) w = LineBox(Filler(self.info_text)) w = AttrWrap(w, "dialog") Overlay.__init__(self, w, self.underlying, 'center', 60, 'middle', 5)
def __init__(self, underlying, juju_state, on_success, on_cancel): import cloudinstall.charms charm_modules = [import_module('cloudinstall.charms.' + mname) for (_, mname, _) in pkgutil.iter_modules(cloudinstall.charms.__path__)] charm_classes = sorted([m.__charm_class__ for m in charm_modules], key=attrgetter('deploy_priority')) self.boxes = [] first_index = 0 for i, charm_class in enumerate(charm_classes): charm = charm_class(juju_state=juju_state) if charm.name() and not first_index: first_index = i r = CheckBox(charm.name()) r.text_label = charm.name() self.boxes.append(r) wrapped_boxes = _wrap_focus(self.boxes) def ok(button): selected = filter(lambda r: r.get_state(), self.boxes) on_success([s.text_label for s in selected]) def cancel(button): on_cancel() bs = [Button("Ok", ok), Button("Cancel", cancel)] wrapped_buttons = _wrap_focus(bs) self.buttons = Columns(wrapped_buttons) self.items = ListBox(wrapped_boxes) self.items.set_focus(first_index) ba = BoxAdapter(self.items, height=len(wrapped_boxes)) self.lb = ListBox([ba, self.count_editor, self.buttons]) root = LineBox(self.lb, title="Select new charm") root = AttrMap(root, "dialog") Overlay.__init__(self, root, underlying, 'center', 30, 'middle', len(wrapped_boxes) + 4)
def __init__(self, underlying, juju_state, destroy, command_runner=None): import cloudinstall.charms charm_modules = [import_module('cloudinstall.charms.' + mname) for (_, mname, _) in pkgutil.iter_modules(cloudinstall.charms.__path__)] charm_classes = [m.__charm_class__ for m in charm_modules if m.__charm_class__.allow_multi_units] self.cr = command_runner self.underlying = underlying self.destroy = destroy self.boxes = [] self.bgroup = [] first_index = 0 for i, charm_class in enumerate(charm_classes): charm = charm_class(juju_state=juju_state) if charm.name() and not first_index: first_index = i r = RadioButton(self.bgroup, charm.name()) r.text_label = charm.name() self.boxes.append(r) self.count_editor = IntEdit("Number of units to add: ", 1) self.boxes.append(self.count_editor) wrapped_boxes = _wrap_focus(self.boxes) bs = [Button("Ok", self.yes), Button("Cancel", self.no)] wrapped_buttons = _wrap_focus(bs) self.buttons = Columns(wrapped_buttons) self.items = ListBox(wrapped_boxes) self.items.set_focus(first_index) ba = BoxAdapter(self.items, height=len(wrapped_boxes)) self.lb = ListBox([ba, Text(""), self.buttons]) self.w = LineBox(self.lb, title="Add unit") self.w = AttrMap(self.w, "dialog") Overlay.__init__(self, self.w, self.underlying, 'center', 45, 'middle', len(wrapped_boxes) + 4)