Add ammo display when relevant as well as icons for the stats
This commit is contained in:
@@ -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]
|
||||
|
||||
|
||||
@@ -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)
|
||||
@@ -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()
|
||||
|
||||
###########################################################################
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user