def master_estimate_result_selector(self): """ Button 49: Estimate result selector """ # Create dialog self.dlg = EstimateResultSelector() utils_giswater.setDialog(self.dlg) # Set signals self.dlg.btn_accept.clicked.connect(self.master_estimate_result_selector_accept) self.dlg.btn_cancel.clicked.connect(self.close_dialog) # Fill combo box sql = "SELECT result_id FROM "+self.schema_name+".plan_result_cat " sql += " WHERE cur_user = current_user ORDER BY result_id" rows = self.controller.get_rows(sql) if not rows: return utils_giswater.fillComboBox("rpt_selector_result_id", rows, False) # Get selected value from table 'plan_selector_result' sql = "SELECT result_id FROM "+self.schema_name+".plan_selector_result" sql += " WHERE cur_user = current_user" row = self.controller.get_row(sql) if row: utils_giswater.setSelectedItem("rpt_selector_result_id", str(row[0])) elif row is None and self.controller.last_error: self.controller.log_info(sql) return # Manage i18n of the form and open it self.controller.translate_form(self.dlg, 'estimate_result_selector') self.dlg.exec_()
def fill_table_psector(self, widget, table_name, column_id): """ Set a model with selected filter. Attach that model to selected table """ # Set model self.model = QSqlTableModel() self.model.setTable(self.schema_name + "." + table_name) self.model.setEditStrategy(QSqlTableModel.OnManualSubmit) self.model.setSort(0, 0) self.model.select() # Check for errors if self.model.lastError().isValid(): self.controller.show_warning(self.model.lastError().text()) # Attach model to table view widget.setModel(self.model) # put combobox in qtableview sql = "SELECT * FROM " + self.schema_name + "." + table_name + " ORDER BY " + column_id rows = self.controller.get_rows(sql) for x in range(len(rows)): combo = QComboBox() sql = "SELECT DISTINCT(priority) FROM " + self.schema_name + "." + table_name row = self.controller.get_rows(sql) utils_giswater.fillComboBox(combo, row, False) row = rows[x] priority = row[4] utils_giswater.setSelectedItem(combo, str(priority)) i = widget.model().index(x, 4) widget.setIndexWidget(i, combo) #combo.setStyleSheet("background:#F2F2F2") combo.setStyleSheet("background:#E6E6E6") combo.currentIndexChanged.connect( partial(self.update_combobox_values, widget, combo, x))
def populate_combo(self, combo, table_result): table_name = "om_result_cat" sql = ("SELECT name, result_id" " FROM " + self.schema_name + "." + table_name + " " " WHERE cur_user = current_user" " AND result_type = 1" " ORDER BY name") rows = self.controller.get_rows(sql) if not rows: return combo.blockSignals(True) combo.clear() records_sorted = sorted(rows, key=operator.itemgetter(1)) for record in records_sorted: combo.addItem(str(record[0]), record) combo.blockSignals(False) # Check if table exists if not self.controller.check_table(table_result): message = "Table not found" self.controller.show_warning(message, parameter=table_result) return sql = ("SELECT result_id FROM " + self.schema_name + "." + table_result + " " " WHERE cur_user = current_user") row = self.controller.get_row(sql) if row: utils_giswater.setSelectedItem(combo, str(row[0]))
def init_config(): # Manage 'gratecat_id' gratecat_id = utils_giswater.getWidgetText("gratecat_id") utils_giswater.setSelectedItem("gratecat_id", gratecat_id) # Manage 'arccat_id' arccat_id = utils_giswater.getWidgetText("arccat_id") utils_giswater.setSelectedItem("arccat_id", arccat_id)
def init_config(): # Manage 'node_type' node_type = utils_giswater.getWidgetText("node_type") utils_giswater.setSelectedItem("node_type", node_type) # Manage 'nodecat_id' nodecat_id = utils_giswater.getWidgetText("nodecat_id") utils_giswater.setSelectedItem("nodecat_id", nodecat_id)
def init_config(): # Manage 'connec_type' connec_type = utils_giswater.getWidgetText("connec_type") utils_giswater.setSelectedItem("connec_type", connec_type) # Manage 'connecat_id' connecat_id = utils_giswater.getWidgetText("connecat_id") utils_giswater.setSelectedItem("connecat_id", connecat_id)
def fillNodeType(self): """ Define and execute query to populate combo 'cat_nodetype_id' """ cat_nodetype_id = utils_giswater.getSelectedItem("cat_nodetype_id") sql = "SELECT id, man_table, epa_table FROM "+self.schema_name+".arc_type WHERE epa_default = '"+self.epa_type+"' UNION " sql+= "SELECT id, man_table, epa_table FROM "+self.schema_name+".node_type WHERE epa_default = '"+self.epa_type+"' ORDER BY id" rows = self.dao.get_rows(sql) self.cbo_cat_nodetype_id = self.dialog.findChild(QComboBox, "cat_nodetype_id") utils_giswater.fillComboBox(self.cbo_cat_nodetype_id, rows) utils_giswater.setSelectedItem('cat_nodetype_id', cat_nodetype_id)
def fillNodeType(self): """ Define and execute query to populate combo 'cat_nodetype_id' """ cat_nodetype_id = utils_giswater.getSelectedItem("cat_nodetype_id") sql = "SELECT id, man_table, epa_table FROM " + self.schema_name + ".arc_type WHERE epa_default = '" + self.epa_type + "' UNION " sql += "SELECT id, man_table, epa_table FROM " + self.schema_name + ".node_type WHERE epa_default = '" + self.epa_type + "' ORDER BY id" rows = self.dao.get_rows(sql) self.cbo_cat_nodetype_id = self.dialog.findChild( QComboBox, "cat_nodetype_id") utils_giswater.fillComboBox(self.cbo_cat_nodetype_id, rows) utils_giswater.setSelectedItem('cat_nodetype_id', cat_nodetype_id)
def initConfig(): node_dialog.dialog.findChild(QComboBox, "nodecat_id").setVisible(False) node_dialog.dialog.findChild(QComboBox, "cat_nodetype_id").activated.connect(node_dialog.changeNodeType) node_dialog.changeNodeType(-1) nodecat_id = utils_giswater.getSelectedItem("nodecat_id") utils_giswater.setSelectedItem("nodecat_id_dummy", nodecat_id) node_dialog.dialog.findChild(QComboBox, "nodecat_id_dummy").activated.connect(node_dialog.changeNodeCat) node_dialog.dialog.findChild(QComboBox, "epa_type").activated.connect(node_dialog.changeEpaType) node_dialog.dialog.findChild(QPushButton, "btnAccept").clicked.connect(node_dialog.save) node_dialog.dialog.findChild(QPushButton, "btnClose").clicked.connect(node_dialog.close)
def init_config(): feature_dialog.dialog.findChild(QComboBox, "arccat_id").setVisible(False) arccat_id = utils_giswater.getWidgetText("arccat_id", False) feature_dialog.change_arc_type() feature_dialog.dialog.findChild(QComboBox, "cat_arctype_id").activated.connect(feature_dialog.change_arc_type) feature_dialog.dialog.findChild(QComboBox, "arccat_id_dummy").activated.connect(feature_dialog.change_arc_cat) utils_giswater.setSelectedItem("arccat_id_dummy", arccat_id) utils_giswater.setSelectedItem("arccat_id", arccat_id) feature_dialog.dialog.findChild(QComboBox, "epa_type").activated.connect(feature_dialog.change_epa_type) feature_dialog.dialog.findChild(QPushButton, "btn_accept").clicked.connect(feature_dialog.save) feature_dialog.dialog.findChild(QPushButton, "btn_close").clicked.connect(feature_dialog.close)
def populate_dialog(self): """ Populate the interface with values get from layers """ if not self.enabled: return False # Get layers and full extent self.get_layers() # Tab 'WorkCat' self.dlg.workcat_items_list.setVisible(False) status = self.workcat_populate(self.dlg.workcat_id) if not status: self.dlg.tab_main.removeTab(3) # Tab 'Address' status = self.address_populate(self.dlg.address_exploitation, 'expl_layer', 'expl_field_code', 'expl_field_name') if not status: self.dlg.tab_main.removeTab(2) else: # Get project variable 'expl_id' expl_id = QgsExpressionContextUtils.projectScope().variable(str(self.street_field_expl[0])) if expl_id is not None: self.controller.log_info(expl_id) # Set SQL to get 'expl_name' sql = "SELECT " + self.params['expl_field_name'] + " FROM " + self.controller.schema_name + "." + self.params['expl_layer'] sql += " WHERE " + self.params['expl_field_code'] + " = " + str(expl_id) row = self.controller.get_row(sql) if row: utils_giswater.setSelectedItem(self.dlg.address_exploitation, row[0]) # Tab 'Hydrometer' self.populate_combo('hydrometer_urban_propierties_layer', self.dlg.hydrometer_connec, self.params['hydrometer_field_urban_propierties_code']) status = self.populate_combo('hydrometer_layer', self.dlg.hydrometer_id, self.params['hydrometer_field_urban_propierties_code'], self.params['hydrometer_field_code']) if not status: self.dlg.tab_main.removeTab(1) # Tab 'Network' self.network_code_create_lists() status = self.network_geom_type_populate() if not status: self.dlg.tab_main.removeTab(0) return True
def initConfig(): node_dialog.dialog.findChild(QComboBox, "nodecat_id").setVisible(False) node_dialog.dialog.findChild(QComboBox, "cat_nodetype_id").activated.connect( node_dialog.changeNodeType) node_dialog.changeNodeType(-1) nodecat_id = utils_giswater.getSelectedItem("nodecat_id") utils_giswater.setSelectedItem("nodecat_id_dummy", nodecat_id) node_dialog.dialog.findChild(QComboBox, "nodecat_id_dummy").activated.connect( node_dialog.changeNodeCat) node_dialog.dialog.findChild(QComboBox, "epa_type").activated.connect( node_dialog.changeEpaType) node_dialog.dialog.findChild(QPushButton, "btnAccept").clicked.connect(node_dialog.save) node_dialog.dialog.findChild(QPushButton, "btnClose").clicked.connect(node_dialog.close)
def init_config(): feature_dialog.dialog.findChild(QComboBox, "arccat_id").setVisible(False) arccat_id = utils_giswater.getWidgetText("arccat_id", False) feature_dialog.change_arc_type() feature_dialog.dialog.findChild(QComboBox, "cat_arctype_id").activated.connect( feature_dialog.change_arc_type) feature_dialog.dialog.findChild(QComboBox, "arccat_id_dummy").activated.connect( feature_dialog.change_arc_cat) utils_giswater.setSelectedItem("arccat_id_dummy", arccat_id) utils_giswater.setSelectedItem("arccat_id", arccat_id) feature_dialog.dialog.findChild(QComboBox, "epa_type").activated.connect( feature_dialog.change_epa_type) feature_dialog.dialog.findChild(QPushButton, "btn_accept").clicked.connect( feature_dialog.save) feature_dialog.dialog.findChild(QPushButton, "btn_close").clicked.connect( feature_dialog.close)
def change_node_type_id(self, index): """ Define and execute query to populate combo 'cat_nodetype_id' """ node_type_id = utils_giswater.getWidgetText("node_type_dummy", False) if node_type_id: utils_giswater.setWidgetText("node_type", node_type_id) sql = "SELECT id FROM " + self.schema_name + ".cat_node" sql += " WHERE nodetype_id = '" + node_type_id + "' ORDER BY id" rows = self.dao.get_rows(sql) utils_giswater.fillComboBox("nodecat_id_dummy", rows, False) if index == -1: utils_giswater.setWidgetText("nodecat_id_dummy", self.nodecat_id) self.change_node_cat() if self.loaded: sql = "SELECT epa_default FROM " + self.schema_name + ".node_type" sql += " WHERE id = '" + node_type_id + "'" rows = self.dao.get_rows(sql) utils_giswater.setWidgetText("epa_type", rows[0][0]) utils_giswater.setSelectedItem("epa_type", rows[0][0]) self.change_epa_type(-1) else: self.loaded = True
def init_config(): # Manage visibility feature_dialog.dialog.findChild(QComboBox, "connecat_id").setVisible(False) feature_dialog.dialog.findChild(QComboBox, "cat_connectype_id").setVisible(False) # Manage 'connecat_id' connecat_id = utils_giswater.getWidgetText("connecat_id") feature_dialog.dialog.findChild(QComboBox, "connecat_id_dummy").activated.connect(feature_dialog.change_connec_cat) utils_giswater.setSelectedItem("connecat_id_dummy", connecat_id) utils_giswater.setSelectedItem("connecat_id", connecat_id) # Manage 'connec_type' cat_connectype_id = utils_giswater.getWidgetText("cat_connectype_id") utils_giswater.setSelectedItem("cat_connectype_id_dummy", cat_connectype_id) feature_dialog.dialog.findChild(QComboBox, "cat_connectype_id_dummy").activated.connect(feature_dialog.change_connec_type_id) feature_dialog.change_connec_type_id(-1) # Set button signals feature_dialog.dialog.findChild(QPushButton, "btn_accept").clicked.connect(feature_dialog.update_sum) feature_dialog.dialog.findChild(QPushButton, "btn_close").clicked.connect(feature_dialog.close)
def init_config(): # Manage visibility feature_dialog.dialog.findChild(QComboBox, "cat_arctype_id").setVisible(False) feature_dialog.dialog.findChild(QComboBox, "arccat_id").setVisible(False) # Manage 'arccat_id' nodecat_id = utils_giswater.getWidgetText("arccat_id") feature_dialog.dialog.findChild(QComboBox, "arccat_id_dummy").activated.connect(feature_dialog.change_arc_cat) utils_giswater.setSelectedItem("arcccat_id_dummy", nodecat_id) utils_giswater.setSelectedItem("nodecat_id", nodecat_id) # Manage 'cat_arctype_id' arc_type_id = utils_giswater.getWidgetText("cat_arctype_id") utils_giswater.setSelectedItem("cat_arctype_id_dummy", arc_type_id) feature_dialog.dialog.findChild(QComboBox, "cat_arctype_id_dummy").activated.connect(feature_dialog.change_arc_type_id) feature_dialog.change_arc_type_id(-1) # Set 'epa_type' and button signals feature_dialog.dialog.findChild(QComboBox, "epa_type").activated.connect(feature_dialog.change_epa_type) feature_dialog.dialog.findChild(QPushButton, "btn_accept").clicked.connect(feature_dialog.save) feature_dialog.dialog.findChild(QPushButton, "btn_close").clicked.connect(feature_dialog.close)
def init_config(): # Manage visibility feature_dialog.dialog.findChild(QComboBox, "node_type").setVisible(False) feature_dialog.dialog.findChild(QComboBox, "nodecat_id").setVisible(False) # Manage 'nodecat_id' nodecat_id = utils_giswater.getWidgetText("nodecat_id") feature_dialog.dialog.findChild(QComboBox, "nodecat_id_dummy").activated.connect(feature_dialog.change_node_cat) utils_giswater.setSelectedItem("nodecat_id_dummy", nodecat_id) utils_giswater.setSelectedItem("nodecat_id", nodecat_id) # Manage 'node_type' node_type_id = utils_giswater.getWidgetText("node_type") utils_giswater.setSelectedItem("node_type_dummy", node_type_id) feature_dialog.dialog.findChild(QComboBox, "node_type_dummy").activated.connect(feature_dialog.change_node_type_id) feature_dialog.change_node_type_id(-1) # Set 'epa_type' and button signals feature_dialog.dialog.findChild(QComboBox, "epa_type").activated.connect(feature_dialog.change_epa_type) feature_dialog.dialog.findChild(QPushButton, "btn_accept").clicked.connect(feature_dialog.save) feature_dialog.dialog.findChild(QPushButton, "btn_close").clicked.connect(feature_dialog.close)
def init_config(dialog): # Manage 'arc_type' arc_type = utils_giswater.getWidgetText(dialog, "arc_type") utils_giswater.setSelectedItem(dialog, "arc_type", arc_type)
def changeNodeCat(self, index): """ Just select item to 'real' combo 'nodecat_id' (that is hidden) """ dummy = utils_giswater.getSelectedItem("nodecat_id_dummy") utils_giswater.setSelectedItem("nodecat_id", dummy)