def edit_cb(self, widget): """Edits composition or product.""" model, iterator = self.treeview.get_selection().get_selected() if self.mode == COMPOSITIONS_MODE: try: row = model[iterator] compname, chunks, compid = row[0], row[2], row[4] except: # no composition is selected return else: composition = show_add_composition_dialog(self.window, \ (compname, chunks)) if self.controller.update_composition(compid, composition): self._show_compositions() else: try: row = model[iterator] pname, pweight, pid = row[0], row[1], row[2] except: # no product is selected return else: pid, pweight = show_add_product_to_composition_dialog( \ self.window, self.controller, (pname, pweight, pid)) if pweight is not None: self.controller.update_product_in_composition( \ self.compid, pid, pweight) self._show_products_in_composition()
def add_cb(self, widget): """Adds new composition or product to composition.""" if self.mode == COMPOSITIONS_MODE: composition = show_add_composition_dialog(self.window) if self.controller.add_composition(composition): self._show_compositions() else: product = show_add_product_to_composition_dialog( \ self.window, self.controller) if self.controller.add_product_to_composition(self.compid, product): self._show_products_in_composition()