Price listing price panel
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|
||||||
import wx
|
import wx
|
||||||
|
import gui.mainFrame
|
||||||
from gui.statsView import StatsView
|
from gui.statsView import StatsView
|
||||||
from gui import builtinStatsViews
|
from gui import builtinStatsViews
|
||||||
from gui.bitmapLoader import BitmapLoader
|
from gui.bitmapLoader import BitmapLoader
|
||||||
@@ -74,30 +75,51 @@ class PriceViewFull(StatsView):
|
|||||||
self.priceChoice = wx.Choice(contentPanel, choices=Price.systemsList.keys())
|
self.priceChoice = wx.Choice(contentPanel, choices=Price.systemsList.keys())
|
||||||
contentSizer.Add(self.priceChoice, 1, wx.RIGHT | wx.LEFT, 3)
|
contentSizer.Add(self.priceChoice, 1, wx.RIGHT | wx.LEFT, 3)
|
||||||
self.priceChoice.SetStringSelection("Jita")
|
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()))
|
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):
|
def refreshPanel(self, fit):
|
||||||
if fit is not None:
|
if fit is not None:
|
||||||
self.fit = fit
|
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:
|
typeIDs = self.fitItemsList(fit)
|
||||||
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)
|
|
||||||
|
|
||||||
sMkt = service.Market.getInstance()
|
sMkt = service.Market.getInstance()
|
||||||
sMkt.getPrices(typeIDs, self.processPrices)
|
sMkt.getPrices(typeIDs, self.processPrices)
|
||||||
|
|||||||
@@ -37,7 +37,12 @@ class Price():
|
|||||||
"Hek": 30002053
|
"Hek": 30002053
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSystemId = systemsList.get("Jita")
|
currentSystemId = ""
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def invalidPrices(self, prices):
|
||||||
|
for price in prices:
|
||||||
|
price.time = 0
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def fetchPrices(cls, prices):
|
def fetchPrices(cls, prices):
|
||||||
|
|||||||
Reference in New Issue
Block a user