Make sure to not die when a bitmap doesn't exist
This commit is contained in:
@@ -38,8 +38,3 @@ def getBitmap(name,location):
|
||||
|
||||
if os.path.exists(path):
|
||||
return wx.Image(path).ConvertToBitmap()
|
||||
else:
|
||||
null = wx.NullBitmap
|
||||
null.SetWidth(32)
|
||||
null.SetHeight(32)
|
||||
return null
|
||||
|
||||
@@ -24,13 +24,14 @@ from gui.statsPane import StatsPane
|
||||
class FitMultiSwitch(wx.Notebook):
|
||||
def __init__(self, parent):
|
||||
wx.Notebook.__init__(self, parent, wx.ID_ANY)
|
||||
self.fitPanes = []
|
||||
self.AddPage(wx.Panel(self), "+")
|
||||
|
||||
def AddTab(self):
|
||||
p = wx.Panel(self)
|
||||
sizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
|
||||
sizer.Add(FittingView(p), 1, wx.EXPAND)
|
||||
sizer.Add(FittingView(p), 1, wx.EXPAND | wx.RESERVE_SPACE_EVEN_IF_HIDDEN)
|
||||
|
||||
p.SetSizer(sizer)
|
||||
pos = self.GetPageCount() - 1
|
||||
|
||||
@@ -61,8 +61,7 @@ class MarketBrowser(wx.Panel):
|
||||
|
||||
root = cMarket.getMarketRoot()
|
||||
for id, name, iconFile in root:
|
||||
if iconFile: iconId = self.marketImageList.Add(bitmapLoader.getBitmap(iconFile, "pack"))
|
||||
else: iconId = -1
|
||||
iconId = self.addMarketViewImage(iconFile)
|
||||
childId = self.marketView.AppendItem(self.marketRoot, name, iconId, data=wx.TreeItemData(id))
|
||||
self.marketView.AppendItem(childId, "dummy")
|
||||
|
||||
@@ -72,6 +71,24 @@ class MarketBrowser(wx.Panel):
|
||||
self.marketView.Bind(wx.EVT_TREE_ITEM_EXPANDING, self.expandLookup)
|
||||
self.marketView.Bind(wx.EVT_TREE_SEL_CHANGED, self.selectionMade)
|
||||
|
||||
def addMarketViewImage(self, iconFile):
|
||||
if iconFile is None:
|
||||
return -1
|
||||
bitmap = bitmapLoader.getBitmap(iconFile, "pack")
|
||||
if bitmap is None:
|
||||
return -1
|
||||
else:
|
||||
return self.marketImageList.Add(bitmap)
|
||||
|
||||
def addItemViewImage(self, iconFile):
|
||||
if iconFile is None:
|
||||
return -1
|
||||
bitmap = bitmapLoader.getBitmap(iconFile, "pack")
|
||||
if bitmap is None:
|
||||
return -1
|
||||
else:
|
||||
return self.itemImageList.Add(bitmap)
|
||||
|
||||
def expandLookup(self, event):
|
||||
root = event.Item
|
||||
child, cookie = self.marketView.GetFirstChild(root)
|
||||
@@ -82,8 +99,7 @@ class MarketBrowser(wx.Panel):
|
||||
|
||||
#Add 'real stoof!' instead
|
||||
for id, name, iconFile, more in cMarket.getChildren(self.marketView.GetPyData(root)):
|
||||
if iconFile: iconId = self.marketImageList.Add(bitmapLoader.getBitmap(iconFile, "pack"))
|
||||
else: iconId = -1
|
||||
iconId = self.addMarketViewImage(iconFile)
|
||||
childId = self.marketView.AppendItem(root, name, iconId, data=wx.TreeItemData(id))
|
||||
if more:
|
||||
self.marketView.AppendItem(childId, "dummy")
|
||||
@@ -103,9 +119,7 @@ class MarketBrowser(wx.Panel):
|
||||
idNameMap = {}
|
||||
|
||||
for id, name, iconFile in cMarket.getItems(self.marketView.GetPyData(root)):
|
||||
if iconFile: iconId = self.itemImageList.Add(bitmapLoader.getBitmap(iconFile, "pack"))
|
||||
else: iconId = -1
|
||||
|
||||
iconId = self.addItemViewImage(iconFile)
|
||||
index = self.itemView.InsertImageStringItem(sys.maxint, name, iconId)
|
||||
idNameMap[id] = name
|
||||
self.itemView.SetItemData(index, id)
|
||||
|
||||
Reference in New Issue
Block a user