示例#1
0
    def __init__(self, **kwargs):
        # Check for an adapter argument. If it doesn't exist, we
        # check for item_strings in use with SimpleListAdapter
        # to make a simple list.
        if 'adapter' not in kwargs:
            if 'item_strings' not in kwargs:
                # Could be missing, or it could be that the ListView is
                # declared in a kv file. If kv is in use, and item_strings is
                # declared there, then item_strings will not be set until after
                # __init__(). So, the data=[] set will temporarily serve for
                # SimpleListAdapter instantiation, with the binding to
                # item_strings_changed() handling the eventual set of the
                # item_strings property from the application of kv rules.
                list_adapter = SimpleListAdapter(data=[],
                                                 cls=Label)
            else:
                list_adapter = SimpleListAdapter(data=kwargs['item_strings'],
                                                 cls=Label)
            kwargs['adapter'] = list_adapter

        super(ListView, self).__init__(**kwargs)

        self._trigger_populate = Clock.create_trigger(self._spopulate, -1)

        self.bind(size=self._trigger_populate,
                  pos=self._trigger_populate,
                  item_strings=self.item_strings_changed,
                  adapter=self._trigger_populate)

        # The bindings setup above sets self._trigger_populate() to fire
        # when the adapter changes, but we also need this binding for when
        # adapter.data and other possible triggers change for view updating.
        # We don't know that these are, so we ask the adapter to set up the
        # bindings back to the view updating function here.
        self.adapter.bind_triggers_to_view(self._trigger_populate)
示例#2
0
    def listaCaes(self, a):
        box = GridLayout(cols=1, rows=5, spacing=[0, 10])

        nao_adotados = self.dados.getDoguinhosNaoAdotados()

        adotados = self.dados.getDoguinhosAdotados()
        box.add_widget(Label(text='Cães Não Adotados', size_hint_y=0.15))
        dados_nao_adotados = []
        for dog in nao_adotados:
            dog_infos = dog.getInfos()
            dados_nao_adotados.append("ID: {0}     Nome: {1}".format(
                dog_infos[0], dog_infos[1]))
            dados_nao_adotados.append("Raça: {0}     Sexo: {1}".format(
                dog_infos[2], dog_infos[3]))
            dados_nao_adotados.append("Porte: {0}     Idade: {1}".format(
                dog_infos[4], dog_infos[5]))
            if dog_infos[6] == "1":
                stat = "Apto para adoção."
            else:
                stat = "Inapto para adoção."
            dados_nao_adotados.append("Status: {0}".format(stat))
            dados_nao_adotados.append("{0}".format(dog_infos[7]))
            dados_nao_adotados.append('')
            dados_nao_adotados.append('')

        simple_list_adapter = SimpleListAdapter(data=dados_nao_adotados,
                                                cls=Label)
        list_view1 = ListView(adapter=simple_list_adapter)
        box.add_widget(list_view1)

        box.add_widget(Label(text='Cães Adotados', size_hint_y=0.15))

        dados_adotados = []
        for dog in adotados:
            dog_infos = dog.getInfos()
            dados_adotados.append("ID: {0}     Nome: {1}".format(
                dog_infos[0], dog_infos[1]))
            dados_adotados.append("Raça: {0}     Sexo: {1}".format(
                dog_infos[2], dog_infos[3]))
            dados_adotados.append("Porte: {0}     Idade: {1}".format(
                dog_infos[4], dog_infos[5]))
            dados_adotados.append("{0}".format(dog_infos[7]))
            dados_adotados.append('')
            dados_adotados.append('')

        simple_list_adapter2 = SimpleListAdapter(data=dados_adotados,
                                                 cls=Label)
        list_view2 = ListView(adapter=simple_list_adapter2)
        box.add_widget(list_view2)

        fechar_botao = Button(text='Fechar', size_hint_y=0.2)
        box.add_widget(fechar_botao)
        self.popupListaCaes = Popup(title='Lista de Cães',
                                    content=box,
                                    size_hint=(None, None),
                                    size=(600, 600))
        fechar_botao.bind(on_press=self.popupListaCaes.dismiss)

        self.popupListaCaes.open()
示例#3
0
    def view_student(self):
        self.update_info()
        if self.grade12s_list.adapter.selection:
            # getting selected item name
            selection = self.grade12s_list.adapter.selection[0].text

            # creating layout for tab
            content = GridLayout(cols=2)
            col1 = GridLayout(cols=1)
            col2 = GridLayout(cols=1)
            col1.add_widget(Label(text="Student Name: " + selection))
            for i in self.grade12_list:
                if i[1] == selection:
                    col1.add_widget(Label(text="Grade: " + i[2]))
                    col1.add_widget(Label(text="Student ID: " + str(i[4])))
                    col1.add_widget(
                        Label(text="Accumulated Points: " + str(i[3])))
                    simple_list_adapter = SimpleListAdapter(
                        data=i[6].split('.')[1:], cls=Label)

            col2.add_widget(
                Label(text='Student Rewards History',
                      size_hint_y=None,
                      height=40))
            activity_history = ListView(adapter=simple_list_adapter)
            col2.add_widget(activity_history)
            content.add_widget(col1)
            content.add_widget(col2)
            popup = Popup(title=selection,
                          content=content,
                          size_hint=(None, None),
                          size=(800, 500))
            popup.open()
示例#4
0
    def listaTut(self, a):
        box = GridLayout(cols=1, rows=3)
        box.add_widget(Label(text='Lista de Tutores', size_hint_y=0.15))
        tutores = self.dados.getTutores()
        dados = []
        for tut in tutores:
            tutInfos = tut.getInfos()
            dados.append("ID: {0}   Nome: {1}   CPF: {2}".format(
                tutInfos[0], tutInfos[1], tutInfos[3]))
            telefone = tutInfos[4]
            telefone = telefone[:-4] + "-" + telefone[-4:]
            dados.append("Endereço: {0}   Telefone: {1}".format(
                tutInfos[2], telefone))
            dados.append('')
            dados.append('')

        simple_list_adapter = SimpleListAdapter(data=dados, cls=Label)
        list_view1 = ListView(adapter=simple_list_adapter)
        box.add_widget(list_view1)
        botao = Button(text='Fechar', size_hint_y=0.2)
        box.add_widget(botao)
        self.popupListaTutores = Popup(title='Lista de Tutores',
                                       content=box,
                                       size_hint=(None, None),
                                       size=(600, 600))
        botao.bind(on_press=self.popupListaTutores.dismiss)

        self.popupListaTutores.open()
示例#5
0
    def listaAdoc(self, a):
        box = GridLayout(cols=1, rows=3)
        box.add_widget(Label(text='Lista de Adoções', size_hint_y=0.15))
        adocoes = self.dados.getAdocoes()
        dados = []
        for ad in adocoes:
            adInfos = ad.getInfos()
            for dog in self.dados.doguinhos:
                if dog.getId() == adInfos[0]:
                    nome = dog.getNome()
            for tutor in self.dados.tutores:
                if tutor.getId() == adInfos[1]:
                    nome_tutor = tutor.getNome()
            dados.append("ID do cão: {0}   Nome do cão: {1}".format(
                adInfos[0], nome))
            dados.append("ID do tutor: {0}   Nome do tutor: {1}".format(
                adInfos[1], nome_tutor))
            dados.append("Data de adoção: {0}".format(adInfos[2]))
            dados.append('')
            dados.append('')

        simple_list_adapter = SimpleListAdapter(data=dados, cls=Label)
        list_view1 = ListView(adapter=simple_list_adapter)
        box.add_widget(list_view1)
        botao = Button(text='Fechar', size_hint_y=0.2)
        box.add_widget(botao)
        self.popupListaAdoc = Popup(title='Lista de Adoções',
                                    content=box,
                                    size_hint=(None, None),
                                    size=(600, 600))
        botao.bind(on_press=self.popupListaAdoc.dismiss)

        self.popupListaAdoc.open()
示例#6
0
    def build(self):
        grid = BoxLayout()
        simple_list_adapter = SimpleListAdapter(
            data=["Item #{0}".format(i) for i in range(100)],
            cls=Label)

        list_view = ListView(adapter=simple_list_adapter)
        grid.add_widget(list_view)
        return grid
示例#7
0
    def view_activity(self):
        self.update_info()
        if self.reward_list.adapter.selection:
            # the selected item name
            selection = self.reward_list.adapter.selection[0].text

            # creating layout in the tab
            content = GridLayout(cols=2)

            col1 = GridLayout(cols=1)
            col1.add_widget(Label(text="Activity Name: " + selection))
            for rewardObject in self.rewarding_list:
                from RRTAA import db_test
                newCode = self.codes.get_new_code()

                if rewardObject[1] == selection:
                    col1.add_widget(
                        Label(text="Date Completed: " + rewardObject[3]))
                    col1.add_widget(
                        Label(text="Amount of Points: " +
                              str(rewardObject[4])))
                    col1.add_widget(Label(text="Code: " + newCode))
                    db_test.update_codes(
                        db_test.con,
                        (rewardObject[5] + '.' + newCode, rewardObject[1]))
                    col1.add_widget(Label(text="Activity Participants: "))
                    simple_list_adapter = SimpleListAdapter(
                        data=rewardObject[6].split('.')[1:], cls=Label)
                    participants = ListView(adapter=simple_list_adapter)
                    col1.add_widget(participants)
                    col1.add_widget(
                        RstDocument(text="Activity Description: " +
                                    rewardObject[2]))

            col2 = GridLayout(cols=2)
            for student in self.grade12_list:
                col2.add_widget(Label(text=student[1]))
                box = CheckBox()
                self.student_checkboxes[student] = box
                col2.add_widget(box)

            # Reward Points Button
            givePoints = Button(text='Reward Points',
                                size_hint_y=None,
                                height=40)
            givePoints.bind(on_press=self.get_active_boxes)
            col1.add_widget(givePoints)

            # adds the layout to the popup tab
            content.add_widget(col1)
            content.add_widget(col2)
            popup = Popup(title=selection,
                          content=content,
                          size_hint=(None, None),
                          size=(800, 500))
            popup.open()
示例#8
0
    def clickSuggestedFriends(self, adapter):
	
	listUser1 = self.network.getSuggestedFriend(self.people)
	lvAdapter = SimpleListAdapter(data=[str(listUser1[i]) for i in range(len(listUser1))],cls=Label)
        lv = ListView(adapter=lvAdapter)
	
	myTitle = str(self.people)
	myTitle += "\nSuggested Friends: ";
	
	popup = Popup(title=myTitle, content=lv, size_hint = (None, None), size=(400,400))
	popup.open()
示例#9
0
    def __init__(self, **kwargs):
        super(MainScreen, self).__init__(**kwargs)

        title = ['----Book page----']
        books = ["book name: {0}".format(i) for i in range(30)]

        simple_list_adapter = SimpleListAdapter(data=title + books, cls=Button)
        print simple_list_adapter
        list_view = ListView(adapter=simple_list_adapter)

        self.add_widget(list_view)
示例#10
0
    def __init__(self, **kwargs):
        super(MainView, self).__init__(**kwargs)
        self.size = (Window.width, Window.height)
        self.adapter = SimpleListAdapter(data=[" "], cls=CustomLabel, args_converter=self.list_item_args_converter)
        self.adapter.data.append("Franek: Witaj, jak mogę cie pomóc?")
        self.list_view = List(adapter=self.adapter)
        self.inp = Input(is_focusable=True)

        self.add_widget(self.list_view)
        self.add_widget(self.inp)
        self.i = 0
        self.inp.bind(on_text_validate=self.click)
    def test_simple_list_view_explicit_simple_list_adapter(self):

        simple_list_adapter = \
            SimpleListAdapter(
                    data=["Item #{0}".format(i) for i in range(100)],
                    cls=Label)

        list_view = ListView(adapter=simple_list_adapter)

        self.assertEqual(type(list_view.adapter), SimpleListAdapter)
        self.assertFalse(hasattr(list_view.adapter, 'selection'))
        self.assertEqual(len(list_view.adapter.data), 100)
        self.assertEqual(type(list_view.adapter.get_view(0)), Label)
示例#12
0
    def build(self):
        duzen = BoxLayout()

        dizin_icerik = os.listdir("/usr")

        basit_liste_adaptoru = SimpleListAdapter(data=dizin_icerik, cls=Button)

        liste = ListView(adapter=basit_liste_adaptoru)

        duzen.add_widget(Label(text="/usr dizini:"))
        duzen.add_widget(liste)

        return duzen
示例#13
0
    def build(self):
        duzen=BoxLayout()
	
        programlama_dilleri=["Perl", "PHP", "Pure", "Python", "Rebol",
                             "Rexx", "Ruby", "Scheme", "Tcl"]
	
        basit_liste_adaptoru = SimpleListAdapter(data=programlama_dilleri, cls=Button)

        liste = ListView(adapter=basit_liste_adaptoru)
        
        duzen.add_widget(Label(text="Programlama Dilleri"))
        duzen.add_widget(liste)

        return duzen
示例#14
0
    def __init__(self, **kwargs):
        # Check for adapter argument
        if 'adapter' not in kwargs:
            list_adapter = SimpleListAdapter(data=[], cls=Label)
            kwargs['adapter'] = list_adapter

        super(ChatLog, self).__init__(**kwargs)

        self._views = []

        populate = self._trigger_populate = Clock.create_trigger(
            self._populate, -1)

        fbind = self.fbind
        fbind('adapter', populate)
        fbind('size', populate)
        fbind('pos', populate)
示例#15
0
    def on_pre_enter(self, *args):
        # Load relevant transactions
        transactions = self.network.hashgraph.get_relevant_transactions()
        # Create updated list

        def args_converter(row_index, rec):
            return {
                'height': 60,
                'markup': True,
                'halign': 'center',
                'text': rec['formatted']
            }

        list_adapter = SimpleListAdapter(data=transactions,
                                         args_converter=args_converter,
                                         cls=Label)

        self.list_view = ListView(adapter=list_adapter, size_hint_y=8)

        self.ids.box_layout.add_widget(self.list_view, index=1)
示例#16
0
    def on_pre_enter(self, *args):
        members = self.network.hashgraph.known_members.values()
        members = [m for m in members if m != self.network.me]
        members.sort(key=lambda x: x.formatted_name)
        # Create updated list

        def args_converter(row_index, rec):
            return {
                'height': 60,
                'markup': True,
                'halign': 'center',
                'text': repr(members[row_index]),
            }

        list_adapter = SimpleListAdapter(data=members,
                                         args_converter=args_converter,
                                         cls=Label)

        self.list_view = ListView(adapter=list_adapter, size_hint_y=8)

        self.ids.box_layout.add_widget(self.list_view, index=1)
示例#17
0
    def __init__(self, **kwargs):
        super(BookScreen, self).__init__(**kwargs)
        total_layout = BoxLayout()

        box_layput = BoxLayout()
        box_layput.add_widget(Label(text="----Book list----"))
        user_button = Button(text='User Setting')
        user_button.bind(on_press=self.setting)
        box_layput.add_widget(user_button)

        books = [
            "<<%s>>  |  borrowed by:  %s" % (book.name, book.user.name)
            if book.user is not None else "<<%s>>  |  not borrowed" % book.name
            for book in Book.select()
        ]

        adapter = SimpleListAdapter(data=books, cls=Button)
        list_view = ListView(adapter=adapter)

        total_layout.add_widget(box_layput)
        total_layout.add_widget(list_view)
        self.add_widget(total_layout)
示例#18
0
    def history(self):
        '''
        Opens popup that displays a list of a student's history
        :return: None
        '''
        # adds number of points and point history to history popup
        con = GridLayout(cols=1)
        con.add_widget(
            Label(text="Points: " + str(current_user.get_points()),
                  size_hint_y=None,
                  height=40))
        self.reward_list = current_user.get_history()
        simple_list_adapter = SimpleListAdapter(data=self.reward_list,
                                                cls=Label)
        rewardsList = ListView(adapter=simple_list_adapter)
        con.add_widget(rewardsList)

        historyPop = Popup(title="Points History",
                           content=con,
                           size_hint=(None, None),
                           size=(500, 300))
        historyPop.open()
示例#19
0
    def __init__(self, block, words):
        super(BlockColumn, self).__init__(cols=1)

        column_title = '[b][color=3333ff]{}[/color][/b]'.format(block.string)
        if block.etymology:
            column_title += '([color=3333ff]{}[/color])'.format(
                block.etymology)
        if block.name:
            column_title += ' - ' + block.name
        if block.meaning:
            column_title += ' - [color=3333ff]{}[/color]'.format(block.meaning)

        self.add_widget(
            Label(text=column_title,
                  font_name=FONT,
                  font_size=30,
                  size_hint_y=0.1,
                  markup=True))

        data = ['{} {}'.format(word[0], word[2]) for word in words]

        def args_converter(row_index, data_item):
            return {
                'text': data_item,
                'font_name': FONT,
                'size_hint_y': None,
                'height': 30
            }

        simple_list_adapter = SimpleListAdapter(data=data,
                                                args_converter=args_converter,
                                                cls=ListItemLabel)

        list_view = ListView(adapter=simple_list_adapter, height=500)

        self.add_widget(list_view)
示例#20
0
    def __init__(self, *args, **kwargs):
        super(OrderScreen, self).__init__(*args, **kwargs)

        self.scoll = ScrollView()
        app = App.get_running_app()
        self.tv_oprop = TreeView(size_hint_y=None,
                                 hide_root=True)  #create trevview
        self.tv_oprop.bind(minimum_height=self.tv_oprop.setter("height"))
        add = self.tv_oprop.add_node
        self.tvfood = add(
            TreeViewButton(text='Food', size=(120, 40),
                           is_open=False))  #TreeViewButton food
        for key in app.menu['Food'].keys():
            add(
                TreeViewButton(
                    text=key,
                    on_press=self.populate_level2,
                    size=(120, 40),
                ), self.tvfood)
        self.tvdrink = add(
            TreeViewButton(text='Drink',
                           size=(120, 40),
                           on_press=self.node_click,
                           is_open=False))
        self.tvfood.bind(on_press=self.node_click)
        for key in app.menu['Drink'].keys():  #TreeViewButton food
            add(
                TreeViewButton(
                    text=key,
                    on_press=self.populate_level2,
                    size=(120, 40),
                ), self.tvdrink)

        self.args_converter_level2 = lambda row_index, rec: {
            'text': rec['text'],
            'price': rec['price'],
            'level1': rec['level1'],
            'level2': rec['level2'],
            'choices': rec['choices'],
            'on_press': self.add_item
        }

        self.level2_adapter = SimpleListAdapter(
            data=[],
            args_converter=self.args_converter_level2,
            selection_mode='single',
            cls=Level2ListItemButton)

        self.args_converter_level3 = lambda row_index, rec: {
            'product': rec['product_name'],
            'price': rec['price'],
            'level1': rec['level1'],
            'level2': rec['level2'],
            'choices': rec['choices'],
            'quantity': rec['quantity'],
            'mychoices': rec['mychoices']
        }

        self.level3_adapter = ListAdapter(
            data=[],
            args_converter=self.args_converter_level3,
            selection_mode='single',
            allow_empty_selection=True,
            template='OrderListItem')

        self.scoll.add_widget(self.tv_oprop)
        self.level1tv_oprop.add_widget(self.scoll, index=1)

        self.list_view_level2 = ListView(adapter=self.level2_adapter)
        self.level2lv_oprop.add_widget(self.list_view_level2)

        self.list_view_level3 = ListView(adapter=self.level3_adapter)
        self.level3lv_oprop.add_widget(self.list_view_level3, index=1)