def getData(self, attrStrId, role): if role == DISPLAY_ROLE: if attrStrId == StrUtil.ITEM_ATTR_CLASS: return tStr(self.className) elif attrStrId == StrUtil.ITEM_ATTR_NAME: return tStr(self.name) elif attrStrId == StrUtil.ITEM_ATTR_RANK: return tStr(self.rank.name) elif attrStrId == StrUtil.ITEM_ATTR_VALUE: return StrUtil.fMoneyStr(self.value) elif attrStrId == StrUtil.ITEM_ATTR_RARITY: return str(self.rarity) elif role == SORTING_ROLE: if attrStrId == StrUtil.ITEM_ATTR_CLASS: return self.className elif attrStrId == StrUtil.ITEM_ATTR_NAME: return tStr(self.name) elif attrStrId == StrUtil.ITEM_ATTR_RANK: return self.rank.rankIndex elif attrStrId == StrUtil.ITEM_ATTR_VALUE: return self.value elif attrStrId == StrUtil.ITEM_ATTR_RARITY: return self.rarity elif role == DATA_ROLE: if attrStrId == StrUtil.ITEM_ATTR_CLASS: return self.className elif attrStrId == StrUtil.ITEM_ATTR_NAME: return self.name elif attrStrId == StrUtil.ITEM_ATTR_RANK: return self.rank elif attrStrId == StrUtil.ITEM_ATTR_VALUE: return self.value elif attrStrId == StrUtil.ITEM_ATTR_RARITY: return self.rarity return None
def labels(self, texts, addColon=True): self.__beginFormLayout() for i in range(len(texts)): s = tStr(texts[i][0]) if addColon: s += ":" name = self.__mkLabel(s) field = self.__mkLabel(tStr(texts[i][1])) self.layoutStack[-1].addRow(name, field) self.__endFormLayout()
def __mkButton(self, text, options={}): bt = self.makeWidget(QPushButton, tStr(text)) clickedSlot = options.get("clickedSlot", None) if clickedSlot is not None: bt.clicked.connect(clickedSlot) return bt
def __str__(self): s = self.name + "(" + str(self.rank) + "):" if len(self.ownedItems) == 0: s += "\n No Items" else: s += ("\n Items:") s += ("\n " + tStr(self.ownedItems)) s += "\n------------------------------------------" return s
def itemTableViewContextMenu(self, pos): menu = QMenu() funcs = self.getFuncsAllSelectedItemsHave() if funcs == None: return for k, v in funcs.iteritems(): menu.addAction(tStr(k), lambda func=v: func(self.getCurrentSelected(), self.actor)) menu.exec_(self.tableView.mapToGlobal(pos))
def headerData(self, section, orientation, role=Qt.DisplayRole): if role == Qt.TextAlignmentRole: return QVariant(int(Qt.AlignHCenter | Qt.AlignVCenter)) elif role == Qt.DisplayRole: if orientation == Qt.Horizontal: return tStr(self.columns[section]) elif orientation == Qt.Vertical: return QVariant(section + 1) return QVariant()
def createStrUtilRegex (prefix): r = r"(" for k, v in StrUtil.__dict__.items(): if k.startswith(prefix): r += tStr(v)+"|" if r != "": r = r[:-1] r+=")" print (r) return r
def __mkLabel(self, text, options={}): label = self.makeWidget(QLabel, tStr(text)) label.setWordWrap(options.get("wordWrap", True)) label.setAlignment(options.get("alignment", Qt.AlignLeft | Qt.AlignVCenter)) label.setSizePolicy(*options.get("sizePolicy", (QSizePolicy.Preferred, QSizePolicy.Preferred))) label.setFrameStyle(options.get("frameStyle", QFrame.NoFrame)) f = label.font() f.setPointSize(options.get("fontSize", 11)) label.setFont(f) label.setScaledContents(options.get("scaledContents", True)) elideWidth = options.get("maxTextWidth", 0) if elideWidth > 0: text = label.fontMetrics().elidedText(text, Qt.ElideRight, elideWidth) label.setText(text) return label
def onComposerDraw(self, uiFactory, amount, min, max): uiFactory.label(tStr(self.name)) uiFactory.image(self.imgPath) if min == max: if min == -1: uiFactory.spinBox(amount, 1, 9999999999) else: uiFactory.beginHorizontal() uiFactory.spinBox(amount, 1, max) uiFactory.label("of {}".format(max)) uiFactory.endHorizontal() else: uiFactory.beginHorizontal() uiFactory.spinBox(amount, 1, max) uiFactory.label("({} to {})".format(min, max)) uiFactory.endHorizontal()
def isValidItem(self, aItem): value = aItem.item.getData (self.attrId, ItemTemplates.DISPLAY_ROLE) if self.subAttr != None: value = value.__dict__[self.subAttr] value = tStr(value) if value == None: return False if self.opId == self.STARTS_WITH: return value.startswith(self.const) if self.opId == self.ENDS_WITH: return value.endswith(self.const) if self.opId == self.CONTAINS: return self.const in value
def getTaskString(self): if self.isCompleted: return tStr(self.description) + " (Check)" else: return tStr(self.description) + " ({}/{})".format( self.amountActorHas, self.requiredAItem.amount)
def __str__(self): return "{} \"{}\" ".format(str(type(self)), tStr(self.name))