예제 #1
0
 def quitok():
     name = self.nameEdit.text()
     description = self.descriptionEdit.text()
     evaluation = self.evalEdit.text()
     category = self.combobox.currentText()
     if knownFunctions.isFunValid(name, evaluation, decomposition.isfunction):
         self.retranslateUi(Dialog)
         self.sendFunData.emit(name, description, evaluation, category)
         Dialog.accept()
         Dialog.close()
     else:
         if evaluation == "":
             self.evalError.setText(
                 "<font color='red' size=-1><i>L'expression de la fonction ne peut être vide<i/></font>")
             self.evalError.show()
         else:
             self.evalError.hide()
         if name == "":
             reason = 'Le nom ne peut être vide'
         elif name == "args":
             reason = "'args' ne peut definir le nom d'une fonction"
         elif name in knownFunctions.dict.keys():
             reason = 'La fonction existe déjà'
         elif decomposition.isCell(name):
             reason = "Le nom d'une fonction ne peut correspondre à celui d'une celulle"
         elif decomposition.isNumber(name):
             reason = "Le nom d'une fonction ne peut correspondre à un nombre"
         elif not decomposition.isfunction(name):
             reason = "Format non valide"
         try:
             self.nameError.setText("<font color='red' size=-1><i>{}<i/></font>".format(reason))
             self.nameError.show()
         except UnboundLocalError:
             self.nameError.hide()
         print('Fonction non valide')
예제 #2
0
 def getCellByName(self, name):  # Renvoi la celulle nommée si elle existe, 0 sinon
     name = ''.join([char for char in name if char != '$'])  # On enleve les $ eventuels
     letters = ""
     numbers = ""
     k = 0
     if not decomposition.isCell(name):
         raise decomposition.Error('Format de cellule non valide')
     else:
         while len(numbers) == 0:
             if name[k].isalpha():
                 letters += name[k]
             else:
                 numbers += name[k]
             k += 1
         while k < len(name):
             numbers += name[k]
             k += 1
     try:
         return self.getCell(int(numbers) - 1, columns_labels.getColumn(letters) - 1)
     except Exception:
         raise decomposition.Error('Cellule {} non trouvée'.format(name))