def build(self): # create a default grid layout with custom width/height table = TableView(size=(500,320), pos_hint={'x':0.1, 'center_y':.5}) # columns table.add_column(TableColumn("Col1", key="1", hint_text='0')) table.add_column(TableColumn("Col2", key="2", hint_text='0')) # content for i in range(30): row = {'1': str(2*i+0), '2': str(2*i+1)} table.add_row(row) return table
def refresh(self, ): self.layout = BoxLayout(orientation="vertical") self.table_layout = BoxLayout(orientation="horizontal", size_hint=(1.0, 1.0)) self.article_layout = BoxLayout(orientation="vertical") self.delete_layout = BoxLayout(orientation="vertical", size_hint=(0.2, 1.0)) self.total_layout = BoxLayout(orientation="horizontal", size_hint=(1.0, 0.2)) self.table_layout.clear_widgets() self.labels = TableView(size_hint=(0.913, 1.0)) self.labels.add_column( TableColumn("Codigo", key="codigo", hint_text='0')) self.labels.add_column( TableColumn("Descripcion", key="descripcion", hint_text='0')) self.labels.add_column( TableColumn("Empresa", key="empresa", hint_text='0')) self.labels.add_column( TableColumn("Unidades por bulto", key="cantidad_bulto", hint_text='0')) self.labels.add_column( TableColumn("Precio", key="precio", hint_text='0')) self.table = TableView(size_hint=(1.0, 1.0)) self.table.add_column( TableColumn("Codigo", key="codigo", hint_text='0')) self.table.add_column( TableColumn("Descripcion", key="descripcion", hint_text='0')) self.table.add_column( TableColumn("Empresa", key="empresa", hint_text='0')) self.table.add_column( TableColumn("Unidades por bulto", key="cantidad_bulto", hint_text='0')) self.table.add_column( TableColumn("Precio", key="precio", hint_text='0')) row = { "codigo": "Codigo", "descripcion": "Descripcion", "empresa": "Empresa", "cantidad_bulto": "Unidades por bulto", "precio": "Precio" } self.labels.add_row(row) i = 0 self.content = BoxLayout(orientation='vertical') delete = Button(text="Eliminar", on_release=self.delete) delete.bind(on_release=self.delete) self.delete_label = Label(text="Esta a punto de eliminar un elemento") self.content.add_widget(self.delete_label) self.content.add_widget(delete) self.delete_popup = Popup(title="Eliminar", content=self.content, size_hint=(0.9, 0.25)) for key in store.keys(): row = { "codigo": store.get(key)['codigo'], "descripcion": store.get(key)['descripcion'], "empresa": store.get(key)['empresa'], "cantidad_bulto": store.get(key)['unidad_bulto'], "precio": store.get(key)['precio'] } self.table.add_row(row) self.delete_layout.add_widget( Button(text="Eliminar", id=str(i), on_release=self.call_delete_popup)) i = i + 1 self.article_layout.add_widget(self.labels) self.table_layout.add_widget(self.table) self.table_layout.add_widget(self.delete_layout) self.article_layout.add_widget(self.table_layout) self.clear_content = BoxLayout(orientation='vertical') clear_button = Button(text="Eliminar") clear_button.bind(on_release=self.clear) self.clear_label = Label( text="Esta a punto de eliminar todos los elementos") self.clear_content.add_widget(self.clear_label) self.clear_content.add_widget(clear_button) self.clear_popup = Popup(title="Eliminar", content=self.clear_content, size_hint=(0.9, 0.25)) self.clear_button = Button(text="Borrar todo", size_hint=(1.0, 0.1)) self.clear_button.bind(on_release=self.clear_popup.open) self.content = BoxLayout(orientation="vertical") previous_button = Button(text="Volver", size_hint=(1.0, 0.1)) previous_button.bind(on_release=self.changer) self.discount = TextInput(text="0.0") self.layout.add_widget(self.article_layout) self.layout.add_widget(self.clear_button) self.layout.add_widget(previous_button) self.clear_widgets() self.add_widget(self.layout)
def refresh(self, ): self.layout = BoxLayout(orientation="vertical") self.table_layout = BoxLayout(orientation="horizontal", size_hint=(1.0, 1.0)) self.article_layout = BoxLayout(orientation="vertical") self.quantity_layout = BoxLayout(orientation="vertical", size_hint=(0.1, 1.0)) self.delete_layout = BoxLayout(orientation="vertical", size_hint=(0.2, 1.0)) self.total_layout = BoxLayout(orientation="horizontal", size_hint=(1.0, 0.2)) self.table_layout.clear_widgets() self.labels = TableView(size_hint=(0.877, 1.0)) self.labels.add_column( TableColumn("Codigo", key="codigo", hint_text='0')) self.labels.add_column( TableColumn("Descripcion", key="descripcion", hint_text='0')) self.labels.add_column( TableColumn("Empresa", key="empresa", hint_text='0')) self.labels.add_column( TableColumn("Unidades por bulto", key="cantidad_bulto", hint_text='0')) self.labels.add_column( TableColumn("Precio", key="precio", hint_text='0')) self.table = TableView(size_hint=(1.0, 1.0)) self.table.add_column( TableColumn("Codigo", key="codigo", hint_text='0')) self.table.add_column( TableColumn("Descripcion", key="descripcion", hint_text='0')) self.table.add_column( TableColumn("Empresa", key="empresa", hint_text='0')) self.table.add_column( TableColumn("Unidades por bulto", key="cantidad_bulto", hint_text='0')) self.table.add_column( TableColumn("Precio", key="precio", hint_text='0')) row = { "codigo": "Codigo", "descripcion": "Descripcion", "empresa": "Empresa", "cantidad_bulto": "Unidades por bulto", "precio": "Precio" } self.labels.add_row(row) i = 0 self.content = BoxLayout(orientation='vertical') delete = Button(text="Eliminar", on_release=self.delete) delete.bind(on_release=self.delete) self.delete_label = Label(text="Esta a punto de eliminar un elemento") self.content.add_widget(self.delete_label) self.content.add_widget(delete) self.delete_popup = Popup(title="Eliminar", content=self.content, size_hint=(0.9, 0.25)) for key in shopping_car.keys(): row = { "codigo": shopping_car.get(key)['codigo'], "descripcion": shopping_car.get(key)['descripcion'], "empresa": shopping_car.get(key)['empresa'], "cantidad_bulto": shopping_car.get(key)['unidad_bulto'], "precio": shopping_car.get(key)['precio'] } self.table.add_row(row) self.quantity_layout.add_widget( TextInput(text=shopping_car.get(key)['cantidad'], id=str(i))) self.delete_layout.add_widget( Button(text="Eliminar", id=str(i), on_release=self.call_delete_popup)) i = i + 1 for children in self.quantity_layout.children: children.bind(text=self.refresh_total) self.article_layout.add_widget(self.labels) self.table_layout.add_widget(self.table) self.table_layout.add_widget(self.quantity_layout) self.table_layout.add_widget(self.delete_layout) self.article_layout.add_widget(self.table_layout) self.clear_content = BoxLayout(orientation='vertical') clear_button = Button(text="Eliminar") clear_button.bind(on_release=self.clear) self.clear_label = Label( text="Esta a punto de eliminar todos los elementos") self.clear_content.add_widget(self.clear_label) self.clear_content.add_widget(clear_button) self.clear_popup = Popup(title="Eliminar", content=self.clear_content, size_hint=(0.9, 0.25)) self.clear_button = Button(text="Borrar todo", size_hint=(1.0, 0.1)) self.clear_button.bind(on_release=self.clear_popup.open) self.content = BoxLayout(orientation="vertical") export = Button(text="Export", on_release=self.export) self.export_name = TextInput(hint_text="Nombre del archivo") self.content.add_widget(self.export_name) self.content.add_widget(export) self.export_popup = Popup(title="Exportar archivo", content=self.content, size_hint=(0.9, 0.25)) export_button = Button(text="Exportar", size_hint=(1.0, 0.1)) export_button.bind(on_release=self.export_popup.open) previous_button = Button(text="Volver", size_hint=(1.0, 0.1)) previous_button.bind(on_release=self.changer) self.discount = TextInput(text="0.0") discount_button = Button(text="Aplicar descuento") discount_button.bind(on_release=self.apply_discount) self.discount_warning = Popup(title="Error!", content=Label(text="Descuento invalido"), size_hint=(0.9, 0.25)) self.succes_export_popup = Popup( title="Exportar Archivo", content=Label(text="Archivo exportado con exito"), size_hint=(0.9, 0.25)) self.total = Label(text="Total") self.calculate_total(0) self.total_layout.add_widget(self.discount) self.total_layout.add_widget(discount_button) self.total_layout.add_widget(self.total) self.layout.add_widget(self.article_layout) self.layout.add_widget(self.total_layout) self.layout.add_widget(export_button) self.layout.add_widget(self.clear_button) self.layout.add_widget(previous_button) self.clear_widgets() self.add_widget(self.layout)