def dataUpdated(self): # retrieve the source code self.sourceCode = self._view.functionTextView.get_buffer().get_text(self._view.functionTextView.get_buffer().get_start_iter(), self._view.functionTextView.get_buffer().get_end_iter(), True) if self._view.sourceCodeIsTheSameForReverseCheckButton.get_active(): self.reverseSourceCode = self.sourceCode else: self.reverseSourceCode = self._view.functionReverseTextView.get_buffer().get_text(self._view.functionReverseTextView.get_buffer().get_start_iter(), self._view.functionReverseTextView.get_buffer().get_end_iter(), True) # retrieve the name of the function self.functionName = self._view.nameOfFunctionEntry.get_text() if self.functionName is not None and len(self.functionName) > 0 and self.sourceCode is not None and len(self.sourceCode) > 0 and self.reverseSourceCode is not None and len(self.reverseSourceCode) > 0: self.function = CustomFunction(self.functionName, self.sourceCode, self.reverseSourceCode) errorMessage = self.function.compileSourceCode() if errorMessage is None: self._view.applyButton.set_sensitive(True) self.updateMessages() self._view.imageValid.show() self._view.imageError.hide() self._view.scrolledwindow3.show_all() self._view.labelMessage.set_label(_("Verify below the transformed messages")) self._view.labelMessage.show() else: self.function = None self._view.applyButton.set_sensitive(False) self.updateMessages() self._view.imageValid.hide() self._view.imageError.show() self._view.scrolledwindow3.show_all() self._view.labelMessage.set_label("{0}".format(errorMessage)) self._view.labelMessage.show() return errorMessage = self.function.compileReverseSourceCode() if errorMessage is None: self._view.applyButton.set_sensitive(True) self._view.imageValid.show() self._view.imageError.hide() self._view.scrolledwindow3.show_all() else: self.function = None self._view.applyButton.set_sensitive(False) self.updateMessages() self._view.imageValid.hide() self._view.imageError.show() self._view.scrolledwindow3.show_all() self._view.labelMessage.set_label("Error with the reverse source code {0}".format(errorMessage)) self._view.labelMessage.show() else: self._view.applyButton.set_sensitive(False) self._view.imageValid.hide() self._view.imageError.show() self._view.scrolledwindow3.show_all() self._view.labelMessage.set_label(_("Specify the name and the source code of your Function")) self._view.labelMessage.show()