

def __init__(self, frame, items):
    'items: list of views; str(item) used for selection display'
    assert (len(items) > 0)
    view.View.__init__(self, pygame.Rect(frame.topleft, (1, 1)))
    self.on_selection_changed = callback.Signal()
    self.on_list_opened = callback.Signal()
    self.top_label = label.Label(pygame.Rect(0, 0, 1, 1), '')
    self.top_label.halign = label.LEFT
    self.top_label._enabled = True
    self.top_label.on_mouse_down.connect(self.show_list)
    self.add_child(self.top_label)
    self.list_view = listview.ListView(pygame.Rect(0, 0, 1, 1), items)
    self.list_view.on_selected.connect(self.item_selected)
    self.list_view.on_deselected.connect(self.item_deselected)
    self.scroll_view = scroll.ScrollView(pygame.Rect(0, 0, 1, 1), self.list_view)
    self.scroll_view.hidden = True
    self.add_child(self.scroll_view)
    self.disclosure = button.Button(pygame.Rect(0, 0, 1, 1), caption='')
    self.disclosure.on_clicked.connect(self._toggle_show_list)
    self.add_child(self.disclosure)

dataset/ETHPy150Open fictorial/pygameui/pygameui/select.py SelectView.__init__/original