def initTable(self): self.column1.adapter = ListAdapter(data=['ID'], cls=ListButton) self.column2.adapter = ListAdapter(data=['Name'], cls=ListButton) self.column3.adapter = ListAdapter(data=['Armor'], cls=ListButton) self.column4.adapter = ListAdapter(data=['Bonus'], cls=ListButton) self.column5.adapter = ListAdapter(data=['Cost'], cls=ListButton) self.column1weapon.adapter = ListAdapter(data=['ID'], cls=ListButton) self.column2weapon.adapter = ListAdapter(data=['Name'], cls=ListButton) self.column3weapon.adapter = ListAdapter(data=['Damage'], cls=ListButton) self.column4weapon.adapter = ListAdapter(data=['Bonus'], cls=ListButton) self.column5weapon.adapter = ListAdapter(data=['Cost'], cls=ListButton) elementsList = [ 'helm', 'shoulders', 'chestplate', 'gloves', 'pants', 'boots' ] list = [] for i in range(0, len(elementsList), 1): _SQL = 'select id_' + elementsList[ i] + ' from equipment JOIN player ON player.id_equipment=equipment.id_equipment' cursor.execute(_SQL) s = str(cursor.fetchall()[0][0]) _SQL = 'select * from ' + elementsList[ i] + ' JOIN equipment ON equipment.id_' + elementsList[ i] + '=' + elementsList[i] + '.id_' + elementsList[ i] + ' where equipment.id_' + elementsList[i] + '=' + s cursor.execute(_SQL) list.append(cursor.fetchall()) self.column1.adapter.data.extend([str(list[i][0][0])]) self.column1._trigger_reset_populate() self.column2.adapter.data.extend([str(list[i][0][1])]) self.column2._trigger_reset_populate() self.column3.adapter.data.extend([str(list[i][0][2])]) self.column3._trigger_reset_populate() self.column4.adapter.data.extend([str(list[i][0][3])]) self.column4._trigger_reset_populate() self.column5.adapter.data.extend([str(list[i][0][4])]) self.column5._trigger_reset_populate() list = [] _SQL = 'select id_weapon from equipment JOIN player ON player.id_equipment=equipment.id_equipment' cursor.execute(_SQL) s = str(cursor.fetchall()[0][0]) _SQL = 'select * from weapon JOIN equipment ON equipment.id_weapon=weapon.id_weapon where equipment.id_weapon=' + s cursor.execute(_SQL) list.append(cursor.fetchall()) self.column1weapon.adapter.data.extend([str(list[0][0][0])]) self.column1weapon._trigger_reset_populate() self.column2weapon.adapter.data.extend([str(list[0][0][1])]) self.column2weapon._trigger_reset_populate() self.column3weapon.adapter.data.extend([str(list[0][0][2])]) self.column3weapon._trigger_reset_populate() self.column4weapon.adapter.data.extend([str(list[0][0][3])]) self.column4weapon._trigger_reset_populate() self.column5weapon.adapter.data.extend([str(list[0][0][4])]) self.column5weapon._trigger_reset_populate()
def __init__(self, **kwargs): super(MainLayout, self).__init__(**kwargs) self.args_converter = lambda row_index, rec: \ {'size_hint_y': None, 'height': 30, 'spacing':8, 'is_selected':False, 'cls_dicts': [{'cls':ListItemLabel, 'kwargs': {'text': rec['firstname'],'size_hint_x': .2,'size_hint_y': None,'height': 25, 'font_size': '12sp'}}, {'cls': ListItemLabel, 'kwargs': {'text': rec['lastname'],'size_hint_x': .2,'size_hint_y': None,'height': 25,'font_size': '12sp'}}, {'cls': ListItemLabel, 'kwargs': {'text': rec['role'],'size_hint_x': .2,'size_hint_y': None,'height': 25,'font_size': '12sp'}}, {'cls': MyListItemButton, 'kwargs': {'text': u'edit','size_hint_x': .2,'size_hint_y': None,'height': 25,'font_size': '12sp', 'disabled': False, 'on_press':self.find_user}}, {'cls': MyListItemButton, 'kwargs': {'text': u'delete','size_hint_x': .2,'size_hint_y': None,'height': 25,'font_size': '12sp','disabled': False, 'on_press':self.delete_user}}, ]} self.list_adapter = ListAdapter(data=[], args_converter=self.args_converter, selection_mode='none', allow_empty_selection=True, cls=CompositeListItem) list_view = ListView(adapter=self.list_adapter) self.lv_users_box.add_widget(list_view) self.args_converter_order = lambda row_index, rec: \ {'size_hint_y': None, 'height': 30, 'spacing':8, 'is_selected':False, 'cls_dicts': [{'cls':ListItemLabel, 'kwargs': {'text': str(row_index+1),'size_hint_x': .2,'size_hint_y': None,'height': 25, 'font_size': '12sp'}}, {'cls': ListItemLabel, 'kwargs': {'text': rec['table'],'size_hint_x': .2,'size_hint_y': None,'height': 25,'font_size': '12sp'}}, {'cls': ListItemLabel, 'kwargs': {'text': rec['status'],'size_hint_x': .2,'size_hint_y': None,'height': 25,'font_size': '12sp'}}, {'cls': ListItemLabel, 'kwargs': {'text': str(rec['total']),'size_hint_x': .2,'size_hint_y': None,'height': 25,'font_size': '12sp'}}, ]} self.order_adapter = ListAdapter( data=[], args_converter=self.args_converter_order, selection_mode='none', allow_empty_selection=True, cls=CompositeListItem) self.list_view_order = ListView(adapter=self.order_adapter) self.lv_orders_box.add_widget(self.list_view_order) self.choice_role_user() #dropdown
def initialize(self, passphrase): self.block = False # Make instance of Manager manager = Manager(passphrase) if not manager.load(): print('error: Data load failed on initialization. exit.') exit() self.manager = manager # Initialize FILE listview def file_args_converter(index, rec): return { 'text': rec.title, 'size_hint_y': None, 'height': 60 } file_adapter = ListAdapter( data=manager.files, args_converter=file_args_converter, selection_mode='single', allow_empty_selection=False, cls=Factory.MyListItem ) file_adapter.bind(on_selection_change=self.file_changed) self.ids['lvfile'].adapter = file_adapter # Initialize ITEM listview def item_args_converter(index, rec): return { 'text': rec.key + ': ' + rec.value, 'size_hint_y': None, 'height': 60 } list_adapter = ListAdapter( data=[], args_converter=item_args_converter, selection_mode='single', allow_empty_selection=False, cls=Factory.MyListItem ) list_adapter.bind(on_selection_change=self.list_changed) self.ids['lvitem'].adapter = list_adapter # Make drop-down menu( config ) self.config_menu = Factory.ConfigMenu() self.ids['f_config'].bind(on_release=self.config_menu.open) def on_select(menu, item): if item == 'm_change': self.on_change_password() self.config_menu.bind(on_select=on_select) # Select first file self.listview_select(file_adapter, 0)
def __init__(self, root="", path="", **kwargs): self.path = path def args_converter(row_index, rec): return {'dir1': rec[0]['direntry'], 'dir2': rec[1]['direntry'], 'thumb1': rec[0]['thumb_url'], 'thumb2': rec[1]['thumb_url'], 'orientation1': rec[0]['orientation'], 'orientation2': rec[1]['orientation'], 'direntry_selected': rec[0]['direntry_selected']} self.adapter = adapter = ListAdapter( data=[], args_converter=args_converter, cls=DirlistRow, selection_mode='none' ) super(Dirlist, self).__init__(adapter=adapter, **kwargs) scrollview = self.children[0] scrollview.scroll_timeout = 500 scrollview.scroll_distance = 5
def __init__(self, **kwargs): super(MapChoice, self).__init__(**kwargs) self.root = Builder.load_string(kv) self.map_items = kwargs.get('map_items', []) list_item_args_converter = \ lambda row_index, selectable: {'name': selectable.name, 'max_zoom': selectable.max_zoom, 'description': selectable.description, 'size_hint_y': None, 'is_selected': selectable.is_selected, 'select_change_callback': selectable.on_selection_change, 'calibration_callback': selectable.on_calibration, 'index': row_index} map_list_adapter = \ ListAdapter(data=self.map_items, args_converter=list_item_args_converter, selection_mode='single', allow_empty_selection=False, template='CustomListItem') list_view = ListView(adapter=map_list_adapter) # map_list_adapter.bind(on_selection_change=self.callback_function) self.add_widget(list_view)
def update_display(self): self._sounds = [] if self._categorie is None: return self.title_button.text = "Sound Box / " + self._categorie os.chdir("sounds") os.chdir(self._categorie) for aFilename in glob.glob("*"): self._sounds.append(aFilename[:-4]) os.chdir("../..") list_item_args_converter = \ lambda row_index, obj: {'text': obj, 'index': row_index, 'is_selected': False } my_adapter = ListAdapter(data = self._sounds, args_converter=list_item_args_converter, selection_mode='single', allow_empty_selection=True, template='CustomListItemSound') my_adapter.bind(on_selection_change=self.item_changed) self.containerListView.adapter = my_adapter
def on_pre_enter(self, *args): members = list(self.network.hashgraph.known_members.values()) members.sort(key=lambda x: x.formatted_name) self.data = [{'member': m, 'is_selected': False} for m in members if m != self.network.me] def args_converter(row_index, rec): return { 'text': rec['member'].formatted_name, 'height': 40 } list_adapter = ListAdapter(data=self.data, args_converter=args_converter, cls=self.MemberListItemButton, selection_mode='single', propagate_selection_to_data=True, allow_empty_selection=True) def selection_change_callback(adapter): if len(adapter.selection) == 1: self.ids.send_button.disabled = False list_adapter.bind(on_selection_change=selection_change_callback) self.list_view = ListView(adapter=list_adapter, size_hint_x=0.8) self.ids.receiver_layout.add_widget(self.list_view)
def build(self): kitaplar = [{ 'adi': 'Python', 'yazari': 'Mustafa Başer', 'yayinevi': 'Dikeyeksen' }, { 'adi': 'Ruby', 'yazari': 'Timur Karaçay', 'yayinevi': 'Seçkin' }, { 'adi': 'Perl-CGI', 'yazari': 'Rıza Çelik', 'yayinevi': 'Seçkin' }, { 'adi': 'Php', 'yazari': 'Mehmet Şamlı', 'yayinevi': 'Kodlab' }] liste_adaptoru = ListAdapter(args_converter=self.argumanCevirici, data=kitaplar, cls=ListItemButton, allow_empty_selection=False) listeGorunumu = ListView(adapter=liste_adaptoru) return listeGorunumu
def set_adapter(self): '''Set ListAdapter properties and selection change binding.''' self.adapter = ListAdapter(data=playlist, selection_mode='single', allow_empty_selection=False, cls=ListItemButton) self.adapter.bind(on_selection_change=self.selection_change)
def populate_inventory(self, *args): list_view = ListView(id="list_view", adapter=ListAdapter( data=select_inventory(current_user), cls=ItemListButton, selection_mode='multiple')) self.grid1.add_widget(list_view)
def build_adapter(self): return ListAdapter( data=OutgoModel.all(), args_converter=lambda index, outgo: \ {'outgo': outgo}, template='ListItemWidget', selection_mode='multiple')
def __init__(self, **kwargs): def items_args_converter(row_index, rec): return { 'text': rec.name, 'value': str(rec.value), 'unit': rec.unit, 'size_hint_y': None, 'height': 20, 'cls_dicts': [{ 'cls': ListItemButton, 'kwargs': { 'text': rec.name, 'size_hint_x': 0.6, 'is_representing_cls': True}}, {'cls': ListItemLabel, 'kwargs': {'text': str(rec.value)[:6], 'size_hint_x': 0.3}}, {'cls': ListItemLabel, 'kwargs': {'text': rec.unit, 'size_hint_x': 0.1}}]} self.list_adapter = ListAdapter( data={}, args_converter=items_args_converter, selection_mode='single', allow_empty_selection=True, propagate_selection_to_data=True, cls=CompositeListItem) self.list_adapter.bind(on_selection_change=self.reg_selection_changed) super(RegDictView, self).__init__(**kwargs) self.add_widget(ListView(adapter=self.list_adapter)) self.slider_view = RegSliderView(reg_index=0, list_adapter=self.list_adapter) self.add_widget(self.slider_view)
def videoArchiveBtnCallback(self): setDisplaySleepTime(9999,1) data = getVideoList() listData = [] for d in data: listData.append(d.id + " " + d.time.strftime('%d. %b - %H:%M:%S')) list_adapter = ListAdapter(data=listData, cls=VideoListItemButton, selection_mode='single', allow_empty_selection=False) player = VideoPlayer(source=data[0].path, state='play', options={'allow_stretch': True}) root = GridLayout(cols=2) popup = Popup(title='Video archív - '+data[0].time.strftime('%d. %b - %H:%M:%S'), content=root, size_hint=(1, 1)) list_adapter.bind(on_selection_change=partial(videoArchiveItemSelected,player, popup)) layout1 = BoxLayout(orientation='vertical') layout2 = BoxLayout(orientation='vertical') videoList = ListView(adapter=list_adapter) btn = Button(text='Zatvoriť', size_hint_y=0.2) layout1.add_widget(videoList) layout2.add_widget(player) layout2.add_widget(btn) root.add_widget(layout1) root.add_widget(layout2) btn.bind(on_press=partial(videoArchiveExitBtnCallback,popup)) popup.open()
def on_channels(self, instance, value): ''' Set the list of available channels for this view. Uses the Kivy ListAdapter to adapt the string channel name into a data structure that can track selection in the UI. ''' data = [] channel_list = self.ids.channelList for channel in self.channels: data.append({'text': str(channel), 'is_selected': False}) args_converter = lambda row_index, rec: { 'text': rec['text'], 'size_hint_y': None, 'height': dp(50) } list_adapter = ListAdapter( data=data, args_converter=args_converter, cls=ChannelItemButton, selection_mode='multiple' if self.multi_select else 'single', allow_empty_selection=True) channel_list.adapter = list_adapter list_adapter.bind(on_selection_change=self.on_select)
def __init__(self, **kwargs): self.data = list() for x in range(0, len(Active.cl.c_list)): self.data.append({ 'hostname': Active.cl.c_list[x].name, 'ip': Active.cl.c_list[x].ip }) self.list_adapter = ListAdapter(data=self.data, args_converter=self.formatter, cls=ClCompositeListItem, selection_mode='single', allow_empty_selection=False) super(ListViewModal, self).__init__(**kwargs) self.list_view = ListView(adapter=self.list_adapter) self.add_widget(self.list_view) if len(self.data) is 0: detail_view = ClientDetailView(cl_name="List is empty", size_hint=(.6, 1.0)) else: detail_view = ClientDetailView(cl_name=self.list_adapter.selection[0].text, size_hint=(.6, 1.0)) self.list_adapter.bind( on_selection_change=detail_view.cl_changed) self.add_widget(detail_view) Clock.schedule_interval(self.callback, 5)
def __init__(self, *args, **kwargs): super(EditProducts, self).__init__(*args, **kwargs) args_converter_edit = lambda row_index, rec: \ {'size_hint_y': None, 'height': 30, 'spacing':8, 'is_selected':True, 'text':rec['text'], 'active':rec['active'], 'cls_dicts': [{'cls':ListItemLabel, 'kwargs': {'text':rec['text'], 'color': [0,0,0, 0.95], 'size_hint_x': .2,'size_hint_y': None,'height': 25, 'font_size': '12sp'}}, {'cls':MyCheckBox, 'kwargs': {'active':rec['active'], 'size_hint_x': .2,'size_hint_y': None,'height': 25, 'font_size': '12sp', 'on_press': self.on_active}} ]} self.choices_adapter = ListAdapter( data=[], #edit_adapter args_converter=args_converter_edit, selection_mode='none', allow_empty_selection=True, cls=CompositeListItem) self.list_view_choices = ListView(adapter=self.choices_adapter) self.choices_oprop.add_widget(self.list_view_choices)
def build(self): Config.set('kivy', 'exit_on_escape', 0) self.title = 'RadioBox' self.icon = 'resources/images/icon.ico' # set app directory path StationUtils.radiobox_directory_path = self.user_data_dir # load stations saved_stations = StationUtils.get_saved_stations_list() for i in range(len(saved_stations)): if saved_stations[i].name == '': saved_stations[i].name = 'station #{0}'.format(i + 1) # create list adapter self.list_adapter = ListAdapter(data=saved_stations, args_converter=self.converter, selection_mode='single', allow_empty_selection=True, cls='ListItem') # create main screen ps = PlayerScreen(self.list_adapter) # bindings self.bind(on_stop=self.save_stations_to_file) Window.minimum_width = 400 Window.minimum_height = 300 Window.size = (500, 400) return ps
def __init__(self, **kwargs): super(ChannelSelectView, self).__init__(**kwargs) self.register_event_type('on_channel_selected') self.register_event_type('on_channel_cancel') settings = kwargs.get('settings') type = kwargs.get('type') channel = kwargs.get('channel') data = [] channel_list = self.ids.channelList for available_channel, channelMeta in settings.systemChannels.channels.iteritems( ): channel_type = channelMeta.type data.append({'text': available_channel, 'is_selected': False}) args_converter = lambda row_index, rec: { 'text': rec['text'], 'size_hint_y': None, 'height': dp(50) } list_adapter = ListAdapter(data=data, args_converter=args_converter, cls=ChannelItemButton, selection_mode='single', allow_empty_selection=True) channel_list.adapter = list_adapter list_adapter.bind(on_selection_change=self.on_select) self.channel = channel
def __init__(self, **kwargs): super(MainView, self).__init__(**kwargs) data_items = [] data_items.append(DataItem()) data_items.append(DataItem()) data_items.append(DataItem()) list_item_args_converter = lambda row_index, obj: { 'text': obj.name, 'size_hint_y': None, 'height': 25 } self.list_adapter = \ ListAdapter(data=data_items, args_converter=list_item_args_converter, selection_mode='single', propagate_selection_to_data=False, allow_empty_selection=False, cls=ListItemButton) self.list_view = ListView(adapter=self.list_adapter) self.add_widget(self.list_view) self.toggle = 'adding' Clock.schedule_interval(self.update_list_data, 1)
def test_list_adapter_selection_mode_single(self): list_adapter = ListAdapter(data=fruit_data_items, args_converter=self.args_converter, selection_mode='single', propagate_selection_to_data=True, allow_empty_selection=True, cls=ListItemButton) list_view = ListView(adapter=list_adapter) # The reason why len(selection) == 0 here is because ListView, # at the end of its __init__(), calls check_for_empty_selection() # and does NOT trigger the initial selection, because we set # allow_empty_selection = True. self.assertEqual(len(list_adapter.selection), 0) list_adapter.check_for_empty_selection() # Nothing should have changed by that call, because still we have # allow_empty_selection = True, so no action in that check. self.assertEqual(len(list_adapter.selection), 0) # Still no selection, but triggering a selection should make len = 1. # So, first we need to select the associated data item. self.assertEqual(fruit_data_items[0].name, 'Apple') fruit_data_items[0].is_selected = True apple = list_view.adapter.get_view(0) self.assertEqual(apple.text, 'Apple') self.assertTrue(apple.is_selected) self.assertEqual(len(list_adapter.selection), 1)
def set_passwords(self, passwords_raw): passwords = [] for password_raw in passwords_raw: password = password_raw password.update({ "title": self.decrypt(password_raw["title"]), "body": self.decrypt(password_raw["body"]) }) passwords.append(password) self.passwords = passwords adapter_items = [] for password in passwords: mylist_item = password mylist_item.update({"is_selected": False}) adapter_items.append(mylist_item) args_converter = lambda row_index, rec: { 'text': rec['title'], 'size_hint_y': None, 'height': 25 } list_adapter = ListAdapter(data=adapter_items, args_converter=args_converter, propagate_selection_to_data=True, cls=ListItemButton, selection_mode='single') list_adapter.bind(on_selection_change=self.set_password_detail) self.ids.listview_mylist_items.adapter = list_adapter
def __init__(self, **kwargs): super(PlayersList, self).__init__(**kwargs) player_args_coverter = lambda row_index, nick: { "nick": nick, "size_hint_y": None, "height": "30dp", "pos_hint_y": 0.9 } list_adapter = ListAdapter(data=["Ginaria", "Celestia"], args_converter=player_args_coverter, selection_mode='single', allow_empty_selection=True, cls=PlayersListItem) list_view = ListView(adapter=list_adapter, size_hint=(1.0, 1.0), pos_hint={'center_x': 0.5}) def data_changed(instance, value): list_adapter.data = value self.bind(items=data_changed) self.add_widget(list_view)
def load_task_list(self, attribute,task_list,selected_color, deselected_color, empty_message="There's no tasks here =/"): dados = data.retrieve_data(attr=attribute) if len(dados) == 0: task_list.add_widget(Label(text=empty_message)) else: for c in task_list.children: if type(c).__name__ == 'Label': task_list.remove_widget(c) item_args_converter = lambda row_index, obj:{'name':'[b][size=16]' + obj.name + '[/size][/b]', 'date': '[i]' + obj.date + '[/i]', 'value': obj.value[:60] + '...', 'selected_color' : selected_color, 'deselected_color' : deselected_color, 'size_hint_y': None, 'screen_manager': self.screen_manager, 'task_board':self, 'task_parent': obj, 'height':150, 'is_selected':False, 'markup':True} list_adapter = ListAdapter(data=dados, args_converter = item_args_converter, selection_mode = 'single', propagate_selection_to_data=False, allow_empty_selection=False, cls=ListTask) task_list.adapter = list_adapter
def busca(self): del self.lista[:] #self.dic_items = {} self.dic_items.clear() cad = self.i_buscar_cadena.text.lower() if self.ids.sw_ignora.active: cad = self.traduce(cad) if self.ids.cb_y.active: for i in range(len(self.items)): if self.cadena_en_texto_ignora(i,cad) and self.clave_en_claves(i): self.dic_items[self.repe(self.items[i])] = i else: for i in range(len(self.items)): if self.cadena_en_texto_ignora(i,cad) or self.clave_en_claves(i): self.dic_items[self.repe(self.items[i])] = i else: if self.ids.cb_y.active: for i in range(len(self.items)): if self.cadena_en_texto(i,cad) and self.clave_en_claves(i): self.dic_items[self.repe(self.items[i])] = i else: for i in range(len(self.items)): if self.cadena_en_texto(i,cad) or self.clave_en_claves(i): self.dic_items[self.repe(self.items[i])] = i self.lista = sorted(self.dic_items.keys(), reverse = True) #self.lista.sort() self.ids.lis_panta.adapter = ListAdapter(data=[], cls=BotonDeLista, args_converter=self.args_converter, selection_mode='single') self.titulo_lista = 'Registros encontrados: ' + str(len(self.lista)) self.ids.b_lista_izq.text = 'Menu' self.ids.b_lista_cen.text = 'Exportar' self.ids.b_lista_der.text = 'Buscar' self.ids.b_lista_over.text = 'Eliminar' self.listando_claves = False self.rellena("items") self.current = 'sc_lista'
def makeMenu(self, selected): self.leftgrid_id.clear_widgets() buttons = ["Home", "Conversations", "People", "Notebooks"] detail = ["nothing"] sel = "" for b in buttons: b1 = Button(size_hint_y=None, height=50, text=b, id=b + "Button") b1.bind(on_press=self.buttonAction) self.leftgrid_id.add_widget(b1) if selected == b: self.sect = b gl = GridLayout(size_hint_y=1, cols=2) if b == "Home": la = ListAdapter(data=self.home, cls=ListItemButton, allow_empty_selection=False) la.bind(on_selection_change=self.la_callback) if b == "People": la = ListAdapter(data=self.contacts, cls=ListItemButton, allow_empty_selection=False) la.bind(on_selection_change=self.la_callback) if b == "Notebooks": la = ListAdapter(data=self.notebooks, cls=ListItemButton, allow_empty_selection=False) la.bind(on_selection_change=self.la_callback) if b == "Conversations": la = ListAdapter(data=self.conversations, cls=ListItemButton, allow_empty_selection=False) la.bind(on_selection_change=self.la_callback) lv = ListView(adapter=la, padding=10, spacing=10, size_hint_x=.8, size_hint_y=.8) sel = la.selection b2 = Label(size_hint_x=None, width=10, text=" ") gl.add_widget(b2) gl.add_widget(lv) self.leftgrid_id.add_widget(gl) self.drawMain(sel[0].text)
def set_adapter(self): self.adapter = ListAdapter(data=self.teams, args_converter=self.args_converter, selection_mode='single', allow_empty_selection=True, cls=ListItemButton) self.adapter.bind(on_selection_change=self.on_selection_change)
def __init__(self, class_rule_list, **kwargs): super(SelectClass, self).__init__(**kwargs) item_strings = [_rule.name for _rule in class_rule_list] adapter = ListAdapter(cls=ListItemButton, data=item_strings, selection_mode='single', allow_empty_selection=False) self.listview = ListView(adapter=adapter) self.add_widget(self.listview, 1)
def __init__(self, ws, **kwargs): super(BaseListScreen, self).__init__(ws, **kwargs) self.adapter = ListAdapter(data=[], cls=MopidyListItem, args_converter=self.args_converter) self.adapter.selection_mode = 'single' self.adapter.selection_limit = 1 self.ids.list_view.adapter = self.adapter self.adapter.bind(on_selection_change=self.on_selection_change)
def __init__(self, file_list, **kwargs): super(RecentDialog, self).__init__(**kwargs) item_strings = file_list adapter = ListAdapter(cls=ListItemButton, data=item_strings, selection_mode='single', allow_empty_selection=False) self.listview = ListView(adapter=adapter) self.add_widget(self.listview, 1)
def _build_adapter(self): self.list_adapter = ListAdapter( cls=ListItemButton, data=self.list_data, args_converter=self.adapter_converter(), selection_mode='single', allow_empty_selection=True) self.list_adapter.bind(on_selection_change=self.on_selection_change) return self.list_adapter