def home_screen(self): self.manager.get_screen( 'main').ids.btn_camera.color = get_color_from_hex('#FFFFFF') self.manager.get_screen( 'main').ids.btn_home.color = get_color_from_hex('#2196F3') self.manager.get_screen( 'main').ids.btn_user.color = get_color_from_hex('#FFFFFF') self.manager.get_screen('main').ids.master.clear_widgets() home_layout = GridLayout() home_layout.id = 'home_layout' home_layout.spacing = (0, 0.5) home_layout.padding = 40, 10, 40, 10 home_layout.cols = 1 home_layout.row_default_height = self.height * 0.25 home_layout.row_force_default = True lbl_home = Label() lbl_home.id = 'lbl_home' lbl_home.color = get_color_from_hex('#212121') lbl_home.text = 'Home Layout' self.manager.get_screen('main').ids[home_layout.id] = \ WeakProxy(home_layout) self.manager.get_screen('main').ids[lbl_home.id] = \ WeakProxy(home_layout) self.manager.get_screen('main').ids.master.\ add_widget(home_layout) self.manager.get_screen('main').ids.lbl_home.\ add_widget(lbl_home)
def user_screen(self): self.manager.get_screen( 'main').ids.btn_camera.color = get_color_from_hex('#FFFFFF') self.manager.get_screen( 'main').ids.btn_home.color = get_color_from_hex('#FFFFFF') self.manager.get_screen( 'main').ids.btn_user.color = get_color_from_hex('#2196F3') self.manager.get_screen('main').ids.master.clear_widgets() user_layout = GridLayout() user_layout.id = 'user_layout' user_layout.spacing = (0, 0.5) user_layout.padding = 40, 10, 40, 10 user_layout.cols = 1 user_layout.row_default_height = self.height * 0.25 user_layout.row_force_default = True lbl_user = Label() lbl_user.id = 'lbl_home' lbl_user.color = get_color_from_hex('#212121') lbl_user.text = 'User Layout' self.manager.get_screen('main').ids[user_layout.id] = \ WeakProxy(user_layout) self.manager.get_screen('main').ids[lbl_user.id] = \ WeakProxy(lbl_user) self.manager.get_screen('main').ids.master.\ add_widget(user_layout) self.manager.get_screen('main').ids.user_layout.\ add_widget(lbl_user)
def camera_screen(self): self.manager.get_screen( 'main').ids.btn_camera.color = get_color_from_hex('#2196F3') self.manager.get_screen( 'main').ids.btn_home.color = get_color_from_hex('#FFFFFF') self.manager.get_screen( 'main').ids.btn_user.color = get_color_from_hex('#FFFFFF') self.manager.get_screen('main').ids.master.clear_widgets() camera_layout = GridLayout() camera_layout.id = 'camera_layout' camera_layout.spacing = (0, 0.5) camera_layout.padding = 40, 10, 40, 10 camera_layout.cols = 1 camera_layout.row_default_height = self.height * 0.25 camera_layout.row_force_default = True lbl_camera = Label() lbl_camera.id = 'lbl_camera' lbl_camera.color = get_color_from_hex('#212121') lbl_camera.text = 'Camera Layout' self.manager.get_screen('main').ids[camera_layout.id] = \ WeakProxy(camera_layout) self.manager.get_screen('main').ids[lbl_camera.id] = \ WeakProxy(lbl_camera) self.manager.get_screen('main').ids.master.\ add_widget(camera_layout) self.manager.get_screen('main').ids.camera_layout.\ add_widget(lbl_camera)
def navigate_to_book(self, book_id=''): if book_id == '': return mgr = self.root.ids.main_manager similar_books = self.screens[0].ids.similar_books if not hasattr(self, 'scr'): self.scr = Screen(name="test") mgr.add_widget(self.scr) grid = GridLayout(cols=1) grid.id = "mygrid" grid.add_widget(Button(text='My first button')) grid.add_widget(Button(text='My first button')) self.scr.add_widget(grid) mgr.current = "test" print('navigated')
def update_settings(self, parent_widget, settings_dict): for key in settings_dict: if 'type' not in settings_dict[key]: if settings_dict[key]: box = BoxLayout(orientation='vertical') splitted = re.sub('([A-Z][a-z]+)', r' \1', re.sub('([A-Z]+)', r' \1', key)).title() box.add_widget( Label(text='Settings for {}'.format(splitted), size_hint=(1, 0.1))) settings_grid = GridLayout(cols=2) settings_grid.id = key box.add_widget(settings_grid) parent_widget.add_widget(box) self.update_settings(settings_grid, settings_dict[key]) elif settings_dict[key]['type'] == 'boolean': parent_widget.add_widget(Label(text=key)) check_box = CheckBox(active=settings_dict[key]['default']) check_box.id = key parent_widget.add_widget(check_box) settings_dict[key] = check_box.active check_box.bind(active=self.on_settings_change) elif settings_dict[key]['type'] == 'range': parent_widget.add_widget(Label(text=key)) slider = Slider(value=settings_dict[key]['default'], min=settings_dict[key]['min'], max=settings_dict[key]['max'], step=settings_dict[key]['step']) slider.id = key parent_widget.add_widget(slider) settings_dict[key] = slider.value slider.bind(value=self.on_settings_change) elif settings_dict[key]['type'] == 'value_list': parent_widget.add_widget(Label(text=key)) from kivy.uix.spinner import Spinner spinner = Spinner(text=settings_dict[key]['default'], values=settings_dict[key]['values']) spinner.id = key parent_widget.add_widget(spinner) settings_dict[key] = spinner.text spinner.bind(text=self.on_settings_change)