def submit_click(self, btn): res_fields = [] for field in self.fields: a = {} for (k, v) in field.items(): if is_lambda(v): a[k] = v() else: a[k] = v res_fields.append(a) gv.db.update_item(self.id_item, self.title_item.text, res_fields) set_screen('main')
def on_enter(self): # Будет вызвана в момент открытия экрана self.layout = GridLayout(cols=1, spacing=10, size_hint_y=None) self.layout.bind(minimum_height=self.layout.setter('height')) back_button = Button(text='< Назад в главное меню', on_press=lambda x: set_screen('main'), size_hint_y=None, height=dp(40)) self.layout.add_widget(back_button) root = RecycleView(size_hint=(1, None), size=(Window.width, Window.height)) root.add_widget(self.layout) self.add_widget(root)
def __init__(self, **kw): super(MainScreen, self).__init__(**kw) super(MainScreen, self).__init__(**kw) box = BoxLayout(orientation='vertical') self.items_grid = GridLayout(cols=1, spacing=10, size_hint_y=None, padding=10) # Make sure the height is such that there is something to scroll. self.items_grid.bind(minimum_height=self.items_grid.setter('height')) scroll_view = ScrollView(size_hint=(1, 1), size=(Window.width, Window.height)) scroll_view.add_widget(self.items_grid) box.add_widget(scroll_view) box.add_widget(Button(text='Добавить элемент;)', on_press=lambda x: set_screen('add_item'), size_hint_y=None, height=dp(80))) self.add_widget(box)
def __init__(self, **kw): super(ViewItem, self).__init__(**kw) self.fields = [] self.title_item = None box = BoxLayout(orientation='vertical') back_button = Button(text='< Назад в главное меню', on_press=lambda x: set_screen('main'), size_hint_y=None, height=dp(60)) box.add_widget(back_button) scroll_view = ScrollView(size_hint=(1, 1), size=(Window.width, Window.height)) self.layout_fields = GridLayout(cols=1, spacing=10, size_hint_y=None) self.layout_fields.bind( minimum_height=self.layout_fields.setter('height')) scroll_view.add_widget(self.layout_fields) box.add_widget(scroll_view) self.lbl_total = Label(text="Итог: ", size_hint_y=None, height=dp(40)) box.add_widget(self.lbl_total) wrapper = BoxLayout(size_hint_y=None, height=dp(60)) btn_add = Button(text="Добавить поле") btn_add.bind( on_press=lambda x: self._add_item(None, None, None, 'Sum')) btn_submit = Button(text="Сохранить") btn_submit.bind(on_press=self.submit_click) wrapper.add_widget(btn_submit) wrapper.add_widget(btn_add) box.add_widget(wrapper) self.add_widget(box)
def _view_item(self, id_item): gv.cur_id_item = id_item set_screen('view_item')