def build_buffs(self): # Buffs buffs = self.ids['buffs'] buffs.clear_widgets() buffs.bind(minimum_height=buffs.setter('height')) sorted(self.possible_buffs_list, key=lambda x: x.name) for b in self.possible_buffs_list: ## l = BoxLayout(orientation='horizontal', padding=5, ## size_hint=(1, None), height=30, width=320) ## ## cb = CheckBox(size_hint=(None, None), size=(50,50)) ## cb._buff = b ## cb.bind(active = self.update_buffs) ## l.add_widget(cb) ## ## name = Label(halign='left', size_hint=(None,1), valign='middle') ## name.bind(texture_size=name.setter('size')) ## name.text = b.name ## l.add_widget(name) l = ToggleButton(text=b.name, size_hint=(1, None), height='50sp') l._buff = b l.bind(on_press = self.update_buffs) buffs.add_widget(l) # Management button l = Button(text='Add New Buff...', size_hint=(1, None), height='50sp') l.bind(on_press = self.new_buff) buffs.add_widget(l) # Make sure underling character also has no buffs applied self.c.buffs.clear()