def closeEvent(self, event): if(self.storyMgr != None): ret = QtGui.QMessageBox.warning(self, units._fromUtf8('保存'), units._fromUtf8('是否保存?'), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) if(ret == QtGui.QMessageBox.Yes): self.saveStory() event.accept()
def deleteItem(self): if (self.hasFocus()): ret = QtGui.QMessageBox.warning( self, units._fromUtf8('删除'), units._fromUtf8('是否删除?'), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) if (ret == QtGui.QMessageBox.Yes): index = self.selectionModel().currentIndex() parent = self.model.parent(index) self.model.removeRow(index.row(), parent)
def deleteItem(self): if(self.hasFocus()): ret = QtGui.QMessageBox.warning(self, units._fromUtf8('删除'), units._fromUtf8('是否删除?'), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) if(ret == QtGui.QMessageBox.Yes): index = self.selectionModel().currentIndex() parent = self.model.parent(index) self.model.removeRow(index.row(), parent)
def headerData(self, setion, orientation, role=QtCore.Qt.DisplayRole): if role == QtCore.Qt.DisplayRole and orientation == QtCore.Qt.Horizontal: if setion == 0: return units._fromUtf8("类型") elif setion == 1: return units._fromUtf8("人物") elif setion == 2: return units._fromUtf8("语句") return None
def headerData(self, setion, orientation, role=QtCore.Qt.DisplayRole): if (role == QtCore.Qt.DisplayRole and orientation == QtCore.Qt.Horizontal): if (setion == 0): return units._fromUtf8("类型") elif (setion == 1): return units._fromUtf8("人物") elif (setion == 2): return units._fromUtf8("语句") return None
def data(self, column): if column == 0: return units._fromUtf8(units.typeMapping(self.getType())) elif column == 1: if self.unitData.attrib.has_key("renwu"): showValue = AttributeData.MatchMgr().getShowValue("renwu", self.unitData.attrib["renwu"]) return units._fromUtf8(showValue) return "" elif column == 2: return units._fromUtf8(self.unitData.sentence) return None
def data(self, column): if (column == 0): return units._fromUtf8(units.typeMapping(self.getType())) elif (column == 1): if (self.unitData.attrib.has_key('renwu')): showValue = AttributeData.MatchMgr().getShowValue( 'renwu', self.unitData.attrib['renwu']) return units._fromUtf8(showValue) return "" elif (column == 2): return units._fromUtf8(self.unitData.sentence) return None
def setCheckUnit(self, unit): self.unit = unit idx = self.comboBox.findText(units._fromUtf8(unit.mType)) if (idx != -1): self.comboBox.setCurrentIndex(idx) idx = self.comboBox_2.findText(units._fromUtf8(unit.mSrcName)) if (idx != -1): self.comboBox_2.setCurrentIndex(idx) idx = self.comboBox_3.findText(units._fromUtf8(unit.mSrcSheet)) if (idx != -1): self.comboBox_3.setCurrentIndex(idx) idx = self.comboBox_4.findText(units._fromUtf8(unit.mSrcTitle)) if (idx != -1): self.comboBox_4.setCurrentIndex(idx) idx = self.comboBox_5.findText(units._fromUtf8(unit.mDescName)) if (idx != -1): self.comboBox_5.setCurrentIndex(idx) idx = self.comboBox_6.findText(units._fromUtf8(unit.mDescSheet)) if (idx != -1): self.comboBox_6.setCurrentIndex(idx) idx = self.comboBox_7.findText(units._fromUtf8(unit.mDescTitle)) if (idx != -1): self.comboBox_7.setCurrentIndex(idx) self.textEdit.setText(units._fromUtf8(unit.mRule))
def setData(self, data): for attr in self.attributeList: if (attr.type == 'combo'): comboView = self.cellWidget(attr.row, 0) comboView.setCurrentIndex(0) elif (attr.type == 'text'): textView = self.item(attr.row, 0) textView.setText(units._fromUtf8('')) tmpStack = [] updateStack = [] for (saveKey, saveValue) in data.iteritems(): item = [] item.append(saveKey) item.append(saveValue) for attr in self.attributeList: if (attr.getSaveValue() == saveKey): item.append(attr.row) if (attr.hasParent == True): if attr.parentRow in tmpStack: index = tmpStack.index(attr.parentRow) tmpStack.insert(index, attr.row) updateStack.insert(index, item) else: updateStack.append(item) tmpStack.append(attr.row) else: updateStack.append(item) tmpStack.append(attr.row) break while (len(updateStack) > 0): item = updateStack.pop() saveKey = item[0] saveValue = item[1] attr = self.attributeList[item[2]] if (attr.type == 'combo'): comboView = self.cellWidget(attr.row, 0) index = comboView.findText( units._fromUtf8(attr.getChildShowValue(saveValue))) if (index == -1): index = 0 comboView.setCurrentIndex(index) elif (attr.type == 'text'): textView = self.item(attr.row, 0) textView.setText(units._fromUtf8(saveValue))
def clickRowRight(self): if (self.model == None or self.selectionModel() == None): return False index = self.selectionModel().currentIndex() item = self.model.getItem(index) menu = QtGui.QMenu() if(item.getType() == 'card'): menu.addAction(units._fromUtf8("新建"), self.addItem) menu.addAction(units._fromUtf8("删除"), self.deleteItem) menu.addAction(units._fromUtf8("新建子节点"), self.appendItem) elif(item.getType() == 'story'): menu.addAction(units._fromUtf8("新建"), self.addItem) menu.addAction(units._fromUtf8("删除"), self.deleteItem) menu.exec_(QtGui.QCursor.pos())
def clickRowRight(self): if (self.model == None or self.selectionModel() == None): return False index = self.selectionModel().currentIndex() item = self.model.getItem(index) menu = QtGui.QMenu() if (item.getType() == 'card'): menu.addAction(units._fromUtf8("新建"), self.addItem) menu.addAction(units._fromUtf8("删除"), self.deleteItem) menu.addAction(units._fromUtf8("新建子节点"), self.appendItem) elif (item.getType() == 'story'): menu.addAction(units._fromUtf8("新建"), self.addItem) menu.addAction(units._fromUtf8("删除"), self.deleteItem) menu.exec_(QtGui.QCursor.pos())
def setData(self, data): for attr in self.attributeList: if(attr.type == 'combo'): comboView = self.cellWidget(attr.row, 0) comboView.setCurrentIndex(0) elif(attr.type == 'text'): textView = self.item(attr.row, 0) textView.setText(units._fromUtf8('')) tmpStack = [] updateStack = [] for (saveKey, saveValue) in data.iteritems(): item = [] item.append(saveKey) item.append(saveValue) for attr in self.attributeList: if(attr.getSaveValue() == saveKey): item.append(attr.row) if(attr.hasParent == True): if attr.parentRow in tmpStack: index = tmpStack.index(attr.parentRow) tmpStack.insert(index, attr.row) updateStack.insert(index, item) else: updateStack.append(item) tmpStack.append(attr.row) else: updateStack.append(item) tmpStack.append(attr.row) break while(len(updateStack) > 0): item = updateStack.pop() saveKey = item[0] saveValue = item[1] attr = self.attributeList[item[2]] if(attr.type == 'combo'): comboView = self.cellWidget(attr.row, 0) index = comboView.findText(units._fromUtf8(attr.getChildShowValue(saveValue))) if(index == -1): index = 0 comboView.setCurrentIndex(index) elif(attr.type == 'text'): textView = self.item(attr.row, 0) textView.setText(units._fromUtf8(saveValue))
def changeDescFile(self, string): string = unicode(string.toUtf8(), 'utf-8', 'ignore') self.descFullPath = os.path.join(self.mDirPath, string) if (os.path.exists(self.descFullPath) == False): return sheets = ExcelMgr.getExcelSheets(self.descFullPath) self.comboBox_6.clear() for name in sheets: self.comboBox_6.addItem(units._fromUtf8(name))
def changeSrcSheet(self, string): if (os.path.exists(self.srcFullPath) == False): return string = unicode(string.toUtf8(), 'utf-8', 'ignore') if (len(string) < 1): return titles = ExcelMgr.getExcelTitles(self.srcFullPath, string) self.comboBox_4.clear() for name in titles: self.comboBox_4.addItem(units._fromUtf8(name))
def setAttbribute(self, unitData): if (self.isMultiSelectionModel() == False): if (self.index != None and self.index.isValid()): currIndex = self.selectionModel().currentIndex() if (self.index.internalPointer() == currIndex.internalPointer()): parentIndex = self.model.parent(currIndex) index = self.model.index(currIndex.row(), 0, parentIndex) self.model.setData( index, QtCore.QVariant(units._fromUtf8(unitData.type))) index = self.model.index(currIndex.row(), 1, parentIndex) self.model.setData(index, QtCore.QVariant("")) index = self.model.index(currIndex.row(), 2, parentIndex) self.model.setData( index, QtCore.QVariant(units._fromUtf8(unitData.sentence))) item = index.internalPointer() item.unitData.attrib = copy.deepcopy(unitData.attrib) else: selectionModel = self.selectionModel() indexes = selectionModel.selectedIndexes() number = len(indexes) indexRowList = [] for index in indexes: parentIndex = self.model.parent(index) index = self.model.index(index.row(), 1, parentIndex) self.model.setData(index, QtCore.QVariant("")) row = index.row() if not (row in indexRowList): indexRowList.append(row) item = index.internalPointer() for (key, value) in unitData.attrib.iteritems(): item.unitData.attrib[key] = value item.unitData.attrib = AttributeData.MatchMgr( ).filterAttribute(item.unitData.attrib)
def __init__(self, parent = None): super(RuleView, self).__init__(parent) self.model = QtGui.QStandardItemModel() self.model.setColumnCount(8) self.model.setHeaderData(0, QtCore.Qt.Horizontal, units._fromUtf8('类型')) self.model.setHeaderData(1, QtCore.Qt.Horizontal, units._fromUtf8('源excel')) self.model.setHeaderData(2, QtCore.Qt.Horizontal, units._fromUtf8('源sheet')) self.model.setHeaderData(3, QtCore.Qt.Horizontal, units._fromUtf8('源title')) self.model.setHeaderData(4, QtCore.Qt.Horizontal, units._fromUtf8('目标excel')) self.model.setHeaderData(5, QtCore.Qt.Horizontal, units._fromUtf8('目标sheet')) self.model.setHeaderData(6, QtCore.Qt.Horizontal, units._fromUtf8('目标title')) self.model.setHeaderData(7, QtCore.Qt.Horizontal, units._fromUtf8('格式')) self.setModel(self.model) self.horizontalHeader().setDefaultAlignment(QtCore.Qt.AlignLeft)
def initData(self, filename='config.xml'): self.setRowCount(0) self.setColumnCount(0) size = len(self.attributeList) if (size > 0): self.setRowCount(size) self.setColumnCount(1) for attr in self.attributeList: item = QtGui.QTableWidgetItem() item.setText(units._fromUtf8(attr.getShowValue())) self.setVerticalHeaderItem(attr.row, item) if (attr.type == 'combo'): comboView = MComBoBox() self.setCellWidget(attr.row, 0, comboView) comboView.setPosition(attr.row, 0) comboView.addItem('') for combo in attr.comboList: comboView.addItem(units._fromUtf8( combo.getShowValue())) comboView.connectCallback(self.changed) elif (attr.type == 'text'): self.setItem(attr.row, 0, QtGui.QTableWidgetItem()) cnt = 0 headValue = ["值"] for string in headValue: item = QtGui.QTableWidgetItem() item.setText(units._fromUtf8(string)) self.setHorizontalHeaderItem(cnt, item) cnt += 1 self.resizeRowsToContents() self.resizeColumnsToContents() self.setCurrentCell(0, 0)
def setRule(self, row, unit): item = self.model.index(row, 0) self.model.setData(item, units._fromUtf8(unit.mType), QtCore.Qt.EditRole) item = self.model.index(row, 1) self.model.setData(item, units._fromUtf8(unit.mSrcName), QtCore.Qt.EditRole) item = self.model.index(row, 2) self.model.setData(item, units._fromUtf8(unit.mSrcSheet), QtCore.Qt.EditRole) item = self.model.index(row, 3) self.model.setData(item, units._fromUtf8(unit.mSrcTitle), QtCore.Qt.EditRole) item = self.model.index(row, 4) self.model.setData(item, units._fromUtf8(unit.mDescName), QtCore.Qt.EditRole) item = self.model.index(row, 5) self.model.setData(item, units._fromUtf8(unit.mDescSheet), QtCore.Qt.EditRole) item = self.model.index(row, 6) self.model.setData(item, units._fromUtf8(unit.mDescTitle), QtCore.Qt.EditRole) item = self.model.index(row, 7) self.model.setData(item, units._fromUtf8(unit.mRule), QtCore.Qt.EditRole)
def addRule(self, row, rule): item = QtGui.QStandardItem(units._fromUtf8(rule.mType)) self.model.setItem(row, 0, item) item = QtGui.QStandardItem(units._fromUtf8(rule.mSrcName)) self.model.setItem(row, 1, item) item = QtGui.QStandardItem(units._fromUtf8(rule.mSrcSheet)) self.model.setItem(row, 2, item) item = QtGui.QStandardItem(units._fromUtf8(rule.mSrcTitle)) self.model.setItem(row, 3, item) item = QtGui.QStandardItem(units._fromUtf8(rule.mDescName)) self.model.setItem(row, 4, item) item = QtGui.QStandardItem(units._fromUtf8(rule.mDescSheet)) self.model.setItem(row, 5, item) item = QtGui.QStandardItem(units._fromUtf8(rule.mDescTitle)) self.model.setItem(row, 6, item) item = QtGui.QStandardItem(units._fromUtf8(rule.mRule)) self.model.setItem(row, 7, item)
def setAttbribute(self, unitData): if self.isMultiSelectionModel() == False: if self.index != None and self.index.isValid(): currIndex = self.selectionModel().currentIndex() if self.index.internalPointer() == currIndex.internalPointer(): parentIndex = self.model.parent(currIndex) index = self.model.index(currIndex.row(), 0, parentIndex) self.model.setData(index, QtCore.QVariant(units._fromUtf8(unitData.type))) index = self.model.index(currIndex.row(), 1, parentIndex) self.model.setData(index, QtCore.QVariant("")) index = self.model.index(currIndex.row(), 2, parentIndex) self.model.setData(index, QtCore.QVariant(units._fromUtf8(unitData.sentence))) item = index.internalPointer() item.unitData.attrib = copy.deepcopy(unitData.attrib) else: selectionModel = self.selectionModel() indexes = selectionModel.selectedIndexes() number = len(indexes) indexRowList = [] for index in indexes: parentIndex = self.model.parent(index) index = self.model.index(index.row(), 1, parentIndex) self.model.setData(index, QtCore.QVariant("")) row = index.row() if not (row in indexRowList): indexRowList.append(row) item = index.internalPointer() for (key, value) in unitData.attrib.iteritems(): item.unitData.attrib[key] = value item.unitData.attrib = AttributeData.MatchMgr().filterAttribute(item.unitData.attrib)
def updateData(self, attr, value): if(attr.hasChild == False): return for child in attr.children: if(child.type == 'combo'): comboView = self.cellWidget(child.row, 0) comboView.clear() comboView.addItem('') for combo in child.comboList: if(combo.parentName == value): comboView.addItem(units._fromUtf8(combo.getShowValue())) comboView.setCurrentIndex(0) self.resizeRowsToContents() self.resizeColumnsToContents()
def initData(self, filename = 'config.xml'): self.setRowCount(0) self.setColumnCount(0) size = len(self.attributeList) if(size > 0): self.setRowCount(size) self.setColumnCount(1) for attr in self.attributeList: item = QtGui.QTableWidgetItem() item.setText(units._fromUtf8(attr.getShowValue())) self.setVerticalHeaderItem(attr.row, item) if(attr.type == 'combo'): comboView = MComBoBox() self.setCellWidget(attr.row, 0, comboView) comboView.setPosition(attr.row, 0) comboView.addItem('') for combo in attr.comboList: comboView.addItem(units._fromUtf8(combo.getShowValue())) comboView.connectCallback(self.changed) elif(attr.type == 'text'): self.setItem(attr.row, 0, QtGui.QTableWidgetItem()) cnt = 0 headValue = ["值"] for string in headValue: item = QtGui.QTableWidgetItem() item.setText(units._fromUtf8(string)) self.setHorizontalHeaderItem(cnt, item) cnt += 1 self.resizeRowsToContents() self.resizeColumnsToContents() self.setCurrentCell(0, 0)
def __init__(self, parent=None): super(RuleEdit, self).__init__(parent) self.setupUi(self) self.mDirPath = '' self.srcFullPath = '' self.descFullPath = '' self.mFileList = [] # self.comboBox.addItem(units._fromUtf8('关联')) # self.comboBox.addItem(units._fromUtf8('格式匹配')) # self.comboBox.addItem(units._fromUtf8('数据范围')) for val in CheckType: self.comboBox.addItem(units._fromUtf8(val)) self.unit = CheckUnit()
def updateData(self, attr, value): if (attr.hasChild == False): return for child in attr.children: if (child.type == 'combo'): comboView = self.cellWidget(child.row, 0) comboView.clear() comboView.addItem('') for combo in child.comboList: if (combo.parentName == value): comboView.addItem(units._fromUtf8( combo.getShowValue())) comboView.setCurrentIndex(0) self.resizeRowsToContents() self.resizeColumnsToContents()
def clickRowRight(self): if self.model == None or self.selectionModel() == None: return False index = self.selectionModel().currentIndex() if index.isValid(): item = self.model.getItem(index) menu = QtGui.QMenu() if item.getType() == "dialog": menu.addAction(units._fromUtf8("新建"), self.addItem) menu.addAction(units._fromUtf8("删除"), self.deleteItem) elif item.getType() == "choose": menu.addAction(units._fromUtf8("新建"), self.addItem) menu.addAction(units._fromUtf8("删除"), self.deleteItem) menu.addAction(units._fromUtf8("新建子节点"), self.appendItem) elif item.getType() == "branch": menu.addAction(units._fromUtf8("新建"), self.addItem) menu.addAction(units._fromUtf8("删除"), self.deleteItem) menu.addAction(units._fromUtf8("新建子节点"), self.appendItem) menu.exec_(QtGui.QCursor.pos())
def __init__(self, parent = None): super(MComBoBox, self).__init__(parent) QtCore.QObject.connect(self, QtCore.SIGNAL(units._fromUtf8("currentIndexChanged(int)")), self.comboChanged) self.callbackList = []
def headerData(self, setion, orientation, role = QtCore.Qt.DisplayRole): if(role == QtCore.Qt.DisplayRole and orientation == QtCore.Qt.Horizontal): if(setion == 0): return units._fromUtf8("类型") return None
def data(self, column): if(column == 0): return units._fromUtf8(self.unitData.desc) return None
def setFileList(self, fileList): self.mFileList = fileList for name in fileList: self.comboBox_2.addItem(units._fromUtf8(name)) self.comboBox_5.addItem(units._fromUtf8(name))
def data(self, column): if (column == 0): return units._fromUtf8(self.unitData.desc) return None
def __init__(self, parent=None): super(MComBoBox, self).__init__(parent) QtCore.QObject.connect( self, QtCore.SIGNAL(units._fromUtf8("currentIndexChanged(int)")), self.comboChanged) self.callbackList = []