Ejemplo n.º 1
0
def setItem(form, itemIndex, currencyName, currencyValue):
    form.tableWidgetCurrency.setItem(itemIndex,
                                     form.ig.columnNameToIndexCurrency['Name'],
                                     QtGui.QTableWidgetItem(currencyName))
    form.tableWidgetCurrency.setItem(
        itemIndex, form.ig.columnNameToIndexCurrency['Total'],
        QCI(currencyValue))
Ejemplo n.º 2
0
def setItemRequirements(form, itemIndex):
    if form.stashTabJson['items'][itemIndex].has_key('requirements'):
        valueLvl = ''
        valueStr = ''
        valueInt = ''
        valueDex = ''
        for i in range(
                len(form.stashTabJson['items'][itemIndex]['requirements'])):
            temp = form.stashTabJson['items'][itemIndex]['requirements'][i][
                'name']
            if 'Level' in temp:
                valueLvl = form.stashTabJson['items'][itemIndex][
                    'requirements'][i]['values'][0][0]
                continue
            if 'Str' in temp:
                valueStr = form.stashTabJson['items'][itemIndex][
                    'requirements'][i]['values'][0][0]
                continue
            if 'Dex' in temp:
                valueDex = form.stashTabJson['items'][itemIndex][
                    'requirements'][i]['values'][0][0]
                continue
            if 'Int' in temp:
                valueInt = form.stashTabJson['items'][itemIndex][
                    'requirements'][i]['values'][0][0]
                continue
        if valueLvl:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['rLvl'],
                                     QCI(valueLvl))
        if valueStr:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['rStr'],
                                     QCI(valueStr))
        if valueDex:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['rDex'],
                                     QCI(valueDex))
        if valueInt:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['rInt'],
                                     QCI(valueInt))
Ejemplo n.º 3
0
def setItemMapTier(form, itemIndex, dataPropertiesImplicitExplicitLinesList,
                   typeName):
    if dataPropertiesImplicitExplicitLinesList and typeName == 'Map':
        temp = dataPropertiesImplicitExplicitLinesList
        valueMTier = None
        for i in range(len(temp)):
            if ('Tier:' in temp[i]):
                valueMTier = int(temp[i].split(':')[1])
        if valueMTier:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['mTier'],
                                     QCI(str(valueMTier)))
Ejemplo n.º 4
0
def setItemApsCsch(form, itemIndex, dataPropertiesImplicitExplicitLinesList):
    if dataPropertiesImplicitExplicitLinesList:
        if unicode(
                form.tableWidget.item(
                    itemIndex, form.ig.columnNameToIndex['Type']).text()).find(
                        'H Weapon)') >= 0:
            temp = dataPropertiesImplicitExplicitLinesList
            data = []
            dataAPS = 0
            dataCsCh = 0
            for i in range(len(temp)):
                if temp[i].find('Attacks per Second:') >= 0:
                    data.append(float(temp[i].split(':')[1]))
                elif temp[i].find('Critical Strike Chance: ') >= 0:
                    dataCsCh = temp[i].split(':')[1]
                    dataCsCh = dataCsCh.split('%')
                    form.tableWidget.setItem(itemIndex,
                                             form.ig.columnNameToIndex['csCh'],
                                             QCI(dataCsCh[0]))
            dataAPS = sum(data)
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['APS'],
                                     QCI(dataAPS))
Ejemplo n.º 5
0
def openSingleJson(form):
    if form.ig.jsonConfig['curGuide']:
        directoryName = os.path.dirname(form.ig.jsonConfig['curGuide'])
    else:
        directoryName = ''
    fileName = tools.openSingleJsonFileName(directoryName)
    if fileName:
        form.guideLineEdit.setText(os.path.basename(unicode(fileName)))
        jsonData = tools.readJson(fileName)
        form.ig.jsonConfig['curGuide'] = fileName
        tools.writeJson(form.ig.jsonConfig, 'Configs\config.json')
        if not form.ig.jsonConfig['common']['configVersion'] == jsonData[
                'common']['singleJsonVersion']:
            QtGui.QMessageBox.warning(
                None, "Open single json",
                "Version mismatch. Single json cannot be opened. Please export data to single json again and then retry."
            )
            return
        UIMainLayout.tableWidgetBeforeLoad(form)
        l = len(jsonData['rows'])
        for i in range(l):
            form.statusbar.showMessage('Processing ' +
                                       os.path.basename(unicode(fileName)) +
                                       ' (item ' + str(i + 1) + ' of ' +
                                       str(l) + ')')
            form.tableWidget.insertRow(i)
            for j in range(len(jsonData['rows'][i])):
                itemValue = jsonData['rows'][i][j]
                if itemValue:
                    if form.ig.columnsHeaders[j]['type'] == 'String':
                        form.tableWidget.setItem(
                            i, j, QtGui.QTableWidgetItem(unicode(itemValue)))
                    else:
                        form.tableWidget.setItem(i, j, QCI(itemValue))
                # else:
                #     form.tableWidget.setItem(i, j, QtGui.QTableWidgetItem(''))
        form.statusbar.showMessage('Load complete')
        UIMainLayout.tableWidgetAfterLoad(form)
def setItemDpsPdpsEdpsFdpsLdpsCdpsChDps(form, itemIndex,
                                        dataPropertiesImplicitExplicit):
    valueType = unicode(
        form.tableWidget.item(itemIndex,
                              form.ig.columnNameToIndex['Type']).text())
    valueRarity = form.tableWidget.item(
        itemIndex, form.ig.columnNameToIndex['Rarity']).text()
    if 'H Weapon' in valueType and ('Rare' in valueRarity
                                    or 'Unique' in valueRarity):
        dataQuality = form.tableWidget.item(
            itemIndex, form.ig.columnNameToIndex['Quality'])
        if dataQuality:
            dataQuality = dataQuality.text()
        else:
            dataQuality = '0'
        dataQuality = 'Quality: +' + dataQuality + '\n'
        data = dataQuality + unicode(
            form.tableWidget.item(
                itemIndex, form.ig.
                columnNameToIndex['PropertiesImplicitExplicit']).text())
        _dpsCalc = dpsCalc.dpsCalc()
        if _dpsCalc.Calc(unicode(data)):
            if _dpsCalc.totalDPS:
                form.tableWidget.setItem(itemIndex,
                                         form.ig.columnNameToIndex['DPS'],
                                         QCI(_dpsCalc.totalDPS))
            if _dpsCalc.valueElemental:
                form.tableWidget.setItem(itemIndex,
                                         form.ig.columnNameToIndex['eDPS'],
                                         QCI(_dpsCalc.valueElemental))
            if _dpsCalc.valuePhysical:
                form.tableWidget.setItem(itemIndex,
                                         form.ig.columnNameToIndex['pDPS'],
                                         QCI(_dpsCalc.valuePhysical))
            if _dpsCalc.valueFire:
                form.tableWidget.setItem(itemIndex,
                                         form.ig.columnNameToIndex['fDPS'],
                                         QCI(_dpsCalc.valueFire))
            if _dpsCalc.valueLightning:
                form.tableWidget.setItem(itemIndex,
                                         form.ig.columnNameToIndex['lDPS'],
                                         QCI(_dpsCalc.valueLightning))
            if _dpsCalc.valueCold:
                form.tableWidget.setItem(itemIndex,
                                         form.ig.columnNameToIndex['cDPS'],
                                         QCI(_dpsCalc.valueCold))
            if _dpsCalc.valueChaos:
                form.tableWidget.setItem(itemIndex,
                                         form.ig.columnNameToIndex['ChDPS'],
                                         QCI(_dpsCalc.valueChaos))
        else:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['DPS'],
                                     QtGui.QTableWidgetItem('0'))
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['eDPS'],
                                     QtGui.QTableWidgetItem('0'))
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['pDPS'],
                                     QtGui.QTableWidgetItem('0'))
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['fDPS'],
                                     QtGui.QTableWidgetItem('0'))
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['lDPS'],
                                     QtGui.QTableWidgetItem('0'))
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['cDPS'],
                                     QtGui.QTableWidgetItem('0'))
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['ChDPS'],
                                     QtGui.QTableWidgetItem('0'))
Ejemplo n.º 7
0
def setItemResistances(form, itemIndex, dataPropertiesImplicitExplicitLines, dataPropertiesImplicitExplicitLinesList, typeName):
    if dataPropertiesImplicitExplicitLinesList:
        if dataPropertiesImplicitExplicitLines.find('Resistance') >= 0:
            temp = dataPropertiesImplicitExplicitLinesList
            dataAll = []
            dataF = []
            dataL = []
            dataC = []
            dataCh = []
            valueTotal = 0
            valueAll = 0
            valueF = 0
            valueL = 0
            valueC = 0
            valueCh = 0
            for i in range (len(temp)):
                if typeName == 'Essence':
                    break
                if ('% to' in temp[i]) and ('Fire' in temp[i]) and ('Resistance' in temp[i]) and not ('enemies' in temp[i]):
                    dataF.append(int(temp[i].split('%')[0]))
                if ('% to' in temp[i]) and ('Lightning' in temp[i]) and ('Resistance' in temp[i]) and not ('enemies' in temp[i]):
                    dataL.append(int(temp[i].split('%')[0]))
                if ('% to' in temp[i]) and ('Cold' in temp[i]) and ('Resistance' in temp[i]) and not ('enemies' in temp[i]):
                    dataC.append(int(temp[i].split('%')[0]))
                if ('% to' in temp[i]) and ('Chaos' in temp[i]) and ('Resistance' in temp[i]):
                    dataCh.append(int(temp[i].split('%')[0]))
                elif ('% to all Elemental Resistances' in temp[i]) and not ('nearby' in temp[i]) and not ('Minions' in temp[i]) and not ('Totems' in temp[i]):
                    dataAll.append(int(temp[i].split('%')[0]))
            if dataAll:
                valueAll = sum(dataAll)
            if dataF:
                valueF = sum(dataF) + valueAll
            else:
                valueF = valueAll
            if dataL:
                valueL = sum(dataL) + valueAll
            else:
                valueL = valueAll
            if dataC:
                valueC = sum(dataC) + valueAll
            else:
                valueC = valueAll
            if dataCh:
                valueCh = sum(dataCh)
            valueTotal = valueF + valueL + valueC + valueCh

            if valueTotal:
                form.tableWidget.setItem(itemIndex, form.ig.columnNameToIndex['resTotal'], QCI(valueTotal))
            if valueAll:
                form.tableWidget.setItem(itemIndex, form.ig.columnNameToIndex['resAll'], QCI(valueAll))
            if valueF:
                form.tableWidget.setItem(itemIndex, form.ig.columnNameToIndex['resF'], QCI(valueF))
            if valueL:
                form.tableWidget.setItem(itemIndex, form.ig.columnNameToIndex['resL'], QCI(valueL))
            if valueC:
                form.tableWidget.setItem(itemIndex, form.ig.columnNameToIndex['resC'], QCI(valueC))
            if valueCh:
                form.tableWidget.setItem(itemIndex, form.ig.columnNameToIndex['resCh'], QCI(valueCh))
def setItemArmEvEsChtbGcscGcsmCscfsCspSpdQty(
        form, itemIndex, dataPropertiesImplicitExplicitLinesList, typeName):
    if dataPropertiesImplicitExplicitLinesList:
        temp = dataPropertiesImplicitExplicitLinesList
        valueArmour = 0
        valueEvasion = 0
        valueEnergyShield = 0
        valueChanceToBlock = 0
        dataGcsc = []
        dataGcsm = []
        dataCscfs = []
        dataCsp = []
        dataSpd = []
        valueGcsc = 0
        valueGcsm = 0
        valueCscfs = 0
        valueCsp = 0
        valueSpd = 0
        valueStackQuantity = None
        for i in range(len(temp)):
            if 'Stack Size' in temp[i]:
                valueStackQuantity = int(temp[i].split(':')[1].split('/')[0])
                continue
            if typeName == 'Essence':
                break
            if 'Armour:' in temp[i]:
                valueArmour = int(temp[i].split(':')[1].split('%')[0])
                continue
            if 'Evasion Rating:' in temp[i]:
                valueEvasion = int(temp[i].split(':')[1].split('%')[0])
                continue
            if 'Energy Shield:' in temp[i]:
                valueEnergyShield = int(temp[i].split(':')[1].split('%')[0])
                continue
            if 'Chance to Block:' in temp[i]:
                valueChanceToBlock = int(temp[i].split(':')[1].split('%')[0])
                continue
            if '% increased Global Critical Strike Chance' in temp[i]:
                dataGcsc.append(int(temp[i].split('%')[0]))
                continue
            if '% to Global Critical Strike Multiplier' in temp[i]:
                dataGcsm.append(int(temp[i].split('%')[0]))
                continue
            if '% increased Critical Strike Chance for Spells' in temp[i]:
                dataCscfs.append(int(temp[i].split('%')[0]))
                continue
            if ('% increased Cast Speed' in temp[i]
                ) and not ('Minions' in temp[i]) and not ('nearby' in temp[i]):
                dataCsp.append(int(temp[i].split('%')[0]))
                continue
            if '% increased Spell Damage' in temp[i]:
                dataSpd.append(int(temp[i].split('%')[0]))
                continue

        if dataGcsc:
            valueGcsc = sum(dataGcsc)

        if dataGcsm:
            valueGcsm = sum(dataGcsm)

        if dataCscfs:
            valueCscfs = sum(dataCscfs)

        if dataCsp:
            valueCsp = sum(dataCsp)

        if dataSpd:
            valueSpd = sum(dataSpd)

        #non stackable currency
        if typeName == 'Currency' and not valueStackQuantity:
            valueStackQuantity = 1

        if valueArmour:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['Arm'],
                                     QCI(valueArmour))
        if valueEvasion:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['Ev'],
                                     QCI(valueEvasion))
        if valueEnergyShield:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['ES'],
                                     QCI(valueEnergyShield))
        if valueChanceToBlock:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['ChtB'],
                                     QCI(valueChanceToBlock))
        if valueGcsc:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['GcsC'],
                                     QCI(valueGcsc))
        if valueGcsm:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['GcsM'],
                                     QCI(valueGcsm))
        if valueCscfs:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['CscfS'],
                                     QCI(valueCscfs))
        if valueCsp:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['Csp'],
                                     QCI(valueCsp))
        if valueSpd:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['SpD'],
                                     QCI(valueSpd))
        if valueStackQuantity:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['Qty'],
                                     QCI(valueStackQuantity))
Ejemplo n.º 9
0
def setItemSockets(form, itemIndex):
    if form.stashTabJson['items'][itemIndex].has_key('sockets'):
        valueColorStr = 0
        valueColorDex = 0
        valueColorInt = 0
        valueColorWhite = 0
        groups = [0] * 7
        colors = [0] * 7
        valueMaxLinked = 0
        valueSocketsCount = len(
            form.stashTabJson['items'][itemIndex]['sockets'])
        dataVisualSockets = []
        valueVisualSockets = ''
        for i in range(valueSocketsCount):
            tempGroup = form.stashTabJson['items'][itemIndex]['sockets'][i][
                'group']
            tempColor = form.stashTabJson['items'][itemIndex]['sockets'][i][
                'attr']
            if tempColor == 'S': valueColorStr += 1
            elif tempColor == 'D': valueColorDex += 1
            elif tempColor == 'I': valueColorInt += 1
            else: valueColorWhite += 1
            groups[tempGroup] += 1
            if colors[tempGroup] == 0:
                colors[tempGroup] = tempColor
            else:
                colors[tempGroup] += ('-' + tempColor)
        for i in range(len(colors)):
            if colors[i] != 0:
                dataVisualSockets.append(colors[i])
        l = len(dataVisualSockets)
        for i in range(l):
            if i < (l - 1):
                if len(dataVisualSockets[i]) > 1:
                    valueVisualSockets = valueVisualSockets + dataVisualSockets[
                        i] + ',\n'
                else:
                    valueVisualSockets = valueVisualSockets + dataVisualSockets[
                        i] + ', '
            else:
                valueVisualSockets = valueVisualSockets + dataVisualSockets[i]
        valueMaxGroups = max(groups)
        if valueMaxGroups > 1:
            valueMaxLinked = valueMaxGroups

        if valueSocketsCount:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['Sockets'],
                                     QCI(valueSocketsCount))
        if valueMaxLinked:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['Linked'],
                                     QCI(valueMaxLinked))
        if valueVisualSockets:
            form.tableWidget.setItem(
                itemIndex, form.ig.columnNameToIndex['LinksVisual'],
                QtGui.QTableWidgetItem(str(valueVisualSockets)))
        if valueColorStr:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['sStr'],
                                     QCI(valueColorStr))
        if valueColorDex:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['sDex'],
                                     QCI(valueColorDex))
        if valueColorInt:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['sInt'],
                                     QCI(valueColorInt))
        if valueColorWhite:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['sWh'],
                                     QCI(valueColorWhite))
Ejemplo n.º 10
0
def setItemAttributesLifeMana(form, itemIndex,
                              dataPropertiesImplicitExplicitLinesList,
                              typeName):
    if dataPropertiesImplicitExplicitLinesList:
        temp = dataPropertiesImplicitExplicitLinesList
        dataAll = []
        dataS = []
        dataD = []
        dataI = []
        valueTotal = 0
        valueAll = 0
        valueS = 0
        valueD = 0
        valueI = 0
        dataLifeAll = []
        dataManaAll = []
        valueLifeTotal = 0
        valueManaTotal = 0
        for i in range(len(temp)):
            if typeName == 'Essence':
                break
            if (' to ' in temp[i]) and (
                    'Strength'
                    in temp[i]) and not ('Level' in temp[i]) and not (
                        "Strength's" in temp[i]) and not ('Transformed'
                                                          in temp[i]):
                dataS.append(int(temp[i].split(' to ')[0]))
            if (' to ' in temp[i]) and ('Dexterity' in temp[i]) and not (
                    'Level'
                    in temp[i]) and not ('Transformed' in temp[i]) and not (
                        'per' in temp[i]) and not ('least' in temp[i]):
                dataD.append(int(temp[i].split(' to ')[0]))
            if (' to ' in temp[i]) and ('Intelligence' in temp[i]) and not (
                    'Level' in temp[i]) and not ('Transformed' in temp[i]):
                dataI.append(int(temp[i].split(' to ')[0]))
            elif (' to all Attributes' in temp[i]):
                dataAll.append(int(temp[i].split(' to ')[0]))
            if ' to maximum Life' in temp[i]:
                dataLifeAll.append(int(temp[i].split(' to ')[0]))
                continue
            if ' to maximum Mana' in temp[i]:
                dataManaAll.append(int(temp[i].split(' to ')[0]))
                continue
        if dataAll:
            valueAll = sum(dataAll)
        if dataS:
            valueS = sum(dataS) + valueAll
        else:
            valueS = valueAll
        if dataD:
            valueD = sum(dataD) + valueAll
        else:
            valueD = valueAll
        if dataI:
            valueI = sum(dataI) + valueAll
        else:
            valueI = valueAll
        if dataLifeAll:
            valueLifeTotal = sum(dataLifeAll)
        if dataManaAll:
            valueManaTotal = sum(dataLifeAll)
        valueTotal = valueS + valueD + valueI
        valueLifeTotal = valueLifeTotal + (valueS / 2)
        valueManaTotal = valueManaTotal + (valueI / 2)

        if valueTotal:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['toAttrTotal'],
                                     QCI(valueTotal))
        if valueS:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['toStr'],
                                     QCI(valueS))
        if valueD:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['toDex'],
                                     QCI(valueD))
        if valueI:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['toInt'],
                                     QCI(valueI))
        if valueLifeTotal:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['toMaxLife'],
                                     QCI(valueLifeTotal))
        if valueManaTotal:
            form.tableWidget.setItem(itemIndex,
                                     form.ig.columnNameToIndex['toMaxMana'],
                                     QCI(valueManaTotal))
Ejemplo n.º 11
0
    def setItem(self, itemIndex):

        #Name ('name' + 'typeLine')
        #start = time()
        self.tableWidget.setItem(
            itemIndex, self.ig.columnNameToIndex['Name'],
            QtGui.QTableWidgetItem(
                items.setItemNameAndTypeLine(self, itemIndex)))
        #print 'Name ' + str(tools.printTime(start))

        #Type
        #start = time()
        self.tableWidget.setItem(
            itemIndex, self.ig.columnNameToIndex['Type'],
            QtGui.QTableWidgetItem(items.setItemType(self, itemIndex)))
        #print 'Type ' + str(tools.printTime(start))

        #Location
        #start = time()
        self.tableWidget.setItem(
            itemIndex, self.ig.columnNameToIndex['Location'],
            QtGui.QTableWidgetItem(items.setItemLocation(self, itemIndex)))
        #print 'Location ' + str(tools.printTime(start))

        #iLvl
        #start = time()
        value = items.setIlvl(self, itemIndex)
        if value:
            self.tableWidget.setItem(itemIndex,
                                     self.ig.columnNameToIndex['iLvl'],
                                     QCI(value))
        #print 'iLvl ' + str(tools.printTime(start))

        #Rarity
        #start = time()
        self.tableWidget.setItem(
            itemIndex, self.ig.columnNameToIndex['Rarity'],
            QtGui.QTableWidgetItem(items.setItemRarity(self, itemIndex)))
        #print 'Rarity ' + str(tools.printTime(start))

        #Quality
        #start = time()
        value = items.setItemQuality(self, itemIndex)
        if value:
            self.tableWidget.setItem(itemIndex,
                                     self.ig.columnNameToIndex['Quality'],
                                     QCI(value))
        #print 'Quality ' + str(tools.printTime(start))

        #Requirements
        #start = time()
        setItemRequirements(self, itemIndex)
        #print 'Requirements ' + str(tools.printTime(start))

        #Properties
        #start = time()
        self.tableWidget.setItem(
            itemIndex, self.ig.columnNameToIndex['Properties'],
            QtGui.QTableWidgetItem(items.setItemProperties(self, itemIndex)))
        #print 'Properties ' + str(tools.printTime(start))

        #Implicit modifiers
        #start = time()
        self.tableWidget.setItem(
            itemIndex, self.ig.columnNameToIndex['Implicit Modifiers'],
            QtGui.QTableWidgetItem(
                items.setItemImplicitModifiers(self, itemIndex)))
        #print 'Implicit modifiers ' + str(tools.printTime(start))

        #Explicit modifiers
        #start = time()
        self.tableWidget.setItem(
            itemIndex, self.ig.columnNameToIndex['Explicit Modifiers'],
            QtGui.QTableWidgetItem(
                items.setItemExplicitModifiers(self, itemIndex)))
        #print 'Explicit modifiers ' + str(tools.printTime(start))

        #PropertiesImplicitExplicit
        #start = time()
        self.tableWidget.setItem(
            itemIndex, self.ig.columnNameToIndex['PropertiesImplicitExplicit'],
            QtGui.QTableWidgetItem(
                setItemPropertiesImplicitExplicit(self, itemIndex)))
        #print 'PropertiesImplicitExplicit ' + str(tools.printTime(start))

        # Calculated columns
        if self.ig.jsonConfig['common']['calculateSpecifiedColumns']:

            #get required values
            propertiesImplicitExplicitLines = unicode(
                self.tableWidget.item(
                    itemIndex, self.ig.
                    columnNameToIndex['PropertiesImplicitExplicit']).text())
            propertiesImplicitExplicitLinesList = propertiesImplicitExplicitLines.splitlines(
            )
            typeName = unicode(
                self.tableWidget.item(
                    itemIndex, self.ig.columnNameToIndex['Type']).text())

            #dpsPdpsEdpsFdpsLdpsCdpsChDps
            #start = time()
            setItemDpsPdpsEdpsFdpsLdpsCdpsChDps(
                self, itemIndex, propertiesImplicitExplicitLines)
            #print 'dpsPdpsEdpsFdpsLdpsCdpsChDps ' + str(tools.printTime(start))
            #self.tableWidget.setItem(itemIndex, self.ig.columnNameToIndex['Type'], QtGui.QTableWidgetItem(items.setItemType(self, itemIndex)))

            #APS, Critical Strike Chance
            #start = time()
            setItemApsCsch(self, itemIndex,
                           propertiesImplicitExplicitLinesList)
            #print 'APS, Critical Strike Chance ' + str(tools.printTime(start))

            #all Resistances (resTotal, resAll, resF, resL, resC, resCh), values for Fire, Lightning, Cold resistances includes value from '% to all elemental resistances' modifier
            #start = time()
            setItemResistances(self, itemIndex,
                               propertiesImplicitExplicitLines,
                               propertiesImplicitExplicitLinesList, typeName)
            #print 'all Resistances ' + str(tools.printTime(start))

            #all Attributes (toAttrTotal, toStr, toDex, toInt), values for Str, Dex, Int attributes includes value from 'to all Attributes' modifier
            #start = time()
            setItemAttributesLifeMana(self, itemIndex,
                                      propertiesImplicitExplicitLinesList,
                                      typeName)
            #print 'all Attributes ' + str(tools.printTime(start))

            #Armour, Evasion, Energy Shield, Chance to Block, Global Critical Strike Chance, Global Critical Strike Multiplier, Critical Strike Chance for Spells, Cast Speed, Spell Damage
            #start = time()
            setItemArmEvEsChtbGcscGcsmCscfsCspSpdQty(
                self, itemIndex, propertiesImplicitExplicitLinesList, typeName)
            #print 'Armour, Evasion, Energy Shield ' + str(tools.printTime(start))

            #all Sockets
            #start = time()
            setItemSockets(self, itemIndex)
            #print 'all Sockets ' + str(tools.printTime(start))

            #MapTier
            #start = time()
            setItemMapTier(self, itemIndex,
                           propertiesImplicitExplicitLinesList, typeName)