コード例 #1
0
 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
コード例 #2
0
 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()
コード例 #3
0
    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
コード例 #4
0
 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
コード例 #5
0
    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))
コード例 #6
0
 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()
コード例 #7
0
ファイル: Refila.py プロジェクト: Oribow/Anki-MoreStrategy
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
コード例 #8
0
 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
コード例 #9
0
 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()
コード例 #10
0
ファイル: Refila.py プロジェクト: Oribow/Anki-MoreStrategy
 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
コード例 #11
0
 def getTaskString(self):
     if self.isCompleted:
         return tStr(self.description) + " (Check)"
     else:
         return tStr(self.description) + " ({}/{})".format(
             self.amountActorHas, self.requiredAItem.amount)
コード例 #12
0
 def __str__(self):
     return "{} \"{}\" ".format(str(type(self)), tStr(self.name))