def __init__(self, mainW): super(newTemplate, self).__init__() self.ui = Ui_newTemplate() self.ui.setupUi(self) self.mainW = mainW self.field_list = [] self.ui.returnButton.clicked.connect(self.returnToMain) self.ui.addFieldButton.clicked.connect(self.addField) self.ui.createTemplateButton.clicked.connect(self.createTemplate)
class newTemplate(QWidget): def __init__(self, mainW): super(newTemplate, self).__init__() self.ui = Ui_newTemplate() self.ui.setupUi(self) self.mainW = mainW self.field_list = [] self.ui.returnButton.clicked.connect(self.returnToMain) self.ui.addFieldButton.clicked.connect(self.addField) self.ui.createTemplateButton.clicked.connect(self.createTemplate) # Closes itself and re-shows the main window. def returnToMain(self): self.close() self.mainW.show() def addField(self): # Get text from field. text = self.ui.fieldToAdd.text() # Check which radio button is selected. isItText = False if self.ui.textButton.isChecked(): isItText = True # As long as it is not blank, add it to the list and clear the field. if text != "" and (self.ui.textButton.isChecked() or self.ui.intButton.isChecked()): text_to_add = self.ui.fieldToAdd.text() if text_to_add in self.field_list: errorMessage("Field already exists with that name!") return self.field_list.append(text_to_add) if isItText: text_to_add += " (text)" else: text_to_add += " (integer)" self.ui.fieldList.addItem(QListWidgetItem(text_to_add, self.ui.fieldList)) self.ui.fieldToAdd.clear() def createTemplate(self): templateName = self.ui.templateName.text() gameSystem = self.ui.gameSystem.text() if templateName == "": errorMessage("Template name required!") return if gameSystem == "": errorMessage("Game System required!") return if self.ui.fieldList.count() < 1: errorMessage("At least one field required!") return fields = [] if templateName + "_" + gameSystem + ".csv" in os.listdir('templates'): errorMessage("Template already exists!") for i in range(self.ui.fieldList.count()): fields.append(self.ui.fieldList.item(i).text()) if templateName != "" and gameSystem != "" and len(fields) != 0: filename = "templates/" + templateName + "_" + gameSystem + ".csv" with open(filename, "w") as f: f.write(templateName + ",\n") f.write(gameSystem + ",\n") for entry in fields: f.write(entry + ",\n") self.ui.templateName.clear() self.ui.gameSystem.clear() self.ui.fieldList.clear() d = newTemplateDialog(self, self.mainW) d.show()
class newTemplate(QWidget): def __init__(self, mainW): super(newTemplate, self).__init__() self.ui = Ui_newTemplate() self.ui.setupUi(self) self.mainW = mainW self.field_list = [] self.ui.returnButton.clicked.connect(self.returnToMain) self.ui.addFieldButton.clicked.connect(self.addField) self.ui.createTemplateButton.clicked.connect(self.createTemplate) # Closes itself and re-shows the main window. def returnToMain(self): self.close() self.mainW.show() def addField(self): # Get text from field. text = self.ui.fieldToAdd.text() # Check which radio button is selected. isItText = False if self.ui.textButton.isChecked(): isItText = True # As long as it is not blank, add it to the list and clear the field. if text != "" and (self.ui.textButton.isChecked() or self.ui.intButton.isChecked()): text_to_add = self.ui.fieldToAdd.text() if text_to_add in self.field_list: errorMessage("Field already exists with that name!") return self.field_list.append(text_to_add) if isItText: text_to_add += " (text)" else: text_to_add += " (integer)" self.ui.fieldList.addItem( QListWidgetItem(text_to_add, self.ui.fieldList)) self.ui.fieldToAdd.clear() def createTemplate(self): templateName = self.ui.templateName.text() gameSystem = self.ui.gameSystem.text() if templateName == "": errorMessage("Template name required!") return if gameSystem == "": errorMessage("Game System required!") return if self.ui.fieldList.count() < 1: errorMessage("At least one field required!") return fields = [] if templateName + "_" + gameSystem + ".csv" in os.listdir('templates'): errorMessage("Template already exists!") for i in range(self.ui.fieldList.count()): fields.append(self.ui.fieldList.item(i).text()) if templateName != "" and gameSystem != "" and len(fields) != 0: filename = "templates/" + templateName + "_" + gameSystem + ".csv" with open(filename, "w") as f: f.write(templateName + ",\n") f.write(gameSystem + ",\n") for entry in fields: f.write(entry + ",\n") self.ui.templateName.clear() self.ui.gameSystem.clear() self.ui.fieldList.clear() d = newTemplateDialog(self, self.mainW) d.show()