Add ammo display when relevant as well as icons for the stats

This commit is contained in:
cncfanatics
2010-10-04 16:26:05 +02:00
parent 1ee8f481d6
commit c5e69816fa
5 changed files with 30 additions and 10 deletions

View File

@@ -8,7 +8,7 @@ class ItemStats(ContextMenu):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
def display(self, context, selection):
return context in ("ship", "module")
return context in ("item", "ship", "module", "ammo")
def getText(self, context, selection):
return "%s stats" % context.capitalize()
@@ -18,6 +18,8 @@ class ItemStats(ContextMenu):
fitID = self.mainFrame.getActiveFit()
cFit = service.Fit.getInstance()
stuff = cFit.getFit(fitID).ship
elif context == "ammo":
stuff = selection[0].charge
else:
stuff = selection[0]

View File

@@ -118,9 +118,17 @@ class FittingView(d.Display):
cFit = service.Fit.getInstance()
selection = []
sel = self.GetFirstSelected()
ammo = False
while sel != -1:
selection.append(self.mods[self.GetItemData(sel)])
mod = self.mods[self.GetItemData(sel)]
if ammo is False and mod.charge is not None:
ammo = True
selection.append(mod)
sel = self.GetNextSelected(sel)
menu = ContextMenu.getMenu(selection, "module", "ship")
if ammo:
menu = ContextMenu.getMenu(selection, "module", "ammo", "ship")
else:
menu = ContextMenu.getMenu(selection, "module", "ship")
self.PopupMenu(menu)

View File

@@ -41,7 +41,10 @@ class ItemStatsDialog(wx.Dialog):
item = getattr(victim, "item", None)
if item is None:
item = victim
victim = None
if item.icon is not None:
self.SetIcon(wx.IconFromBitmap(bitmapLoader.getBitmap(item.icon.iconFile, "pack")))
self.SetTitle("Item Stats: %s" % item.name)
self.SetMinSize((500, 300))
@@ -118,7 +121,7 @@ class ItemParams (wx.Panel):
for name, attr in attrs.iteritems():
index = self.paramList.InsertStringItem(sys.maxint, name)
self.paramList.SetStringItem(index, 1, str(attr))
self.paramList.SetStringItem(index, 1, str(attr) if stuff is not None else str(attr.value))
self.Layout()
###########################################################################

View File

@@ -23,6 +23,7 @@ import wx.lib.newevent
import service
import bitmapLoader
import gui.mainFrame
from gui.contextMenu import ContextMenu
ItemSelected, ITEM_SELECTED = wx.lib.newevent.NewEvent()
@@ -314,13 +315,16 @@ class MarketBrowser(wx.Panel):
def contextMenu(self, event):
#Check if something is selected, if so, spawn the menu for it
selection = self.itemView.GetFirstSelected()
if selection == -1:
return
sel = self.itemView.GetFirstSelected()
selection = []
cMarket = service.Market.getInstance()
while sel != -1:
itemId = self.itemView.GetItemData(sel)
sel = self.itemView.GetNextSelected(sel)
selection.append(cMarket.getItem(itemId))
itemId = self.itemView.GetItemData(selection)
self.itemStatsMenu.setItem(itemId)
self.PopupMenu(self.itemStatsMenu)
menu = ContextMenu.getMenu(selection, "item")
self.PopupMenu(menu)
def itemActivated(self, event):
id = event.Item.GetData()

View File

@@ -167,6 +167,9 @@ class Market():
def getImplantTree(self):
return self.getChildren(27)
def getItem(self, itemId):
return eos.db.getItem(itemId)
def getMarketRoot(self):
"""
Get the root of the market tree.