: id: main style: "filled" padding: "4dp" size_hint: 1, None height: "75dp" context_button: context focus_behavior: False MDRelativeLayout: ApAsyncImage: source: main.image size: (48, 48) size_hint: None, None pos_hint: {"center_x": 0.1, "center_y": 0.5} MDLabel: text: main.component.display_name pos_hint:{"center_x": 0.5, "center_y": 0.75 if main.component.description else 0.65} halign: "center" font_style: "Title" role: "medium" theme_text_color: "Custom" text_color: app.theme_cls.primaryColor MDLabel: text: main.component.description pos_hint: {"center_x": 0.5, "center_y": 0.35} halign: "center" role: "small" theme_text_color: "Custom" text_color: app.theme_cls.primaryColor MDIconButton: component: main.component icon: "star" if self.component.display_name in app.favorites else "star-outline" style: "standard" pos_hint:{"center_x": 0.85, "center_y": 0.8} theme_text_color: "Custom" text_color: app.theme_cls.primaryColor detect_visible: False on_release: app.set_favorite(self) MDIconButton: id: context icon: "menu" style: "standard" pos_hint:{"center_x": 0.95, "center_y": 0.8} theme_text_color: "Custom" text_color: app.theme_cls.primaryColor detect_visible: False MDButton: pos_hint:{"center_x": 0.9, "center_y": 0.25} size_hint_y: None height: "25dp" component: main.component on_release: app.component_action(self) detect_visible: False MDButtonText: text: "Open" #:import Type worlds.LauncherComponents.Type MDFloatLayout: id: top_screen MDGridLayout: id: grid cols: 2 spacing: "5dp" padding: "10dp" MDGridLayout: id: navigation cols: 1 size_hint_x: 0.25 MDButton: id: all style: "text" type: (Type.CLIENT, Type.TOOL, Type.ADJUSTER, Type.MISC) on_release: app.filter_clients_by_type(self) MDButtonIcon: icon: "asterisk" MDButtonText: text: "All" MDButton: id: client style: "text" type: (Type.CLIENT, ) on_release: app.filter_clients_by_type(self) MDButtonIcon: icon: "controller" MDButtonText: text: "Client" MDButton: id: Tool style: "text" type: (Type.TOOL, ) on_release: app.filter_clients_by_type(self) MDButtonIcon: icon: "desktop-classic" MDButtonText: text: "Tool" MDButton: id: adjuster style: "text" type: (Type.ADJUSTER, ) on_release: app.filter_clients_by_type(self) MDButtonIcon: icon: "wrench" MDButtonText: text: "Adjuster" MDButton: id: misc style: "text" type: (Type.MISC, ) on_release: app.filter_clients_by_type(self) MDButtonIcon: icon: "dots-horizontal-circle-outline" MDButtonText: text: "Misc" MDButton: id: favorites style: "text" type: ("favorites", ) on_release: app.filter_clients_by_type(self) MDButtonIcon: icon: "star" MDButtonText: text: "Favorites" MDNavigationDrawerDivider: MDGridLayout: id: main_layout cols: 1 spacing: "10dp" MDTextField: id: search_box mode: "outlined" set_text: app.filter_clients_by_name MDTextFieldLeadingIcon: icon: "magnify" MDTextFieldHintText: text: "Search" ScrollBox: id: button_layout