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)
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()
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()
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()
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()
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
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()
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()
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)
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)
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
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
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)
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)
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)
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)
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()
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)
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)