Ejemplo n.º 1
0
 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()
Ejemplo n.º 2
0
    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"]))
Ejemplo n.º 3
0
 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()
Ejemplo n.º 4
0
 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"])
Ejemplo n.º 5
0
    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