Price listing price panel
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user