def __init__(self, **kwargs): super().__init__(**kwargs) icons = list(md_icons.keys())[0:10] for i in range(10): self.ids.box.add_widget( KitchenSinkOneLineLeftIconItem(icon=icons[i], text=f"Item {i}"))
class Example(App): title = 'Example Tabs' theme_cls = ThemeManager() theme_cls.primary_palette = 'BlueGray' theme_cls.theme_style = 'Dark' theme_cls.accent_palette = 'Gray' list_name_icons = list(md_icons.keys())[0:15] def switch_tabs_to_icon(self, istance_android_tabs): for i, instance_tab in enumerate( istance_android_tabs.ids.scrollview.children[0].children): istance_android_tabs.ids.scrollview.children[0].remove_widget( instance_tab) istance_android_tabs.add_widget( MyTab(text=self.list_name_icons[i])) def switch_tabs_to_text(self, istance_android_tabs): for instance_tab in istance_android_tabs.ids.scrollview.children[ 0].children: for k, v in md_icons.items(): if v == instance_tab.text: istance_android_tabs.ids.scrollview.children[ 0].remove_widget(instance_tab) istance_android_tabs.add_widget( MyTab(text=' '.join(k.split('-')).capitalize())) break def build(self): Builder.load_string(demo) screen = Factory.Example() for name_tab in self.list_name_icons: tab = MyTab(text=name_tab) screen.ids.android_tabs.add_widget(tab) return screen
def set_search_list(self, text="", search=False): text = text.lower() def add_search_item(name_icon, callback): app().kv.ids.search_results_container.ids.rv.data.append({ "viewclass": "OneLineAvatarSearchListItem", "source": f"{AVATAR_DIR}/{callback[0].upper()}.png", "text": name_icon, "on_release": lambda: print(callback) }) app().kv.ids.search_results_container.ids.rv.data = [] for name_icon in md_icons.keys(): if search: if text in name_icon: callback_name = name_icon before_text = before(name_icon, text) after_text = after(name_icon, text) name_icon = before_text + f'[b]{text}[/b]' + after_text add_search_item(name_icon, callback_name) else: add_search_item(name_icon)
class Example(MDApp): title = "Example Tabs" list_name_icons = list(md_icons.keys())[0:15] def switch_tabs_to_icon(self, istance_android_tabs): for i, instance_tab in enumerate( istance_android_tabs.ids.scrollview.children[0].children): istance_android_tabs.ids.scrollview.children[0].remove_widget( instance_tab) istance_android_tabs.add_widget( MyTab(text=self.list_name_icons[i])) def switch_tabs_to_text(self, istance_android_tabs): for instance_tab in istance_android_tabs.ids.scrollview.children[ 0].children: for k, v in md_icons.items(): if v == instance_tab.text: istance_android_tabs.ids.scrollview.children[ 0].remove_widget(instance_tab) istance_android_tabs.add_widget( MyTab(text=" ".join(k.split("-")).capitalize())) break def build(self): Builder.load_string(demo) screen = Factory.Example() for name_tab in self.list_name_icons: tab = MyTab(text=name_tab) screen.ids.android_tabs.add_widget(tab) return screen
class KitchenSinkTabs(Screen): list_name_icons = list(md_icons.keys())[0:15] tabs_created = False def on_enter(self): if not self.tabs_created: for name_tab in self.list_name_icons: self.ids.android_tabs.add_widget( Factory.KitchenSinkTabItem(text=name_tab)) self.tabs_created = True def switch_tabs_to_text(self, instance_android_tabs): for instance_tab in instance_android_tabs.ids.scrollview.children[ 0].children: for k, v in md_icons.items(): if v == instance_tab.text: instance_android_tabs.ids.scrollview.children[ 0].remove_widget(instance_tab) instance_android_tabs.add_widget( Factory.KitchenSinkTabItem( text=" ".join(k.split("-")).capitalize())) break def switch_tabs_to_icon(self, instance_android_tabs): for i, instance_tab in enumerate( instance_android_tabs.ids.scrollview.children[0].children): instance_android_tabs.ids.scrollview.children[0].remove_widget( instance_tab) instance_android_tabs.add_widget( Factory.KitchenSinkTabItem(text=self.list_name_icons[i]))
def Show(self): if self.search_bool: Factory.PopSearch().open() else: self.ids.iconbtn.data = [{'icon_':icon_} for icon_ in md_icons.keys()] self.ids.floatbtn.icon = 'magnify' self.search_bool = 1
async def set_list_for_refresh_layout(): names_icons_list = list(md_icons.keys())[self.start:self.end] for name_icon in names_icons_list: await asynckivy.sleep(0) self.ids.box.add_widget( KitchenSinkOneLineLeftIconItem(icon=name_icon, text=name_icon)) self.ids.refresh_layout.refresh_done()
async def set_list_for_refresh_layout(): names_icons_list = list(md_icons.keys())[self.x:self.y] for name_icon in names_icons_list: await asynckivy.sleep(0) self.data["Refresh Layout"]["object"].ids.box.add_widget( ItemForListRefreshLayout(icon=name_icon, text=name_icon)) self.data["Refresh Layout"][ "object"].ids.refresh_layout.refresh_done()
def on_start(self): data = GetSchedule() icons = list(md_icons.keys()) for game in data: helmet = game['team_data']['home']['image'] self.root.ids.scroll.add_widget( #ListItemWithCheckbox(text=f"{game['home']}", icon=icon) listItemWithHelmets(text=f"{game['home']}", source=helmet))
def set_list_md_icons(self, text='', search=False): self.main_widget.ids.scr_mngr.get_screen('md icons').ids.rv.data = [] for name_icon in md_icons.keys(): if search: if text in name_icon: self.add_icon_item(name_icon) else: self.add_icon_item(name_icon)
def __init__(self, **kwargs): super().__init__(**kwargs) self.menu_items = [{ "viewclass": "MDMenuItem", "text": "Example item %d" % i, "callback": self.callback_for_menu_items, } for i in range(15)] self.Window = Window #examen articulos self.articulosCarrito = [] #region variables globales login self.loginEmail = None self.loginPwd = None # Default class instances. self.manager = None self.md_app_bar = None self.instance_menu_demo_apps = None self.instance_menu_source_code = None self.md_theme_picker = None self.long_dialog = None self.input_dialog = None self.alert_dialog = None self.ok_cancel_dialog = None self.long_dialog = None self.dialog = None self.user_card = None self.bs_menu_1 = None self.bs_menu_2 = None self.popup_screen = None self.my_snackbar = None self.dialog_load_kv_files = None self.create_stack_floating_buttons = False self.manager_open = False self.cards_created = False self._interval = 0 self.tick = 0 self.x = 0 self.y = 25 self.file_source_code = "" self.hex_primary_color = get_hex_from_color( self.theme_cls.primary_color) self.previous_text = ( f"Welcome to the application [b][color={self.hex_primary_color}]" f"GiftCard[/color][/b].\n by [b]" f"[color={self.hex_primary_color}]KivyMD[/color][/b] ") self.previous_text_end = ( f"this is a modific design to practical use\n\n" f"Author - [b][color={self.hex_primary_color}]" f"Roberto Lorenzo Aguilar Maldonado[/color][/b]\n") self.demo_apps_list = ["Shop Window"] self.list_name_icons = list(md_icons.keys())[0:15] Window.bind(on_keyboard=self.events)
def search(self, _): global keyword if keyword: data = [] for icon_ in md_icons.keys(): if keyword in icon_: data.append({'icon_':icon_}) self.ids.iconbtn.data = data keyword = None
class Example(MDApp): icons = list(md_icons.keys())[15:30] def build(self): return Builder.load_string(KV) def on_start(self): for name_tab in self.icons: self.root.ids.android_tabs.add_widget(Tab(text=name_tab))
def __init__(self, **kwargs): super().__init__(**kwargs) self.register_event_type("on_open") self.register_event_type("on_close") if self.panel_cls and isinstance( self.panel_cls, ( MDExpansionPanelOneLine, MDExpansionPanelTwoLine, MDExpansionPanelThreeLine, MDExpansionPanelLabel, ), ): self.panel_cls.pos_hint = {"top": 1} self.panel_cls._no_ripple_effect = True self.panel_cls.bind( on_release=lambda x: self.check_open_panel(self.panel_cls) ) if not isinstance(self.panel_cls, MDExpansionPanelLabel): self.chevron = MDExpansionChevronRight() self.panel_cls.add_widget(self.chevron) if self.icon: if self.icon in md_icons.keys(): self.panel_cls.add_widget( IconLeftWidget( icon=self.icon, pos_hint={"center_y": 0.5}, ) ) else: self.panel_cls.add_widget( ImageLeftWidget( source=self.icon, pos_hint={"center_y": 0.5} ) ) else: self.panel_cls.remove_widget( self.panel_cls.ids._left_container ) self.panel_cls._txt_left_pad = 0 else: # if no icon self.panel_cls._txt_left_pad = m_res.HORIZ_MARGINS self.add_widget(self.panel_cls) else: raise ValueError( "KivyMD: `panel_cls` object must be must be one of the " "objects from the list\n" "[MDExpansionPanelOneLine, MDExpansionPanelTwoLine, " "MDExpansionPanelThreeLine]" )
class MainApp(MDApp): icons = list(md_icons.keys())[15:30] def build(self): return Builder.load_string(KV) def on_start(self): for name_tab in self.icons: self.root.ids.tabs.add_widget(Tab(text=name_tab)) def on_tab_switch(self, instance_tabs, instance_tab, instance_tab_label, tab_text): pass
class KitchenSinkTabs(Screen): # Icons to be used to populate the tabs. list_name_icons = list(md_icons.keys())[0:15] # lock the memory to avoid duplicity. tabs_created = False def on_enter(self): # updates the screen afther the animation ends. if not self.tabs_created: for name_tab in self.list_name_icons: self.ids.android_tabs.add_widget( Factory.KitchenSinkTabItem(title=name_tab)) self.tabs_created = True def switch_tabs_to_text(self, instance_android_tabs): # This function will toggle between text title label to icon title # label for each tab slides = instance_android_tabs.get_slides() for slide in slides: if slide.icon: slide.title = slide.icon slide.icon = "" def switch_tabs_to_icon(self, instance_android_tabs): # This function will toggle between text title label to icon title # label for each tab slides = instance_android_tabs.get_slides() for slide in slides: if slide.title: slide.icon = slide.title.lower() slide.title = "" def new_update_label(self, instance_android_tabs): # This function will add either the tittle or the icon to the # tab's title label. slides = instance_android_tabs.get_slides() for slide in slides: if slide.icon: slide.title = slide.icon elif slide.title: slide.icon = slide.title.lower() def update_mode(self, instance_android_tabs): # This function will update the way in wich the title label displays # the title text and icon. if instance_android_tabs.title_icon_mode == "Lead": instance_android_tabs.title_icon_mode = "Top" else: instance_android_tabs.title_icon_mode = "Lead"
def __init__(self, **kwargs): self.title = "Kitchen Sink" self.theme_cls.primary_palette = "BlueGray" self.theme_cls.accent_palette = "Gray" super().__init__(**kwargs) self.menu_items = [ { "viewclass": "MDMenuItem", "text": "Example item %d" % i, "callback": self.callback_for_menu_items, } for i in range(15) ] self.hex_primary_color = get_hex_from_color( self.theme_cls.primary_color ) self.previous_text = ( f"Welcome to the application [b][color={self.hex_primary_color}]" f"Kitchen Sink[/color][/b].\nTo see [b]" f"[color={self.hex_primary_color}]KivyMD[/color][/b] " f"examples, open the menu and select from the list the desired " f"example or" ) self.previous_text_end = ( f"for show example apps\n\n" f"Author - [b][color={self.hex_primary_color}]" f"Andrés Rodríguez[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n\n" f"Authors this Fork:\n\n" f"[b][color={self.hex_primary_color}]" f"Ivanov Yuri[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n" f"[b][color={self.hex_primary_color}]Artem S. Bulgakov[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n" f"and contributors..." ) self.list_name_icons = list(md_icons.keys())[0:15] Window.bind(on_keyboard=self.events, on_resize=self.window_resize) crop_image( (Window.width, int(dp(Window.height * 35 // 100))), f"{os.environ['KITCHEN_SINK_ASSETS']}guitar-1139397_1280.png", f"{os.environ['KITCHEN_SINK_ASSETS']}guitar-1139397_1280_crop.png", )
def set_list_md_icons(self, text="", search=False): """Builds a list of icons for the screen MDIcons.""" def add_icon_item(name_icon): self.ids.rv.data.append({ "viewclass": "KitchenSinkOneLineIconListItem", "icon": name_icon, "text": name_icon, }) self.ids.rv.data = [] for name_icon in md_icons.keys(): if search: if text in name_icon: add_icon_item(name_icon) else: add_icon_item(name_icon)
def add_accounts_to_recycle_view(_id, site, email, username, encrypted): # Set icon icon = "-".join(site.lower().split()) if icon not in md_icons.keys(): icon = "account-circle-outline" ### # Set email and username if email == "": email = " " if username == "": username = "******" ### # Set options base = { "icon": icon, "text": site, "on_press": lambda x=None: self.openBottomSheet(_id, site, email, username, encrypted), } if all(self.list_subtitles_options): base["viewclass"] = "RVThreeLineIconListItem" base["secondary_text"] = email base["tertiary_text"] = username elif self.list_subtitles_options[0]: base["viewclass"] = "RVTwoLineIconListItem" base["secondary_text"] = email elif self.list_subtitles_options[1]: base["viewclass"] = "RVTwoLineIconListItem" base["secondary_text"] = username else: base["viewclass"] = "RVOneLineIconListItem" ### self.ids.recycle_view.data.append(base)
def set_list_md_icons(self, text="", search=False): '''Builds a list of icons for the screen MDIcons.''' def add_icon_item(name_icon): self.ids.rv.data.append({ "viewclass": "CustomOneLineIconListItem", "icon": name_icon, "text": name_icon, "callback": lambda x: x, }) self.ids.rv.data = [] for name_icon in md_icons.keys(): if search: if text in name_icon: add_icon_item(name_icon) else: add_icon_item(name_icon)
def set_list_md_icons(self, text="", search=False): """Builds a list of icons for the screen MDIcons.""" def add_icon_item(name_icon): self.root.ids.scr_mngr.get_screen("md icons").ids.rv.data.append( { "viewclass": "MDIconItemForMdIconsList", "icon": name_icon, "text": name_icon, "callback": self.callback_for_menu_items, } ) self.root.ids.scr_mngr.get_screen("md icons").ids.rv.data = [] for name_icon in md_icons.keys(): if search: if text in name_icon: add_icon_item(name_icon) else: add_icon_item(name_icon)
def set_list_md_icons(self, text="", search=False): def add_icon_item(name_icon): self.ids.rv.data.append({ "viewclass": "CustomOneLineIconListItem2", "icon": name_icon, "text": name_icon, "callback": lambda x: app.root.change_screen("subfolder"), }) self.ids.rv.data = [] for name_icon in md_icons.keys(): if search: if text in name_icon: add_icon_item(name_icon) else: add_icon_item(name_icon)
def set_list_md_icons(self, text='', search=False): """Builds a list of icons for the screen MDIcons.""" def add_icon_item(name_icon): self.main_widget.ids.scr_mngr.get_screen( 'md icons').ids.rv.data.append( { 'viewclass': 'MDIconItemForMdIconsList', 'icon': name_icon, 'text': name_icon, 'callback': self.callback_for_menu_items } ) self.main_widget.ids.scr_mngr.get_screen('md icons').ids.rv.data = [] for name_icon in md_icons.keys(): if search: if text in name_icon: add_icon_item(name_icon) else: add_icon_item(name_icon)
def setListOfIcons(self, text='', search=False): def addIconItem(iconName): self.ids.rv.data.append({ 'viewclass': 'CustomOneLineIconListItem', 'icon': iconName, 'text': iconName, 'callback': lambda x: x, 'on_release': lambda: self.setIcon(iconName), }) self.ids.rv.data = [] for iconName in md_icons.keys(): if search: if text in iconName: addIconItem(iconName) else: addIconItem(iconName)
def on_start(self): icons = list(md_icons.keys()) for i in range(30): self.root.ids.scroll.add_widget( ListItemWithCheckbox(text=f"Item {i}", icon=icons[i]))
async def set_list(): names_icons_list = list(md_icons.keys())[self.x:self.y] for name_icon in names_icons_list: await asynckivy.sleep(0) self.screen.ids.box.add_widget( ItemForList(icon=name_icon, text=name_icon))
TwoLineIconListItem, ) from kivymd.uix.screen import MDScreen from kivymd.uix.selectioncontrol import MDCheckbox from mambu import MambuAPI from models import * Config.set("graphics", "width", "375") Config.set("graphics", "height", "812") Config.write() simple_db = Database() mambu_api = MambuAPI() # Builder.load_file('main.kv') icons = list(md_icons.keys()) class ListItemWithCheckbox(OneLineAvatarIconListItem): """Custom list item.""" icon = StringProperty("android") class RightCheckbox(IRightBodyTouch, MDCheckbox): """Custom right container.""" # count_id = ObjectProperty(None) # def __init__(self, count_id): # super(RightCheckbox, self).__init__()
def __init__(self, **kwargs): super().__init__(**kwargs) self.menu_items = [{ "viewclass": "MDMenuItem", "text": "Example item %d" % i, "callback": self.callback_for_menu_items, } for i in range(15)] self.Window = Window # Default class instances. self.manager = None self.md_app_bar = None self.instance_menu_demo_apps = None self.instance_menu_source_code = None self.md_theme_picker = None self.long_dialog = None self.input_dialog = None self.alert_dialog = None self.ok_cancel_dialog = None self.long_dialog = None self.dialog = None self.user_card = None self.bs_menu_1 = None self.bs_menu_2 = None self.popup_screen = None self.my_snackbar = None self.dialog_load_kv_files = None self.create_stack_floating_buttons = False self.manager_open = False self.cards_created = False self._interval = 0 self.tick = 0 self.x = 0 self.y = 25 self.file_source_code = "" self.hex_primary_color = get_hex_from_color( self.theme_cls.primary_color) self.previous_text = ( f"Welcome to the application [b][color={self.hex_primary_color}]" f"Kitchen Sink[/color][/b].\nTo see [b]" f"[color={self.hex_primary_color}]KivyMD[/color][/b] " f"examples, open the menu and select from the list the desired " f"example or") self.previous_text_end = ( f"for show example apps\n\n" f"Author - [b][color={self.hex_primary_color}]" f"Andrés Rodríguez[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n\n" f"Authors this Fork:\n\n" f"[b][color={self.hex_primary_color}]" f"Ivanov Yuri[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n" f"[b][color={self.hex_primary_color}]Artem S. Bulgakov[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n" f"and contributors...") self.names_contacts = ( "Alexandr Taylor", "Yuri Ivanov", "Robert Patric", "Bob Marley", "Magnus Carlsen", "Jon Romero", "Anna Bell", "Maxim Kramerer", "Sasha Gray", "Vladimir Ivanenko", ) self.demo_apps_list = [ "Shop Window", "Coffee Menu", "Fitness Club", "Registration", "Account Page", ] self.list_name_icons = list(md_icons.keys())[0:15] Window.bind(on_keyboard=self.events) crop_image( (Window.width, int(dp(Window.height * 35 // 100))), f"{demos_assets_path}guitar-1139397_1280.png", f"{demos_assets_path}guitar-1139397_1280_crop.png", )
def __init__(self, **kwargs): super().__init__(**kwargs) self.menu_items = [{ 'viewclass': 'MDMenuItem', 'text': 'Example item %d' % i, 'callback': self.callback_for_menu_items } for i in range(15)] self.Window = Window self.manager = None self.md_app_bar = None self.instance_menu_demo_apps = None self.md_theme_picker = None self.long_dialog = None self.input_dialog = None self.alert_dialog = None self.ok_cancel_dialog = None self.long_dialog = None self.dialog = None self.manager_open = False self.cards_created = False self.user_card = None self.bs_menu_1 = None self.bs_menu_2 = None self.my_snackbar = None self._interval = 0 self.tick = 0 self.x = 0 self.y = 15 self.create_stack_floating_buttons = False self.hex_primary_color = get_hex_from_color( self.theme_cls.primary_color) self.previous_text = \ f"Welcome to the application [b][color={self.hex_primary_color}]" \ f"Kitchen Sink[/color][/b].\nTo see [b]" \ f"[color={self.hex_primary_color}]KivyMD[/color][/b] " \ f"examples, open the menu and select from the list the desired " \ f"example or" self.previous_text_end = \ f"for show example apps\n\n" \ f"Author - [b][color={self.hex_primary_color}]" \ f"Andrés Rodríguez[/color][/b]\n" \ f"[u][b][color={self.hex_primary_color}]" \ f"[email protected][/color][/b][/u]\n\n" \ f"Author this Fork - [b][color={self.hex_primary_color}]" \ f"Ivanov Yuri[/color][/b]\n" \ f"[u][b][color={self.hex_primary_color}]" \ f"[email protected][/color][/b][u]" self.names_contacts = ('Alexandr Taylor', 'Yuri Ivanov', 'Robert Patric', 'Bob Marley', 'Magnus Carlsen', 'Jon Romero', 'Anna Bell', 'Maxim Kramerer', 'Sasha Gray', 'Vladimir Ivanenko') self.demo_apps_list = [ 'Shop Window', 'Coffee Menu', 'Fitness Club', 'Registration' ] self.menu_for_demo_apps = [] self.list_name_icons = list(md_icons.keys())[0:15] Window.bind(on_keyboard=self.events) crop_image((Window.width, int(dp(Window.height * 35 // 100))), f'{self.directory}/assets/guitar-1139397_1280.png', f'{self.directory}/assets/guitar-1139397_1280_crop.png')
def set_list_for_refresh_layout(self): names_icons_list = list(md_icons.keys())[self.x:self.y] for name_icon in names_icons_list: self.data['Refresh Layout']['object'].\ ids.box.add_widget(ItemForListRefreshLayout( icon=name_icon, text=name_icon))