def floatLineEditWidgetValidation(self, widget, varName, msg):
        var = self.tempQadVariables.getVariable(
            QadMsg.translate("Environment variables", varName))

        err = False
        string = widget.text()
        if qad_utils.str2float(string) is None:
            err = True
        else:
            if var.minNum is not None:
                if qad_utils.str2float(string) < var.minNum:
                    err = True
            if var.maxNum is not None:
                if qad_utils.str2float(string) > var.maxNum:
                    err = True

        if err:
            msg = msg + QadMsg.translate("QAD", ": enter a number")
            if var.minNum is not None:
                minValMsg = msg + QadMsg.translate("QAD", " > {0}").format(
                    str(var.minNum))
            else:
                minValMsg = ""
            if var.maxNum is not None:
                if len(minValMsg) > 0:
                    msg = msg + QadMsg.translate("QAD", " and")
                msg = msg + QadMsg.translate("QAD", " < {0}").format(
                    str(var.maxNum))
            msg = msg + "."
            QMessageBox.critical(self, "QAD", msg)
            widget.setFocus()
            widget.selectAll()
            return False
        return True
Example #2
0
   def floatLineEditWidgetValidation(self, widget, varName, msg):
      var = self.tempQadVariables.getVariable(QadMsg.translate("Environment variables", varName))

      err = False
      string = widget.text()
      if qad_utils.str2float(string) is None:
         err = True
      else:
         if var.minNum is not None:
            if qad_utils.str2float(string) < var.minNum:
               err = True
         if var.maxNum is not None:
            if qad_utils.str2float(string) > var.maxNum:
               err = True
      
      if err:
         msg = msg + QadMsg.translate("QAD", ": enter a number")
         if var.minNum is not None:
            minValMsg = msg + QadMsg.translate("QAD", " > {0}").format(str(var.minNum))
         else:
            minValMsg = ""
         if var.maxNum is not None:
            if len(minValMsg) > 0:
               msg = msg + QadMsg.translate("QAD", " and")
            msg = msg + QadMsg.translate("QAD", " < {0}").format(str(var.maxNum))
         msg = msg + "."
         QMessageBox.critical(self, "QAD", msg)
         widget.setFocus()
         widget.selectAll()
         return False
      return True
Example #3
0
   def ButtonBOX_Accepted(self):
      newOSMODE = 0
      if self.checkBox_CENP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.CEN
      if self.checkBox_ENDP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.END
      if self.checkBox_END_PLINE.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.END_PLINE
      if self.checkBox_EXTP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.EXT
      if self.checkBox_INTP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.INT
      if self.checkBox_MIDP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.MID
      if self.checkBox_NODP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.NOD
      if self.checkBox_QUADP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.QUA
      #if self.checkBox_INSP.checkState() == Qt.Checked:
      #   newOSMODE = newOSMODE | QadSnapTypeEnum.INS
      #if self.checkBox_INTAPP.checkState() == Qt.Checked:
      #   newOSMODE = newOSMODE | QadSnapTypeEnum.APP
      if self.checkBox_NEARP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.NEA
      if self.checkBox_PARALP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.PAR
      if self.checkBox_PERP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.PER
      if self.checkBox_PROGRESP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.PR
      if self.checkBox_TANP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.TAN
      if self.checkBox_EXT_INT.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.EXT_INT
      if self.checkBox_IsOsnapON.checkState() == Qt.Unchecked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.DISABLE
      QadVariables.set(QadMsg.translate("Environment variables", "OSMODE"), newOSMODE)
      
      AutoSnap = QadVariables.get(QadMsg.translate("Environment variables", "AUTOSNAP"))         
      if self.checkBox_PolarPickPoint.checkState() == Qt.Checked:
         AutoSnap = AutoSnap | 8
      elif AutoSnap & 8:      
         AutoSnap = AutoSnap - 8
      QadVariables.set(QadMsg.translate("Environment variables", "AUTOSNAP"), AutoSnap)
      
      # Memorizzo il valore di PolarANG
      SUserAngle = self.comboBox_increment_angle.currentText()
      UserAngle = qad_utils.str2float(SUserAngle)
      QadVariables.set(QadMsg.translate("Environment variables", "POLARANG"), UserAngle)
      
      SProgrDist = self.lineEdit_ProgrDistance.text()
      ProgrDist = qad_utils.str2float(SProgrDist)
      QadVariables.set(QadMsg.translate("Environment variables", "OSPROGRDISTANCE"), ProgrDist)

      QadVariables.save()

      
      self.close()
      return True
Example #4
0
 def comboBox_increment_angle_Validation(self):
    string = self.comboBox_increment_angle.lineEdit().text()
    if qad_utils.str2float(string) is None or qad_utils.str2float(string) <= 0 or qad_utils.str2float(string) >= 360:
       msg = QadMsg.translate("DSettings_Dialog", "Invalid increment angle: enter a number greater than zero and less than 360 degree.")
       QMessageBox.critical(self, "QAD", msg) 
       self.comboBox_increment_angle.lineEdit().setFocus()
       self.comboBox_increment_angle.lineEdit().selectAll()
       return False
    return True
Example #5
0
 def lineEdit_ProgrDistance_Validation(self):
    string = self.lineEdit_ProgrDistance.text()
    if qad_utils.str2float(string) is None or qad_utils.str2float(string) == 0:
       msg = QadMsg.translate("DSettings_Dialog", "Invalid progressive distance object snap: enter a number not zero.")
       QMessageBox.critical(self, "QAD", msg)
       self.lineEdit_ProgrDistance.setFocus()
       self.lineEdit_ProgrDistance.selectAll()
       return False
    return True
Example #6
0
 def comboBox_increment_angle_Validation(self):
    string = self.comboBox_increment_angle.lineEdit().text()
    if qad_utils.str2float(string) is None or qad_utils.str2float(string) <= 0 or qad_utils.str2float(string) >= 360:
       msg = QadMsg.translate("DSettings_Dialog", "Angolo di incremento polare non corretto: impostare valore numerico maggiore di 0 e minore di 360 gradi.")
       QMessageBox.critical(self, "QAD", msg) 
       self.comboBox_increment_angle.lineEdit().setFocus()
       self.comboBox_increment_angle.lineEdit().selectAll()
       return False
    return True
Example #7
0
 def lineEdit_ProgrDistance_Validation(self):
    string = self.lineEdit_ProgrDistance.text()
    if qad_utils.str2float(string) is None or qad_utils.str2float(string) == 0:
       msg = QadMsg.translate("DSettings_Dialog", "Snap ad oggetto per distanza progressiva non corretto: impostare valore numerico diverso da zero.")
       QMessageBox.critical(self, "QAD", msg)
       self.lineEdit_ProgrDistance.setFocus()
       self.lineEdit_ProgrDistance.selectAll()
       return False
    return True
Example #8
0
 def comboBox_increment_angle_Validation(self):
     string = self.comboBox_increment_angle.lineEdit().text()
     if qad_utils.str2float(string) is None or qad_utils.str2float(
             string) <= 0 or qad_utils.str2float(string) >= 360:
         msg = QadMsg.translate(
             "DSettings_Dialog",
             "Invalid increment angle: enter a number greater than zero and less than 360 degree."
         )
         QMessageBox.critical(self, "QAD", msg)
         self.comboBox_increment_angle.lineEdit().setFocus()
         self.comboBox_increment_angle.lineEdit().selectAll()
         return False
     return True
Example #9
0
 def lineEdit_ProgrDistance_Validation(self):
     string = self.lineEdit_ProgrDistance.text()
     if qad_utils.str2float(string) is None or qad_utils.str2float(
             string) == 0:
         msg = QadMsg.translate(
             "DSettings_Dialog",
             "Invalid progressive distance object snap: enter a number not zero."
         )
         QMessageBox.critical(self, "QAD", msg)
         self.lineEdit_ProgrDistance.setFocus()
         self.lineEdit_ProgrDistance.selectAll()
         return False
     return True
Example #10
0
    def accept_polar_tab(self):
        # Memorizzo il valore di AUTOSNAP
        AutoSnap = QadVariables.get(
            QadMsg.translate("Environment variables", "AUTOSNAP"))
        if self.checkBox_PolarPickPoint.checkState() == Qt.Checked:
            AutoSnap = AutoSnap | QadAUTOSNAPEnum.POLAR_TRACKING
        elif AutoSnap & QadAUTOSNAPEnum.POLAR_TRACKING:
            AutoSnap = AutoSnap - QadAUTOSNAPEnum.POLAR_TRACKING
        QadVariables.set(QadMsg.translate("Environment variables", "AUTOSNAP"),
                         AutoSnap)

        # Memorizzo il valore di POLARANG
        SUserAngle = self.comboBox_increment_angle.currentText()
        UserAngle = qad_utils.str2float(SUserAngle)
        QadVariables.set(QadMsg.translate("Environment variables", "POLARANG"),
                         UserAngle)

        # Memorizzo il valore di POLARMODE
        PolarMode = 0
        if self.radioButton_OsnapPolarAngle.isChecked():
            PolarMode = PolarMode | QadPOLARMODEnum.POLAR_TRACKING
        if self.radioButton_OsnapPolarRelative.isChecked():
            PolarMode = PolarMode | QadPOLARMODEnum.MEASURE_RELATIVE_ANGLE
        QadVariables.set(
            QadMsg.translate("Environment variables", "POLARMODE"), PolarMode)
Example #11
0
   def load(self, Path=""):
      """
      Carica il dizionario delle variabili da file
      Ritorna True in caso di successo, false in caso di errore
      """
      # svuoto il dizionario e lo reimposto con i valori di default
      self.__VariableValuesDict.clear()
      self.__init__()
      if Path == "":
         # Se la path non é indicata uso il file "qad.ini" in 
         Path = QDir.cleanPath(QgsApplication.qgisSettingsDirPath()) + "python/plugins/qad/"
         Path = Path + "qad.ini"

      if not os.path.exists(Path):
         return False
                    
      file = open(Path, "r") # apre il file in lettura
      for line in file:
         # leggo il valore + il tipo (es var = 5 <type 'int'>)
         sep = line.rfind(" = ")
         VarName = line[0:sep]
         VarName = VarName.strip(" ") # rimuovo gli spazi prima e dopo
         VarValue = line[sep+3:]
         sep = VarValue.rfind(" <type '")
         sep2 = VarValue.rfind("'>")
         VarType = VarValue[sep+8:sep2]
         VarValue = VarValue[:sep]
         if VarType == "int":
            VarValue = qad_utils.str2int(VarValue)
            if VarValue is None:
               self.set(VarName, int(0))
            else:
               self.set(VarName, VarValue)
         elif VarType == "long":
            VarValue = qad_utils.str2long(VarValue)
            if VarValue is None:
               self.set(VarName, long(0))
            else:
               self.set(VarName, VarValue)
         elif VarType == "float":
            VarValue = qad_utils.str2float(VarValue)
            if VarValue is None:
               self.set(VarName, float(0))
            else:
               self.set(VarName, VarValue)
         elif VarType == "bool":
            VarValue = qad_utils.str2bool(VarValue)
            if VarValue is None:
               self.set(VarName, False)
            else:
               self.set(VarName, VarValue)
         else:
            self.set(VarName, str(VarValue))
            
      file.close()
      
      return True
Example #12
0
    def accept_osnap_tab(self):
        # Memorizzo il valore di OSMODE
        newOSMODE = 0
        if self.checkBox_CENP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.CEN
        if self.checkBox_ENDP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.END
        if self.checkBox_END_PLINE.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.END_PLINE
        if self.checkBox_EXTP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.EXT
        if self.checkBox_INTP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.INT
        if self.checkBox_MIDP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.MID
        if self.checkBox_NODP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.NOD
        if self.checkBox_QUADP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.QUA
        #if self.checkBox_INSP.checkState() == Qt.Checked:
        #   newOSMODE = newOSMODE | QadSnapTypeEnum.INS
        #if self.checkBox_INTAPP.checkState() == Qt.Checked:
        #   newOSMODE = newOSMODE | QadSnapTypeEnum.APP
        if self.checkBox_NEARP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.NEA
        if self.checkBox_PARALP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.PAR
        if self.checkBox_PERP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.PER
        if self.checkBox_PROGRESP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.PR
        if self.checkBox_TANP.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.TAN
        if self.checkBox_EXT_INT.checkState() == Qt.Checked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.EXT_INT
        if self.checkBox_IsOsnapON.checkState() == Qt.Unchecked:
            newOSMODE = newOSMODE | QadSnapTypeEnum.DISABLE
        QadVariables.set(QadMsg.translate("Environment variables", "OSMODE"),
                         newOSMODE)

        # Memorizzo il valore di OSPROGRDISTANCE
        SProgrDist = self.lineEdit_ProgrDistance.text()
        ProgrDist = qad_utils.str2float(SProgrDist)
        QadVariables.set(
            QadMsg.translate("Environment variables", "OSPROGRDISTANCE"),
            ProgrDist)

        # Memorizzo il valore di AUTOSNAP
        AutoSnap = QadVariables.get(
            QadMsg.translate("Environment variables", "AUTOSNAP"))
        if self.checkBox_ObjectSnapTracking.checkState() == Qt.Checked:
            AutoSnap = AutoSnap | QadAUTOSNAPEnum.OBJ_SNAP_TRACKING
        elif AutoSnap & QadAUTOSNAPEnum.OBJ_SNAP_TRACKING:
            AutoSnap = AutoSnap - QadAUTOSNAPEnum.OBJ_SNAP_TRACKING
        QadVariables.set(QadMsg.translate("Environment variables", "AUTOSNAP"),
                         AutoSnap)
Example #13
0
   def accept_osnap_tab(self):
      # Memorizzo il valore di OSMODE
      newOSMODE = 0
      if self.checkBox_CENP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.CEN
      if self.checkBox_ENDP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.END
      if self.checkBox_END_PLINE.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.END_PLINE
      if self.checkBox_EXTP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.EXT
      if self.checkBox_INTP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.INT
      if self.checkBox_MIDP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.MID
      if self.checkBox_NODP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.NOD
      if self.checkBox_QUADP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.QUA
      #if self.checkBox_INSP.checkState() == Qt.Checked:
      #   newOSMODE = newOSMODE | QadSnapTypeEnum.INS
      #if self.checkBox_INTAPP.checkState() == Qt.Checked:
      #   newOSMODE = newOSMODE | QadSnapTypeEnum.APP
      if self.checkBox_NEARP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.NEA
      if self.checkBox_PARALP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.PAR
      if self.checkBox_PERP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.PER
      if self.checkBox_PROGRESP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.PR
      if self.checkBox_TANP.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.TAN
      if self.checkBox_EXT_INT.checkState() == Qt.Checked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.EXT_INT
      if self.checkBox_IsOsnapON.checkState() == Qt.Unchecked:
         newOSMODE = newOSMODE | QadSnapTypeEnum.DISABLE
      QadVariables.set(QadMsg.translate("Environment variables", "OSMODE"), newOSMODE)

      # Memorizzo il valore di OSPROGRDISTANCE
      SProgrDist = self.lineEdit_ProgrDistance.text()
      ProgrDist = qad_utils.str2float(SProgrDist)
      QadVariables.set(QadMsg.translate("Environment variables", "OSPROGRDISTANCE"), ProgrDist)
      
      # Memorizzo il valore di AUTOSNAP
      AutoSnap = QadVariables.get(QadMsg.translate("Environment variables", "AUTOSNAP"))      
      if self.checkBox_ObjectSnapTracking.checkState() == Qt.Checked:
         AutoSnap = AutoSnap | QadAUTOSNAPEnum.OBJ_SNAP_TRACKING
      elif AutoSnap & QadAUTOSNAPEnum.OBJ_SNAP_TRACKING:
         AutoSnap = AutoSnap - QadAUTOSNAPEnum.OBJ_SNAP_TRACKING
      QadVariables.set(QadMsg.translate("Environment variables", "AUTOSNAP"), AutoSnap)
Example #14
0
   def accept_polar_tab(self):
      # Memorizzo il valore di AUTOSNAP
      AutoSnap = QadVariables.get(QadMsg.translate("Environment variables", "AUTOSNAP"))
      if self.checkBox_PolarPickPoint.checkState() == Qt.Checked:
         AutoSnap = AutoSnap | QadAUTOSNAPEnum.POLAR_TRACKING
      elif AutoSnap & QadAUTOSNAPEnum.POLAR_TRACKING:
         AutoSnap = AutoSnap - QadAUTOSNAPEnum.POLAR_TRACKING
      QadVariables.set(QadMsg.translate("Environment variables", "AUTOSNAP"), AutoSnap)
      
      # Memorizzo il valore di POLARANG
      SUserAngle = self.comboBox_increment_angle.currentText()
      UserAngle = qad_utils.str2float(SUserAngle)
      QadVariables.set(QadMsg.translate("Environment variables", "POLARANG"), UserAngle)

      # Memorizzo il valore di POLARMODE
      PolarMode = 0
      if self.radioButton_OsnapPolarAngle.isChecked():
         PolarMode = PolarMode | QadPOLARMODEnum.POLAR_TRACKING
      if self.radioButton_OsnapPolarRelative.isChecked():
         PolarMode = PolarMode | QadPOLARMODEnum.MEASURE_RELATIVE_ANGLE
      QadVariables.set(QadMsg.translate("Environment variables", "POLARMODE"), PolarMode)
Example #15
0
   def evaluate(self, cmd):      
      #------------------------------------------------------------------------------
      # nome di un comando
      #------------------------------------------------------------------------------ 
      if self.inputType & QadInputTypeEnum.COMMAND:
         if cmd == "":
            cmd = unicode(self.showLast()) # ripeto ultimo comando
         
         if self.parentWidget().isValidCommand(cmd):
            self.updateHistory(cmd)
            self.parentWidget().runCommand(cmd)
         else:
            msg = QadMsg.translate("QAD", "\nComando sconosciuto \"{0}\".")
            self.showMsg(msg.format(cmd.encode('ascii','ignore')), True) # ripete il prompt
         return

      if cmd == "":
         if self.default is not None:
            if type(self.default) == QgsPoint:
               cmd = self.default.toString()
            else:
               cmd = unicode(self.default)              
               
         if cmd == "" and \
            not (self.inputMode & QadInputModeEnum.NOT_NULL): # permesso input nullo              
            self.parentWidget().continueCommand(None)         
            return
                       
      #------------------------------------------------------------------------------
      # punto 2D
      #------------------------------------------------------------------------------ 
      if self.inputType & QadInputTypeEnum.POINT2D:
         snapType = qad_utils.str2snapTypeEnum(cmd)
         if snapType != -1:
            # se é stato forzato uno snap
            snapParams = qad_utils.str2snapParams(cmd)
            self.parentWidget().forceCommandMapToolSnapTypeOnce(snapType, snapParams)
            self.showMsg(QadMsg.translate("QAD", "\n(impostato snap temporaneo)\n"), True) # ripeti il prompt
            return
         if (self.inputType & QadInputTypeEnum.INT) or \
            (self.inputType & QadInputTypeEnum.LONG) or \
            (self.inputType & QadInputTypeEnum.FLOAT) or \
            (self.inputType & QadInputTypeEnum.ANGLE) or \
            (self.inputType & QadInputTypeEnum.BOOL):
            oneNumberAllowed = False
         else:
            oneNumberAllowed = True
            
         pt = qad_utils.str2QgsPoint(cmd, \
                                     self.parentWidget().getLastPoint(), \
                                     self.parentWidget().getCurrenPointFromCommandMapTool(), \
                                     oneNumberAllowed)
                      
         if pt is not None:
            self.parentWidget().setLastPoint(pt)
            self.parentWidget().continueCommand(pt)
            return
            
      #------------------------------------------------------------------------------
      # punto 3D
      #------------------------------------------------------------------------------ 
      if self.inputType & QadInputTypeEnum.POINT3D: # punto
         pass
      
      #------------------------------------------------------------------------------
      # una parola chiave
      #------------------------------------------------------------------------------ 
      if self.inputType & QadInputTypeEnum.KEYWORDS:
         keyWord = self.evaluateKeyWords(cmd)
               
         if keyWord is not None:
            self.parentWidget().continueCommand(keyWord)
            return
                      
      #------------------------------------------------------------------------------
      # una stringa
      #------------------------------------------------------------------------------ 
      if self.inputType & QadInputTypeEnum.STRING:            
         if cmd is not None:            
            self.parentWidget().continueCommand(cmd)
            return       
                     
      #------------------------------------------------------------------------------
      # un numero intero
      #------------------------------------------------------------------------------ 
      if self.inputType & QadInputTypeEnum.INT:
         num = qad_utils.str2int(cmd)
         if num == 0 and (self.inputMode & QadInputModeEnum.NOT_ZERO): # non permesso valore = 0              
            num = None
         elif num < 0 and (self.inputMode & QadInputModeEnum.NOT_NEGATIVE): # non permesso valore < 0              
            num = None
         elif num > 0 and (self.inputMode & QadInputModeEnum.NOT_POSITIVE): # non permesso valore > 0              
            num = None
               
         if num is not None:
            self.parentWidget().continueCommand(int(num))
            return       
                     
      #------------------------------------------------------------------------------
      # un numero lungo
      #------------------------------------------------------------------------------ 
      if self.inputType & QadInputTypeEnum.LONG:
         num = qad_utils.str2long(cmd)
         if num == 0 and (self.inputMode & QadInputModeEnum.NOT_ZERO): # non permesso valore = 0              
            num = None
         elif num < 0 and (self.inputMode & QadInputModeEnum.NOT_NEGATIVE): # non permesso valore < 0              
            num = None
         elif num > 0 and (self.inputMode & QadInputModeEnum.NOT_POSITIVE): # non permesso valore > 0              
            num = None
            
         if num is not None:
            self.parentWidget().continueCommand(long(num))
            return       
                     
      #------------------------------------------------------------------------------
      # un numero reale
      #------------------------------------------------------------------------------ 
      if self.inputType & QadInputTypeEnum.FLOAT or self.inputType & QadInputTypeEnum.ANGLE:
         num = qad_utils.str2float(cmd)
         if num == 0 and (self.inputMode & QadInputModeEnum.NOT_ZERO): # non permesso valore = 0              
            num = None
         elif num < 0 and (self.inputMode & QadInputModeEnum.NOT_NEGATIVE): # non permesso valore < 0              
            num = None
         elif num > 0 and (self.inputMode & QadInputModeEnum.NOT_POSITIVE): # non permesso valore > 0              
            num = None
            
         if num is not None:
            if self.inputType & QadInputTypeEnum.ANGLE: # se é un angolo in gradi
               # i gradi vanno convertiti in radianti
               num = qad_utils.toRadians(num)            
            self.parentWidget().continueCommand(float(num))         
            return       

      #------------------------------------------------------------------------------
      # un valore booleano
      #------------------------------------------------------------------------------ 
      elif self.inputType & QadInputTypeEnum.BOOL:
         value = qad_utils.str2bool(cmd)
            
         if value is not None:
            self.parentWidget().continueCommand(value)
            return       

      self.showMsg(self.getInvalidInputMsg())
      
      if self.inputType & QadInputTypeEnum.KEYWORDS:
         self.displayKeyWordsPrompt()
      else:
         self.displayPrompt()
         
      return