def unsetFeatureDef(self): feature = self.comboBox_featureChoose_classFeatureDefinition.currentText( ) featureType = db.takeTypeOfFeature(feature) if featureType['Type'] == 1: self.show_ScalarEditor.deleteFeature( db.getIdFeatureClass_pairByClassNameFeatureName( self.comboBox_featureChoose_classFeatureDefinition. currentText(), self.comboBox_classChoose_classFeatureDefinition. currentText())) self.inst() if featureType['Type'] == 2: self.show_LogicalEditor.inst( self.comboBox_featureChoose_classFeatureDefinition.currentText( ), db.getIdFeatureClass_pairByClassNameFeatureName( self.comboBox_featureChoose_classFeatureDefinition. currentText(), self.comboBox_classChoose_classFeatureDefinition. currentText())) self.inst() if featureType['Type'] == 3: self.show_DimensionalEditor.inst( self.comboBox_featureChoose_classFeatureDefinition.currentText( ), db.getIdFeatureClass_pairByClassNameFeatureName( self.comboBox_featureChoose_classFeatureDefinition. currentText(), self.comboBox_classChoose_classFeatureDefinition. currentText())) self.inst()
def getValueOfFeature(self): self.text_Definition.clear() feature = self.comboBox_featureChoose_classFeatureDefinition.currentText( ) className = self.comboBox_classChoose_classFeatureDefinition.currentText( ) self.text_Definition.clear() featureType = db.takeTypeOfFeature(feature) idFeatureClass = db.getIdFeatureClass_pairByClassNameFeatureName( feature, className) if featureType is not None: if featureType['Type'] == 1: values = db.getClassFeatureDefById_Scalar(idFeatureClass) for x in values: self.text_Definition.append(x["Value"]) if featureType['Type'] == 2: values = db.getClassFeatureDefById_Logical(idFeatureClass) self.text_Definition.append("True value:=" + str(values["True_Value"])) self.text_Definition.append("False value:=" + str(values["False_Value"])) if featureType['Type'] == 3: values = db.getClassFeatureDefById_Dimensional(idFeatureClass) self.text_Definition.append( str(values["LeftValue"]) + " <= Value for class <= " + str(values["RightValue"]))
def goto_LogicalEdit(self): self.show_LogicalEditor.inst( self.comboBox_featureChoose_classFeatureDefinition.currentText(), db.getIdFeatureClass_pairByClassNameFeatureName( self.comboBox_featureChoose_classFeatureDefinition.currentText( ), self.comboBox_classChoose_classFeatureDefinition.currentText()) ) self.show_LogicalEditor.show() self.hide()
def showUnSetFeature(self): self.text_featureUnset_classFeatureDefinition.clear() self.text_featureSetted_classFeatureDefinition.clear() AllFeatures = self.takeFeaturesFromClass() if not AllFeatures == None: if len(AllFeatures) > 0: for row in AllFeatures: if db.isSet( db.getIdFeatureClass_pairByClassNameFeatureName( row["NameFeature"], self. comboBox_classChoose_classFeatureDefinition. currentText())): self.text_featureSetted_classFeatureDefinition.append( row["NameFeature"]) else: self.text_featureUnset_classFeatureDefinition.append( row["NameFeature"])
def checkOneClass(self, oneClass): classFeatures = db.getFeautureFromClass_classExplanation( oneClass["Class"]) isThisClass = True currentClass = 0 for x in classFeatures: currentFeature = x["NameFeature"] if currentFeature in self.listFeaturesToCheck: if x["Type"] == 1: featurePairId = db.getIdFeatureClass_pairByClassNameFeatureName( currentFeature, oneClass["Class"]) featureDifFromClass = db.getClassFeatureDefById_Scalar( featurePairId) if isThisClass: isThisClass = False for y in featureDifFromClass: if self.listFeaturesToCheck[currentFeature] == y[ "Value"]: isThisClass = True currentClass += 1 if not isThisClass: self.text_impossibleClasses_result.append( "Class " + oneClass["Class"] + " is impossible because feature " + currentFeature + " is not in scalar values for this class") else: isThisClassTemp = False for y in featureDifFromClass: if self.listFeaturesToCheck[currentFeature] == y[ "Value"]: isThisClassTemp = True currentClass += 1 if not isThisClassTemp: self.text_impossibleClasses_result.append( "Class " + oneClass["Class"] + " is impossible because feature " + currentFeature + " is not in scalar values for this class") if x["Type"] == 2: featurePairId = db.getIdFeatureClass_pairByClassNameFeatureName( currentFeature, oneClass["Class"]) featureDifFromClass = db.getClassFeatureDefById_Logical( featurePairId) currentClass += 1 if not (self.listFeaturesToCheck[currentFeature] == featureDifFromClass["True_Value"] or self.listFeaturesToCheck[currentFeature] == featureDifFromClass["False_Value"]): isThisClass = False self.text_impossibleClasses_result.append( "Class " + oneClass["Class"] + " is impossible because feature " + currentFeature + " is not in true or false for this class") if x["Type"] == 3: featurePairId = db.getIdFeatureClass_pairByClassNameFeatureName( currentFeature, oneClass["Class"]) featureDifFromClass = db.getClassFeatureDefById_Dimensional( featurePairId) currentClass += 1 if not (float(featureDifFromClass["LeftValue"]) <= float( self.listFeaturesToCheck[currentFeature]) <= float( featureDifFromClass["RightValue"])): isThisClass = False self.text_impossibleClasses_result.append( "Class " + oneClass["Class"] + " is impossible because feature " + currentFeature + " is not in " + str(featureDifFromClass["LeftValue"]) + ".." + str(featureDifFromClass["RightValue"])) currentFeature = "" if isThisClass: if currentClass > self.maxClass: self.line_possibleClass_result.clear() self.line_possibleClass_result.setText(oneClass["Class"]) self.maxClass = currentClass