def __init__(self, parent, afefuc, item = None): self.parent = parent self.dialog = QtGui.QDialog() self.form = Ui_UseCaseForm() self.afefuc = afefuc self.item = item[1] self.item_original = item[0] self.actors = afefuc['project'].actors
class UseCaseFormWrapper(): def __init__(self, parent, afefuc, item = None): self.parent = parent self.dialog = QtGui.QDialog() self.form = Ui_UseCaseForm() self.afefuc = afefuc self.item = item[1] self.item_original = item[0] self.actors = afefuc['project'].actors def load(self): self.form.titleEdit.setText(_fromUtf8(converter.itemsToText(self.item.title, edit = True))) self.form.idEdit.setText(_fromUtf8(self.item.identifier)) self.form.summaryTextEdit.setPlainText(_fromUtf8(converter.itemsToText(self.item.summary, edit = True))) self.form.remarksTextEdit.setPlainText(_fromUtf8(converter.itemsToText(self.item.remarks, edit = True))) if self.item.priority: index = self.form.priorityComboBox.findText(_fromUtf8(self.item.priority.item.name)) if index != -1: self.form.priorityComboBox.setCurrentIndex(index) if self.item.goal_level: index = self.form.goalLevelComboBox.findText(_fromUtf8(self.item.goal_level.item.name)) if index != -1: self.form.goalLevelComboBox.setCurrentIndex(index) mainactorlist = [] otheractorlist = [] mainActorlayout = QtGui.QVBoxLayout() for act in self.actors: chekMain = QtGui.QCheckBox(act.name) if len(self.item.main_actors) != 0: if act.name in self.item.main_actors: chekMain.setChecked(True) else: chekMain.setEnabled(False) chekMain.setObjectName(act.name) mainActorlayout.addWidget(chekMain) mainactorlist.append(chekMain) if len(self.item.main_actors) != 0: QtCore.QObject.connect(chekMain, QtCore.SIGNAL("stateChanged(int)"), lambda: self.setEditEnableAndDisableMainActorList(otheractorlist,mainactorlist)) else: QtCore.QObject.connect(chekMain, QtCore.SIGNAL("stateChanged(int)"), lambda: self.setEnableAndDisableMainActorList(otheractorlist,mainactorlist)) self.form.mainActorTab.setLayout(mainActorlayout) otherActorslayout = QtGui.QVBoxLayout() for othact in self.actors: chekOther = QtGui.QCheckBox(othact.name) if len(self.item.other_actors) != 0: if othact.name in self.item.other_actors: chekOther.setChecked(True) else: chekOther.setEnabled(False) chekOther.setChecked(False) chekOther.setObjectName(othact.name) otherActorslayout.addWidget(chekOther) otheractorlist.append(chekOther) if len(self.item.other_actors) != 0: QtCore.QObject.connect(chekOther, QtCore.SIGNAL("stateChanged(int)"), lambda: self.setEditEnableAndDisableOtherAcotrList(otheractorlist,mainactorlist)) else: QtCore.QObject.connect(chekOther, QtCore.SIGNAL("stateChanged(int)"), lambda: self.setEnableAndDisableOtherAcotrList(otheractorlist,mainactorlist)) self.form.otherActorsTab.setLayout(otherActorslayout) if len(self.item.main_actors) != 0 and len(self.item.other_actors) != 0 : for i in range(len(mainactorlist)): if mainactorlist[i].checkState() == 0 and otheractorlist[i].checkState() == 0: mainactorlist[i].setEnabled(True) otheractorlist[i].setEnabled(True) elif len(self.item.main_actors) != 0 and len(self.item.other_actors) == 0: for i in range(len(mainactorlist)): if mainactorlist[i].checkState() == 2: otheractorlist[i].setEnabled(False) elif len(self.item.main_actors) == 0 and len(self.item.other_actors) != 0: for i in range(len(mainactorlist)): if otheractorlist[i].checkState() == 2 : mainactorlist[i].setEnabled(False) def show(self): self.form.setupUi(self.dialog) for p in self.afefuc['project'].ucspec.priorities: self.form.priorityComboBox.addItem(p.name, p) for p in self.afefuc['project'].ucspec.goal_levels: self.form.goalLevelComboBox.addItem(p.name, p) self.modelEV = EventsTableModel(self.form.eventsView, self.afefuc, (self.item_original, self.item)) self.form.eventsView.setModel(self.modelEV) #self.form.eventsView.setItemDelegateForColumn(2, PushButtonDelegate(self.form.eventsView, "X")) self.form.eventsView.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents) self.form.eventsView.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch) #self.form.eventsView.setColumnWidth(2, 20) self.form.eventsView.horizontalHeader().hide() self.form.eventsView.verticalHeader().hide() self.form.eventsView.setEditTriggers(QtGui.QAbstractItemView.CurrentChanged) self.form.eventsView.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.form.eventsView.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.modelMS = MainScenarioTableModel(self.form.mainScenarioView, self.afefuc, (self.item_original, self.item), self.modelEV) self.form.mainScenarioView.setModel(self.modelMS) #self.form.mainScenarioView.setItemDelegateForColumn(2, PushButtonDelegate(self.form.mainScenarioView, "E")) #self.form.mainScenarioView.setItemDelegateForColumn(3, PushButtonDelegate(self.form.mainScenarioView, "X")) self.form.mainScenarioView.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents) self.form.mainScenarioView.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch) self.form.mainScenarioView.setColumnWidth(2, 20) self.form.mainScenarioView.setColumnWidth(3, 20) self.form.mainScenarioView.horizontalHeader().hide() self.form.mainScenarioView.verticalHeader().hide() self.form.mainScenarioView.setEditTriggers(QtGui.QAbstractItemView.CurrentChanged) self.form.mainScenarioView.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.form.mainScenarioView.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) conditions = [ (self.form.triView, self.item.triggers), (self.form.prcView, self.item.preconditions), (self.form.pocView, self.item.postconditions), ] for v, c in conditions: m = ConditionsTableModel(v, self.afefuc, (self.item_original, self.item), c) v.setModel(m) v.horizontalHeader().hide() v.verticalHeader().hide() v.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents) v.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch) v.setEditTriggers(QtGui.QAbstractItemView.CurrentChanged) v.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) v.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) QtCore.QObject.connect(self.form.insertStepMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertStepMSButton) QtCore.QObject.connect(self.form.addEventMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedAddEventMSButton) QtCore.QObject.connect(self.form.deleteMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeleteMSButton) QtCore.QObject.connect(self.form.moveUpMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpMSButton) QtCore.QObject.connect(self.form.moveDownMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownMSButton) QtCore.QObject.connect(self.form.insertStepEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertStepEvButton) QtCore.QObject.connect(self.form.deleteEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeleteEvButton) QtCore.QObject.connect(self.form.moveUpEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpEvButton) QtCore.QObject.connect(self.form.moveDownEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownEvButton) QtCore.QObject.connect(self.form.propertiesEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedPropertiesEvButton) QtCore.QObject.connect(self.form.titleEdit, QtCore.SIGNAL(_fromUtf8("editingFinished()")), self.editingFinishedTitleEdit) QtCore.QObject.connect(self.form.idEdit, QtCore.SIGNAL(_fromUtf8("editingFinished()")), self.editingFinishedIdEdit) QtCore.QObject.connect(self.form.insertTriButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertTriButton) QtCore.QObject.connect(self.form.deleteTriButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeleteTriButton) QtCore.QObject.connect(self.form.moveUpTriButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpTriButton) QtCore.QObject.connect(self.form.moveDownTriButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownTriButton) QtCore.QObject.connect(self.form.insertPrCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertPrCButton) QtCore.QObject.connect(self.form.deletePrCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeletePrCButton) QtCore.QObject.connect(self.form.moveUpPrCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpPrCButton) QtCore.QObject.connect(self.form.moveDownPrCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownPrCButton) QtCore.QObject.connect(self.form.insertPoCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertPoCButton) QtCore.QObject.connect(self.form.deletePoCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeletePoCButton) QtCore.QObject.connect(self.form.moveUpPoCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpPoCButton) QtCore.QObject.connect(self.form.moveDownPoCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownPoCButton) QtCore.QObject.connect(self.form.boxButton, QtCore.SIGNAL(_fromUtf8("accepted()")), self.clickedOKButton) QtCore.QObject.connect(self.form.boxButton, QtCore.SIGNAL(_fromUtf8("rejected()")), self.clickedCancelButton) #self.form.tabWidget.removeTab(2) self.load() self.dialog.exec_() def setEnableAndDisableMainActorList(self,otheractorlists,mainactorlists): for mainactorlist in mainactorlists: if mainactorlist.checkState()== 2: oindex = mainactorlists.index(mainactorlist) otheractorlists[oindex].setEnabled(False) if str(mainactorlist.objectName()).split("_")[0] not in self.item.main_actors: self.item.main_actors.append(str(mainactorlist.objectName()).split("_")[0]) if mainactorlist.checkState()== 0: oindex = mainactorlists.index(mainactorlist) otheractorlists[oindex].setEnabled(True) # self.item.main_actors.remove("A2") def setEnableAndDisableOtherAcotrList(self,otheractorlists,mainactorlists): for otheractorlist in otheractorlists: if otheractorlist.checkState()== 2: oindex = otheractorlists.index(otheractorlist) mainactorlists[oindex].setEnabled(False) if str(otheractorlist.objectName()).split("_")[0] not in self.item.other_actors: self.item.other_actors.append(str(otheractorlist.objectName()).split("_")[0]) if otheractorlist.checkState()== 0: oindex = otheractorlists.index(otheractorlist) mainactorlists[oindex].setEnabled(True) # self.item.other_actors.remove(str(otheractorlist.objectName()).split("_")[0]) def setEditEnableAndDisableMainActorList(self,otheractorlists,mainactorlists): self.item.main_actors=[] for mainactorlist in mainactorlists: if mainactorlist.checkState()== 2: oindex = mainactorlists.index(mainactorlist) otheractorlists[oindex].setEnabled(False) if str(mainactorlist.objectName()).split("_")[0] not in self.item.main_actors: self.item.main_actors.append(str(mainactorlist.objectName()).split("_")[0]) if mainactorlist.checkState()== 0: oindex = mainactorlists.index(mainactorlist) otheractorlists[oindex].setEnabled(True) def setEditEnableAndDisableOtherAcotrList(self,otheractorlists,mainactorlists): self.item.other_actors=[] for otheractorlist in otheractorlists: if otheractorlist.checkState()== 2: oindex = otheractorlists.index(otheractorlist) mainactorlists[oindex].setEnabled(False) if str(otheractorlist.objectName()).split("_")[0] not in self.item.other_actors: self.item.other_actors.append(str(otheractorlist.objectName()).split("_")[0]) if otheractorlist.checkState()== 0: oindex = otheractorlists.index(otheractorlist) mainactorlists[oindex].setEnabled(True) def clickedCancelButton(self): self.dialog.close() def clickedOKButton(self): # index = self.form.priorityComboBox.currentIndex() # priority = self.form.priorityComboBox.itemData(index).toPyObject() # # try: # self.item.priority = priority.get_ref() # except: # validation.errorMessage(self.dialog, "Priority must be specified") # return # index = self.form.goalLevelComboBox.currentIndex() # priority = self.form.goalLevelComboBox.itemData(index).toPyObject() # # try: # self.item.goal_level = priority.get_ref() # except: # validation.errorMessage(self.dialog, "Goal level must be specified") # return # try: # self.item.remarks = converter.textToItems( # self.afefuc['project'], # unicode(self.form.remarksTextEdit.toPlainText().toUtf8(), "utf-8") # ) # except: # validation.errorMessage(self.dialog, "Invalid reference in remarks") # return # # try: # self.item.summary = converter.textToItems( # self.afefuc['project'], # unicode(self.form.summaryTextEdit.toPlainText().toUtf8(), "utf-8") # ) # except: # validation.errorMessage(self.dialog, "Invalid reference in summary") # return # validate errors = validation.usecase(self.afefuc['project'], self.item, self.item_original is None, self.form) if errors: validation._show(self.dialog, errors) return if self.item_original: self.parent.model.updateItem((self.item_original, self.item)) else: self.parent.model.insertItem((self.item_original, self.item)) self.dialog.close() def clickedInsertStepMSButton(self): print "!!!" step = model.Step() step.setParent(self.item) print self.form.mainScenarioView.selectedIndexes() if len(self.form.mainScenarioView.selectedIndexes()) != 0: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelMS.insertItem(step, position + 1) else: self.modelMS.insertItem(step) def clickedAddEventMSButton(self): if len(self.form.mainScenarioView.selectedIndexes()) == 2: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelEV.insertEvent(position) def clickedDeleteMSButton(self): if len(self.form.mainScenarioView.selectedIndexes()) == 2: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelMS.removeItem(position) def clickedMoveUpMSButton(self): if len(self.form.mainScenarioView.selectedIndexes()) == 2: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelMS.movePositionUp(position) def clickedMoveDownMSButton(self): if len(self.form.mainScenarioView.selectedIndexes()) == 2: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelMS.movePositionDown(position) def clickedInsertStepEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() self.modelEV.insertStep(position) def clickedDeleteEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() self.modelEV.removeItem(position) def clickedPropertiesEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() EventPropertiesFormWrapper( self, self.afefuc['project'], position ).show() def clickedMoveUpEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() self.modelEV.movePositionUp(position) def clickedMoveDownEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() self.modelEV.movePositionDown(position) def editingFinishedTitleEdit(self): try: self.item.title = converter.textToItems( self.afefuc['project'], unicode( self.form.titleEdit.text().toUtf8(), 'utf-8' ), ( self.item_original, self.item ) ) except ValueError: validation.errorMessage(None, "Invalid reference in title") return self.modelEV.reset() self.modelMS.reset() def editingFinishedIdEdit(self): self.item.identifier = unicode(self.form.idEdit.text().toUtf8(), 'utf-8') self.modelEV.reset() self.modelMS.reset() def clickedInsertTriButton(self): condition = model.Trigger() if len(self.form.triView.selectedIndexes()) != 0: position = self.form.triView.selectedIndexes()[0].row() self.form.triView.model().insertItem(condition, position) else: self.form.triView.model().insertItem(condition) def clickedDeleteTriButton(self): if len(self.form.triView.selectedIndexes()) == 2: position = self.form.triView.selectedIndexes()[0].row() self.form.triView.model().removeItem(position) def clickedMoveUpTriButton(self): if len(self.form.triView.selectedIndexes()) == 2: position = self.form.triView.selectedIndexes()[0].row() self.form.triView.model().movePositionUp(position) def clickedMoveDownTriButton(self): if len(self.form.triView.selectedIndexes()) == 2: position = self.form.triView.selectedIndexes()[0].row() self.form.triView.model().movePositionDown(position) def clickedInsertPrCButton(self): condition = model.PreCondition() if len(self.form.prcView.selectedIndexes()) != 0: position = self.form.prcView.selectedIndexes()[0].row() self.form.prcView.model().insertItem(condition, position) else: self.form.prcView.model().insertItem(condition) def clickedDeletePrCButton(self): if len(self.form.prcView.selectedIndexes()) == 2: position = self.form.prcView.selectedIndexes()[0].row() self.form.prcView.model().removeItem(position) def clickedMoveUpPrCButton(self): if len(self.form.prcView.selectedIndexes()) == 2: position = self.form.prcView.selectedIndexes()[0].row() self.form.prcView.model().movePositionUp(position) def clickedMoveDownPrCButton(self): if len(self.form.prcView.selectedIndexes()) == 2: position = self.form.prcView.selectedIndexes()[0].row() self.form.prcView.model().movePositionDown(position) def clickedInsertPoCButton(self): condition = model.PostCondition() if len(self.form.pocView.selectedIndexes()) != 0: position = self.form.pocView.selectedIndexes()[0].row() self.form.pocView.model().insertItem(condition, position) else: self.form.pocView.model().insertItem(condition) def clickedDeletePoCButton(self): if len(self.form.pocView.selectedIndexes()) == 2: position = self.form.pocView.selectedIndexes()[0].row() self.form.pocView.model().removeItem(position) def clickedMoveUpPoCButton(self): if len(self.form.pocView.selectedIndexes()) == 2: position = self.form.pocView.selectedIndexes()[0].row() self.form.pocView.model().movePositionUp(position) def clickedMoveDownPoCButton(self): if len(self.form.pocView.selectedIndexes()) == 2: position = self.form.pocView.selectedIndexes()[0].row() self.form.pocView.model().movePositionDown(position)
class UseCaseFormWrapper(): def __init__(self, parent, afefuc, item = None): self.parent = parent self.dialog = QtGui.QDialog() self.form = Ui_UseCaseForm() self.afefuc = afefuc self.item = item[1] self.item_original = item[0] def load(self): self.form.titleEdit.setText(_fromUtf8(converter.itemsToText(self.item.title, edit = True))) self.form.idEdit.setText(_fromUtf8(self.item.identifier)) self.form.actorMainEdit.setText(_fromUtf8(", ".join(["[%s] %s" % (a.item.identifier, a.item.name) for a in self.item.main_actors]))) self.form.actorOtherEdit.setText(_fromUtf8(", ".join(["[%s] %s" % (a.item.identifier, a.item.name) for a in self.item.other_actors]))) self.form.summaryTextEdit.setPlainText(_fromUtf8(converter.itemsToText(self.item.summary, edit = True))) self.form.remarksTextEdit.setPlainText(_fromUtf8(converter.itemsToText(self.item.remarks, edit = True))) if self.item.priority: index = self.form.priorityComboBox.findText(_fromUtf8(self.item.priority.item.name)) if index != -1: self.form.priorityComboBox.setCurrentIndex(index) if self.item.goal_level: index = self.form.goalLevelComboBox.findText(_fromUtf8(self.item.goal_level.item.name)) if index != -1: self.form.goalLevelComboBox.setCurrentIndex(index) def show(self): self.form.setupUi(self.dialog) for p in self.afefuc['project'].ucspec.priorities: self.form.priorityComboBox.addItem(p.name, p) for p in self.afefuc['project'].ucspec.goal_levels: self.form.goalLevelComboBox.addItem(p.name, p) self.modelEV = EventsTableModel(self.form.eventsView, self.afefuc, (self.item_original, self.item)) self.form.eventsView.setModel(self.modelEV) #self.form.eventsView.setItemDelegateForColumn(2, PushButtonDelegate(self.form.eventsView, "X")) self.form.eventsView.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents) self.form.eventsView.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch) #self.form.eventsView.setColumnWidth(2, 20) self.form.eventsView.horizontalHeader().hide() self.form.eventsView.verticalHeader().hide() self.form.eventsView.setEditTriggers(QtGui.QAbstractItemView.CurrentChanged) self.form.eventsView.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.form.eventsView.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.modelMS = MainScenarioTableModel(self.form.mainScenarioView, self.afefuc, (self.item_original, self.item), self.modelEV) self.form.mainScenarioView.setModel(self.modelMS) #self.form.mainScenarioView.setItemDelegateForColumn(2, PushButtonDelegate(self.form.mainScenarioView, "E")) #self.form.mainScenarioView.setItemDelegateForColumn(3, PushButtonDelegate(self.form.mainScenarioView, "X")) self.form.mainScenarioView.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents) self.form.mainScenarioView.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch) self.form.mainScenarioView.setColumnWidth(2, 20) self.form.mainScenarioView.setColumnWidth(3, 20) self.form.mainScenarioView.horizontalHeader().hide() self.form.mainScenarioView.verticalHeader().hide() self.form.mainScenarioView.setEditTriggers(QtGui.QAbstractItemView.CurrentChanged) self.form.mainScenarioView.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.form.mainScenarioView.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) conditions = [ (self.form.triView, self.item.triggers), (self.form.prcView, self.item.preconditions), (self.form.pocView, self.item.postconditions), ] for v, c in conditions: m = ConditionsTableModel(v, self.afefuc, (self.item_original, self.item), c) v.setModel(m) v.horizontalHeader().hide() v.verticalHeader().hide() v.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents) v.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch) v.setEditTriggers(QtGui.QAbstractItemView.CurrentChanged) v.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) v.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) QtCore.QObject.connect(self.form.actorMainSelectButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedActorMainSelectButton) QtCore.QObject.connect(self.form.actorOthersSelectButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedActorOthersSelectButton) QtCore.QObject.connect(self.form.insertStepMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertStepMSButton) QtCore.QObject.connect(self.form.addEventMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedAddEventMSButton) QtCore.QObject.connect(self.form.deleteMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeleteMSButton) QtCore.QObject.connect(self.form.moveUpMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpMSButton) QtCore.QObject.connect(self.form.moveDownMSButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownMSButton) QtCore.QObject.connect(self.form.insertStepEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertStepEvButton) QtCore.QObject.connect(self.form.deleteEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeleteEvButton) QtCore.QObject.connect(self.form.moveUpEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpEvButton) QtCore.QObject.connect(self.form.moveDownEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownEvButton) QtCore.QObject.connect(self.form.propertiesEvButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedPropertiesEvButton) QtCore.QObject.connect(self.form.titleEdit, QtCore.SIGNAL(_fromUtf8("editingFinished()")), self.editingFinishedTitleEdit) QtCore.QObject.connect(self.form.idEdit, QtCore.SIGNAL(_fromUtf8("editingFinished()")), self.editingFinishedIdEdit) QtCore.QObject.connect(self.form.insertTriButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertTriButton) QtCore.QObject.connect(self.form.deleteTriButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeleteTriButton) QtCore.QObject.connect(self.form.moveUpTriButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpTriButton) QtCore.QObject.connect(self.form.moveDownTriButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownTriButton) QtCore.QObject.connect(self.form.insertPrCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertPrCButton) QtCore.QObject.connect(self.form.deletePrCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeletePrCButton) QtCore.QObject.connect(self.form.moveUpPrCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpPrCButton) QtCore.QObject.connect(self.form.moveDownPrCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownPrCButton) QtCore.QObject.connect(self.form.insertPoCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedInsertPoCButton) QtCore.QObject.connect(self.form.deletePoCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedDeletePoCButton) QtCore.QObject.connect(self.form.moveUpPoCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveUpPoCButton) QtCore.QObject.connect(self.form.moveDownPoCButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.clickedMoveDownPoCButton) QtCore.QObject.connect(self.form.boxButton, QtCore.SIGNAL(_fromUtf8("accepted()")), self.clickedOKButton) QtCore.QObject.connect(self.form.boxButton, QtCore.SIGNAL(_fromUtf8("rejected()")), self.clickedCancelButton) #self.form.tabWidget.removeTab(2) self.load() self.dialog.exec_() def clickedCancelButton(self): self.dialog.close() def clickedOKButton(self): # index = self.form.priorityComboBox.currentIndex() # priority = self.form.priorityComboBox.itemData(index).toPyObject() # # try: # self.item.priority = priority.get_ref() # except: # validation.errorMessage(self.dialog, "Priority must be specified") # return # index = self.form.goalLevelComboBox.currentIndex() # priority = self.form.goalLevelComboBox.itemData(index).toPyObject() # # try: # self.item.goal_level = priority.get_ref() # except: # validation.errorMessage(self.dialog, "Goal level must be specified") # return # try: # self.item.remarks = converter.textToItems( # self.afefuc['project'], # unicode(self.form.remarksTextEdit.toPlainText().toUtf8(), "utf-8") # ) # except: # validation.errorMessage(self.dialog, "Invalid reference in remarks") # return # # try: # self.item.summary = converter.textToItems( # self.afefuc['project'], # unicode(self.form.summaryTextEdit.toPlainText().toUtf8(), "utf-8") # ) # except: # validation.errorMessage(self.dialog, "Invalid reference in summary") # return # validate errors = validation.usecase(self.afefuc['project'], self.item, self.item_original is None, self.form) if errors: validation._show(self.dialog, errors) return if self.item_original: self.parent.model.updateItem((self.item_original, self.item)) else: self.parent.model.insertItem((self.item_original, self.item)) self.dialog.close() def clickedActorMainSelectButton(self): SelectActorsFormWrapper( self, self.afefuc['project'], item = (None, self.item), target = self.item.main_actors, unselectable = self.item.other_actors, single = False, ).show() self.form.actorMainEdit.setText(_fromUtf8(", ".join(["[%s] %s" % (a.item.identifier, a.item.name) for a in self.item.main_actors]))) def clickedActorOthersSelectButton(self): SelectActorsFormWrapper( self, self.afefuc['project'], item = (None, self.item), target = self.item.other_actors, unselectable = self.item.main_actors, single = False ).show() self.form.actorOtherEdit.setText(_fromUtf8(", ".join(["[%s] %s" % (a.item.identifier, a.item.name) for a in self.item.other_actors]))) def clickedInsertStepMSButton(self): print "!!!" step = model.Step() step.setParent(self.item) print self.form.mainScenarioView.selectedIndexes() if len(self.form.mainScenarioView.selectedIndexes()) != 0: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelMS.insertItem(step, position + 1) else: self.modelMS.insertItem(step) def clickedAddEventMSButton(self): if len(self.form.mainScenarioView.selectedIndexes()) == 2: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelEV.insertEvent(position) def clickedDeleteMSButton(self): if len(self.form.mainScenarioView.selectedIndexes()) == 2: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelMS.removeItem(position) def clickedMoveUpMSButton(self): if len(self.form.mainScenarioView.selectedIndexes()) == 2: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelMS.movePositionUp(position) def clickedMoveDownMSButton(self): if len(self.form.mainScenarioView.selectedIndexes()) == 2: position = self.form.mainScenarioView.selectedIndexes()[0].row() self.modelMS.movePositionDown(position) def clickedInsertStepEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() self.modelEV.insertStep(position) def clickedDeleteEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() self.modelEV.removeItem(position) def clickedPropertiesEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() EventPropertiesFormWrapper( self, self.afefuc['project'], position ).show() def clickedMoveUpEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() self.modelEV.movePositionUp(position) def clickedMoveDownEvButton(self): if len(self.form.eventsView.selectedIndexes()) == 2: position = self.form.eventsView.selectedIndexes()[0].row() self.modelEV.movePositionDown(position) def editingFinishedTitleEdit(self): try: self.item.title = converter.textToItems( self.afefuc['project'], unicode( self.form.titleEdit.text().toUtf8(), 'utf-8' ), ( self.item_original, self.item ) ) except ValueError: validation.errorMessage(None, "Invalid reference in title") return self.modelEV.reset() self.modelMS.reset() def editingFinishedIdEdit(self): self.item.identifier = unicode(self.form.idEdit.text().toUtf8(), 'utf-8') self.modelEV.reset() self.modelMS.reset() def clickedInsertTriButton(self): condition = model.Trigger() if len(self.form.triView.selectedIndexes()) != 0: position = self.form.triView.selectedIndexes()[0].row() self.form.triView.model().insertItem(condition, position) else: self.form.triView.model().insertItem(condition) def clickedDeleteTriButton(self): if len(self.form.triView.selectedIndexes()) == 2: position = self.form.triView.selectedIndexes()[0].row() self.form.triView.model().removeItem(position) def clickedMoveUpTriButton(self): if len(self.form.triView.selectedIndexes()) == 2: position = self.form.triView.selectedIndexes()[0].row() self.form.triView.model().movePositionUp(position) def clickedMoveDownTriButton(self): if len(self.form.triView.selectedIndexes()) == 2: position = self.form.triView.selectedIndexes()[0].row() self.form.triView.model().movePositionDown(position) def clickedInsertPrCButton(self): condition = model.PreCondition() if len(self.form.prcView.selectedIndexes()) != 0: position = self.form.prcView.selectedIndexes()[0].row() self.form.prcView.model().insertItem(condition, position) else: self.form.prcView.model().insertItem(condition) def clickedDeletePrCButton(self): if len(self.form.prcView.selectedIndexes()) == 2: position = self.form.prcView.selectedIndexes()[0].row() self.form.prcView.model().removeItem(position) def clickedMoveUpPrCButton(self): if len(self.form.prcView.selectedIndexes()) == 2: position = self.form.prcView.selectedIndexes()[0].row() self.form.prcView.model().movePositionUp(position) def clickedMoveDownPrCButton(self): if len(self.form.prcView.selectedIndexes()) == 2: position = self.form.prcView.selectedIndexes()[0].row() self.form.prcView.model().movePositionDown(position) def clickedInsertPoCButton(self): condition = model.PostCondition() if len(self.form.pocView.selectedIndexes()) != 0: position = self.form.pocView.selectedIndexes()[0].row() self.form.pocView.model().insertItem(condition, position) else: self.form.pocView.model().insertItem(condition) def clickedDeletePoCButton(self): if len(self.form.pocView.selectedIndexes()) == 2: position = self.form.pocView.selectedIndexes()[0].row() self.form.pocView.model().removeItem(position) def clickedMoveUpPoCButton(self): if len(self.form.pocView.selectedIndexes()) == 2: position = self.form.pocView.selectedIndexes()[0].row() self.form.pocView.model().movePositionUp(position) def clickedMoveDownPoCButton(self): if len(self.form.pocView.selectedIndexes()) == 2: position = self.form.pocView.selectedIndexes()[0].row() self.form.pocView.model().movePositionDown(position)