Price listing price panel

This commit is contained in:
petosorus
2016-11-27 11:10:33 +01:00
parent 48ccc7ff06
commit fcd934319d
2 changed files with 46 additions and 19 deletions

View File

@@ -18,6 +18,7 @@
#===============================================================================
import wx
import gui.mainFrame
from gui.statsView import StatsView
from gui import builtinStatsViews
from gui.bitmapLoader import BitmapLoader
@@ -74,30 +75,51 @@ class PriceViewFull(StatsView):
self.priceChoice = wx.Choice(contentPanel, choices=Price.systemsList.keys())
contentSizer.Add(self.priceChoice, 1, wx.RIGHT | wx.LEFT, 3)
self.priceChoice.SetStringSelection("Jita")
self.priceChoice.Bind(wx.EVT_CHOICE, self.priceSelection)
def priceSelection(self, event):
Price.currentSystemId = Price.systemsList.get(self.priceChoice.GetString(self.priceChoice.GetSelection()))
mainFrame = gui.mainFrame.MainFrame.getInstance()
sFit = service.Fit.getInstance()
fit = sFit.getFit(mainFrame.getActiveFit())
typeIDs = self.fitItemsList(fit)
sMkt = service.Market.getInstance()
sMkt.getPrices(typeIDs, Price.invalidPrices)
self.refreshPanel(fit);
def fitItemsList(self, fit):
# Compose a list of all the data we need & request it
typeIDs = []
typeIDs.append(fit.ship.item.ID)
for mod in fit.modules:
if not mod.isEmpty:
typeIDs.append(mod.itemID)
for drone in fit.drones:
for _ in xrange(drone.amount):
typeIDs.append(drone.itemID)
for fighter in fit.fighters:
for _ in xrange(fighter.amountActive):
typeIDs.append(fighter.itemID)
for cargo in fit.cargo:
for _ in xrange(cargo.amount):
typeIDs.append(cargo.itemID)
return typeIDs
def refreshPanel(self, fit):
if fit is not None:
self.fit = fit
# Compose a list of all the data we need & request it
typeIDs = []
typeIDs.append(fit.ship.item.ID)
for mod in fit.modules:
if not mod.isEmpty:
typeIDs.append(mod.itemID)
for drone in fit.drones:
for _ in xrange(drone.amount):
typeIDs.append(drone.itemID)
for fighter in fit.fighters:
for _ in xrange(fighter.amountActive):
typeIDs.append(fighter.itemID)
for cargo in fit.cargo:
for _ in xrange(cargo.amount):
typeIDs.append(cargo.itemID)
typeIDs = self.fitItemsList(fit)
sMkt = service.Market.getInstance()
sMkt.getPrices(typeIDs, self.processPrices)

View File

@@ -37,7 +37,12 @@ class Price():
"Hek": 30002053
}
currentSystemId = systemsList.get("Jita")
currentSystemId = ""
@classmethod
def invalidPrices(self, prices):
for price in prices:
price.time = 0
@classmethod
def fetchPrices(cls, prices):