Exemplo n.º 1
0
Arquivo: list.py Projeto: saebyn/nwgui
    def handleEvent(self, event):
        VerticalContainer.handleEvent(self, event)

        # find clicks on children, do select
        if event.type == MOUSEBUTTONDOWN:
            position = pygame.mouse.get_pos()
            for index in xrange(0, len(self.items)):
                if self.items[index][1].rect.collidepoint(position):
                    self.select(index)
                    return

            self.unselect()
        # handle keys up and down, do scroll/select
        elif event.type == KEYDOWN:
            if event.key == K_UP:
                try:
                    index = self.selectedItem - 1
                except ValueError:
                    return

                if index >= 0:
                    self.scrollUp()
                    self.select(index)
            elif event.key == K_DOWN:
                try:
                    index = self.selectedItem + 1
                except ValueError:
                    return

                if index < len(self.items):
                    self.scrollDown()
                    self.select(index)